{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 255,
    "slug": "screens-by-thomas-lin-pedersen",
    "title": "Screens",
    "artistCredit": "Thomas Lin Pedersen",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/thomas-lin-pedersen/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Screens makes space out of surfaces that never quite become solid objects. Curved walls sweep across other walls; straight panels rise like partitions; pale openings cut into dark faces. The grain that covers them is simultaneously a description of shade and an interruption of it. At a distance, the inspected originals suggest architectural depth. Closer attention returns the eye to a printed surface, where speckles, uneven edges and displaced outlines refuse the smoothness of a computer model. [^S05][^S06][^S07][^S08][^S09]\n\nThomas Lin Pedersen released the 1,000-work series through Art Blocks Curated in January 2022. It is project 255 on its Ethereum contract. The platform statement names screen printing, Bauhaus, Constructivism and science-fiction cover imagery among its references. These are declared points of departure, not a licence to identify every output with a particular historical painting. The [Thomas Lin Pedersen dossier](https://ab5d.xyz/artists/thomas-lin-pedersen/) places the series within his wider practice. [^S01]\n\nThe title has a useful ambiguity. A screen can divide space, carry a printed image or display a digital one. In these works, thin upright faces suggest the first meaning, granular colour invokes the second, and the browser supplies the third. This reading comes from the visible encounter and the program's construction. No single interpretation has to displace the others. Their coexistence helps explain why the images can feel at once spatial and emphatically flat. [^S02][^S09]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "Pedersen identifies Screens as a continuation of Constructive, released in August 2021. The earlier series retained manually chosen overall compositions. He wanted the later system to sustain a longer generative edition. His account describes abandoning an initial flow-field idea in favour of geometric line families, then spending months refining the system after coding its central mechanism quickly. That account distinguishes an initial implementation from the prolonged work of controlling its possible results. [^S03]\n\nThe distinction is visible in the deployed code. Several drawing families share one treatment of intersections, extrusion and colour. Parameters are constrained in relation to one another, rather than selected as wholly independent decorations. The image is therefore not a random assortment of unrelated shapes. Differences emerge inside a common construction, and that construction continues to regulate the result even where the view appears crowded. [^S02]\n\nPedersen also explains that misalignment moved into the creation of each colour mask after a later transformation produced unwanted pixel degradation. His documentation cautions that traits describe potential, including geometry outside the visible frame. Both points are valuable: simulated imperfection is engineered, and a trait label cannot replace direct inspection of an image. [^S03]\n\nThe inspected #90 illustrates the latter distinction without requiring a rarity argument. Its upright, angular planes form a convincing spatial assembly, but the viewer cannot simply count those visible planes to recover every generating element. Some are concealed, some are cut by the frame, and some change appearance through colour. The picture is evidence of the system's consequences, not an exhaustive diagram of its internal state. [^S02][^S09]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete 13,676-byte indexed script was inspected. Its environment is recorded as js@na, and the program uses native JavaScript with Canvas 2D and WebGL rather than a named external drawing framework. A sequence of unsigned integers derived from the token hash seeds its repeatable decisions. Weighted choices select a palette and parameters for geometry, clipping, height, colour, texture and alignment. The evidence record preserves the retrieval query and digest; this inspection did not compare the script with a contract retrieval at a pinned block. [^S01][^S02]\n\nFive drawing procedures supply the initial line families. One describes circular arcs. Another produces parallel straight runs. A third follows square boundaries, introducing sharp changes of direction. A fourth creates radial curves, and a fifth uses control points to generate smooth splines. Some procedures stop a line when it approaches another line from the same family. The distinctions are geometric, not merely stylistic names applied after rendering. [^S02]\n\nA further selection determines how many instances of those procedures participate. Some arrangements concentrate on one instance; others place multiple instances of the same or different families together. This creates a useful separation between the character of an individual line and the organization of the whole field. Two curved families can interfere with one another differently from a curve and a straight family, even before any colour is applied. [^S02]\n\nThe program represents lines as linked small segments and searches for intersections. In one branch, crossing segments are split while their connections are retained. In another, one crossing line loses a short run around the intersection. An additional condition can protect a selected family from this cutting. Very short surviving fragments are removed. These operations help account for the notches and intervals visible between otherwise continuous-looking surfaces. They are made by the procedure, not painted over as an afterthought. [^S02]\n\nThe remaining lines are tilted in the viewing transformation and extended into upright faces. Height can be broadly tall, medium or thin, or vary by the generating family. Ordering those faces is essential: a later face must cover the appropriate part of an earlier one if the image is to sustain its spatial reading. The script builds a tree for that ordering before drawing. A seemingly casual stack of coloured partitions thus depends on explicit decisions about what sits in front of what. [^S02]\n\nColour operates through fourteen stored palettes and several assignment branches. Some relationships follow the generating family; others change along connected segments or use selected portions of a palette. A gradient belongs to a face before it becomes a field of grain. This matters aesthetically because lightness can suggest a turning surface even where its geometry is planar. The apparent lighting is not evidence of a physically simulated lamp shining on a complete building. [^S02]\n\nThe rendering combines two browser drawing systems. Canvas 2D prepares masks for individual colours. WebGL shader operations transform their tonal transitions using procedural noise, then combine the resulting colour with the accumulated image. Two intermediate textures alternate their roles during this accumulation. Alignment shifts are included while masks are drawn. Additional rules introduce irregular marks and distortions, making the surfaces less uniform without abandoning their underlying boundaries. [^S02]\n\nThe portrait proportion is fixed at one divided by the square root of two. Canvas dimensions and pixel density affect the actual raster used to display it. The script also contains a different supersampling setting for a headless browser. That is a reason to retain the viewing conditions in a preservation record: a repeatable token input does not establish pixel-for-pixel identity across every browser and device. The five originals below were viewed in the same 1280-by-720 browser window. [^S02]\n\nColour layers arrive automatically, with a delay between applied layers, and the procedure ends after the palette has been processed. Reloading #20 showed a plain ground followed by the completed composition. The code contains no continuing animation loop or audio implementation, and no viewer controls were found in the inspected script. The work has a finite process of appearance, followed by a still image. Preserving that opening process is different from inventing a perpetual motion effect. [^S02][^S08]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The index records the first token on 21 January 2022. The artist's release page identifies 31 January as the public launch date. The current record gives activation on 27 January, a scheduled start at 18:00 on 31 January, a second mint at 18:00:27 and completion at 18:36:20 that day. These fields name different events. The header uses the first indexed mint, while the release account concerns the later public launch. [^S01][^S03]\n\nThe observed invocation count and maximum are both 1,000. The current price setting is 1.25 ETH. That setting alone does not recover the original sale mechanism, every price paid or the classification of early mints. Subtracting the second-mint time from completion would give an interval between index entries, not an independently established public sellout duration. A fuller transaction and announcement history remains useful research. [^S01]\n\nThe project statement announces that a quarter of proceeds would support Den Blå Planet's marine-ecology work. This essay records the announcement as an intention; the inspected material does not supply receipts establishing its fulfillment. Likewise, the existence of an edition does not settle every question about its initial allocation. Keeping these claims proportionate to the sources avoids turning a platform description into evidence for events it does not document. [^S01]\n\nAB5D's #90 was identified by checking the token owner against all three linked collection wallets. Editions 0, 1, 10 and 20 form the early-edition comparison group. This small selection supports close reading and reproducible comparison. It cannot establish how frequently a palette, shape or compositional relationship occurs across all 1,000 works. [^S01][^S05][^S06][^S07][^S08][^S09]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current artwork label is CC BY-NC 4.0. The index supplies no project-specific terms link, so the corresponding Creative Commons deed is cited separately. It permits sharing and adaptation subject to attribution, indication of changes and a noncommercial condition. The label is evidence of the current record, not a reconstructed history of every earlier licence statement. [^S01][^S10]\n\nThe script credits noise routines from stegu/webgl-noise and states that permission was obtained. That upstream repository carries an MIT licence. The dependency's permission does not establish a separate, comprehensive reuse grant for Pedersen's complete artist program. The indexed script has been analysed but is not republished with this essay. AB5D's CC0 dedication applies to its original prose; artwork and software rights remain separately identified. [^S02][^S04]"
    },
    {
      "id": "examples",
      "heading": "Close reading of five outputs",
      "bodyMarkdown": "In #0, curved panels crowd a borderless portrait field. Ochre, muted blue, orange and pale green are interrupted by cream and black faces. Near the upper middle, a pale triangular taper meets a dark one, compressing the apparent passage between larger surfaces. Below, another curved assembly grows out of the frame's bottom edge. The cropping prevents the image from becoming a self-contained object surrounded by empty space. It seems to continue beyond the available view. [^S05]\n\nThe ochre interval crossing the middle is especially important. It gives the eye a route between the denser upper and lower groups, yet the route is repeatedly obstructed by upright coloured strips. Speckled transitions can make a pale face appear to curl toward darkness, then reveal themselves as patches of contrasting grain. The image rewards this alternation between reading depth and noticing the surface that produces it. The texture does not simply soften a finished model; it participates in the uncertainty of the space. [^S05]\n\nIn #1, a cream border contains a much darker assembly. Cobalt arcs dominate the upper region, with black and pale diagonals interrupting them. Red panels cross the middle, while yellow becomes stronger toward the lower right. A broad pale curved band runs across the central area, with a dark band beneath it. These repeated sweeps give the picture an enclosing rhythm, as though the viewer were looking into a succession of curved partitions. That architectural resemblance is a visual interpretation, not the identification of a represented building. [^S06]\n\nThe interruptions prevent the rhythm from becoming easy. Narrow upright pieces cut across the sweeps; a pale face suddenly ends against red; black masses conceal the connections the eye expects to find. Looking from bottom to top, the viewer repeatedly reconstructs and loses a possible route through the image. Fine grain makes some transitions seem gradual, but the silhouettes remain abrupt. The result depends on the coexistence of continuity and obstruction, rather than on colour contrast alone. [^S06]\n\nIn #10, a large black face on the left and a broad pale-green sweep make the composition more monumental. Cream rectangular interruptions punctuate the green, and an ochre wedge enters at the lower left. A dark rectangular band crosses the lower central face. Compared with #0, fewer large visual masses dominate the encounter, although small planes remain visible behind them. Apparent simplicity here is an effect of scale and occlusion; it should not be mistaken for proof of fewer initial generating elements. [^S07]\n\nIn #20, blue occupies a broad upper and central region. Long cream-and-black strips curl upward through it, while red upright forms gather at the right. The narrow verticals low in the composition contrast with the expansive blue above. Small pale marks interrupt that blue without dissolving its continuity. The combination makes the open area feel active: it is crossed by rising curves and set against compressed structure below, rather than functioning as an indifferent background. [^S08]\n\nAB5D's #90 changes the balance through a strongly angular assembly. A large blue foreground plane stands beside a narrow mustard-to-black face. Orange occupies the upper left, pale green extends through the middle and right, and cream passages separate the planes. Thin dark outlines occasionally sit slightly apart from coloured edges. Their displacement is small enough to preserve the spatial reading but clear enough to recall registration differences in a print. [^S09]\n\nThe foreground is particularly persuasive because it offers incompatible cues. The narrow darkening face suggests depth at the edge of the blue plane, while the grain and displaced contours remind the eye that both are coloured marks on one surface. Rectilinear openings higher in the image repeat that negotiation at a smaller scale. Beside the curved works, #90 shows how the shared rendering method can hold together markedly different geometric relationships. Its interest is not that it illustrates every capability of the generator, but that its particular arrangement makes those competing cues unusually legible. [^S09]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Screens joins spatial construction to the behaviour of a printed image. Its planes require careful ordering, yet their appearance depends on colour masks, granular transitions and controlled displacement. The strongest inspected works let neither account become final. A viewer can enter the apparent space, then be returned to the surface by a rough edge or an unexpectedly flat patch of colour. That repeated change of attention is a specific accomplishment of the procedure. [^S02][^S05][^S06][^S09]\n\nThe finite rendering sequence also gives the finished image a visible history of assembly. It need not continue moving to make time relevant. Retaining the original renderer allows a viewer to encounter that construction, while a still preview records only its result. Both are useful, provided the archive identifies what each presents. [^S02][^S08]\n\nThe remaining research questions concern launch-era pricing and allocation, documentation of the announced donation, earlier rights statements, any separate artist-code grant and comparison with a pinned chain retrieval. More device testing and a broader selection of originals would strengthen the preservation and comparative accounts. These limits do not prevent close reading of the five works examined here; they define the evidence on which that reading rests. [^S01][^S02]"
    }
  ],
  "codeInspection": {
    "source": "projects_metadata.script",
    "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "query": "query { projects_metadata(where:{slug:{_eq:\"screens-by-thomas-lin-pedersen\"}}){id name artist_name project_id description website script script_type_and_version license link_to_license invocations max_invocations first_token_minted_at second_token_minted_at activated_at start_datetime completed_at price_per_token_in_wei sales_notes} }",
    "retrievedAt": "2026-09-18T12:51:45.293825+00:00",
    "byteLength": 13676,
    "sha256": "0fb836e0d334b6a78e46aebb43877484e222d413779af0310b58905f0c80d79e",
    "runtime": "js@na",
    "executed": false,
    "chainBlock": null,
    "coverage": "Complete 13676-byte native JS/Canvas2D/WebGL script read: seeded decisions, five actor families, intersection clipping, extrusion, ordering, colour masks, procedural grain, alignment and finite layer rendering. No audio or interaction handlers. Original outputs inspected separately."
  },
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000000",
      "sourceIds": [
        "S01",
        "S05"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Borderless curved panels in ochre, muted blue, orange, pale green, cream and black; speckled transitions."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000001",
      "sourceIds": [
        "S01",
        "S06"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Cream border; cobalt arcs above, red central panels, yellow lower-right and broad cream/black curved bands."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000010",
      "sourceIds": [
        "S01",
        "S07"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Large black left face, broad pale-green sweep with cream openings, ochre lower-left wedge."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000020",
      "sourceIds": [
        "S01",
        "S08"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Broad blue field crossed by cream/black rising strips, red right-hand planes and narrow lower verticals."
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000090",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "selectionNote": "Verified AB5D collection work",
      "observationNote": "AB5D angular blue foreground, mustard-to-black narrow face, orange upper-left, pale-green middle and displaced outlines."
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "OpenAI",
    "agent": "Codex",
    "model": "gpt-6-astra",
    "originalProseLicense": "CC0-1.0",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "scope": "Independent Screens research and writing",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Complete per-essay token telemetry unavailable; no estimated count.",
      "contributors": {
        "operator": "OpenAI",
        "agent": "Codex",
        "model": "GPT-6 Astra",
        "originalProseLicense": "CC0-1.0"
      }
    },
    "humanEditorialInvolvement": "Commissioned by Phil; website publication authorized by Phil on 2026-09-17. No claim of line-by-line human fact checking."
  },
  "editorialExceptions": [],
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 1000,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical meaning distinguished in prose."
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2022-01-21T19:12:11+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical meaning distinguished in prose."
    },
    {
      "id": "scheduled-start",
      "topic": "mint",
      "value": "2022-01-31T18:00:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical meaning distinguished in prose."
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2022-01-31T18:36:20+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical meaning distinguished in prose."
    },
    {
      "id": "license",
      "topic": "rights",
      "value": "CC BY-NC 4.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical meaning distinguished in prose."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01",
        "S10"
      ],
      "note": "Current artwork label; deed separately identified, index terms URL absent.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "note": "No separate comprehensive artist-code grant found.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": "MIT",
        "category": "custom",
        "termsUrl": "https://github.com/stegu/webgl-noise/blob/master/LICENSE",
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S04"
        ],
        "note": "Credited webgl-noise routines only.",
        "unresolvedConflicts": []
      }
    ]
  },
  "completionStatus": "reviewed-for-publication",
  "presentation": {
    "editionSize": 1000,
    "maximumEdition": 1000,
    "mintDate": "2022-01-21T19:12:11+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-255",
      "token_id": "255000090",
      "invocation": 90,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090.png",
      "live_view_url": "/series/screens-by-thomas-lin-pedersen/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090",
      "mode": "live",
      "aspectRatio": 0.7071067811865476,
      "interactionNote": "Original renderer. Colour layers build automatically into a still composition.",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "Verified AB5D collection work, official original renderer, observed CC BY-NC 4.0 artwork label."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000000",
      "sourceIds": [
        "S01",
        "S05"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Borderless curved panels in ochre, muted blue, orange, pale green, cream and black; speckled transitions.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000001",
      "sourceIds": [
        "S01",
        "S06"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Cream border; cobalt arcs above, red central panels, yellow lower-right and broad cream/black curved bands.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000010",
      "sourceIds": [
        "S01",
        "S07"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Large black left face, broad pale-green sweep with cream openings, ochre lower-left wedge.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000020",
      "sourceIds": [
        "S01",
        "S08"
      ],
      "selectionNote": "Early-edition group selected before viewing",
      "observationNote": "Broad blue field crossed by cream/black rising strips, red right-hand planes and narrow lower verticals.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000020"
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "255000090",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "selectionNote": "Verified AB5D collection work",
      "observationNote": "AB5D angular blue foreground, mustard-to-black narrow face, orange upper-left, pale-green middle and displaced outlines.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/255000090"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/screens-by-thomas-lin-pedersen/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/screens-by-thomas-lin-pedersen/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
