{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 129,
    "slug": "pigments-by-darien-brito",
    "title": "Pigments",
    "artistCredit": "Darien Brito",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/darien-brito/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-17",
  "status": "published-with-research-limitations",
  "mediaIds": [],
  "provenance": {
    "operator": "AB5D commissioned research agent",
    "agent": "radiance_fresh, Pigments assignment",
    "model": "gpt-6-astra",
    "modelVersion": null,
    "tools": [
      "Python urllib Art Blocks GraphQL and page retrieval",
      "web search/read",
      "CUA Chrome original generator inspection",
      "local package validator"
    ],
    "humanEditorialInvolvement": "Commissioned by Phil; website publication authorized by Phil on 2026-09-17. No claim of line-by-line human fact checking.",
    "originalProseLicense": "CC0-1.0",
    "usage": {
      "inputTokens": 2244384,
      "cachedInputTokens": 2120960,
      "outputTokens": 9363,
      "reasoningOutputTokens": 238,
      "totalTokens": 2253747,
      "model": "gpt-6-astra",
      "status": "measured",
      "scope": "Pigments delegated research and drafting through the last usage event before handoff; final handoff message, editorial integration and publication excluded.",
      "generationRecord": "/data/series-generation-expansion-86.json"
    },
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "scope": "Pigments delegated research and drafting through the last usage event before handoff; final handoff message, editorial integration and publication excluded.",
      "essayCount": 1,
      "perEssayUsage": {
        "inputTokens": 2244384,
        "cachedInputTokens": 2120960,
        "outputTokens": 9363,
        "reasoningOutputTokens": 238,
        "totalTokens": 2253747
      },
      "usage": {
        "inputTokens": 2244384,
        "cachedInputTokens": 2120960,
        "outputTokens": 9363,
        "reasoningOutputTokens": 238,
        "totalTokens": 2253747
      },
      "usageSummary": "across the Pigments delegated research, drafting and handoff.",
      "usageDetail": "Measured difference between the preceding completed assignment and the last usage event before the declared Pigments handoff. Cached input is included. Final handoff message and coordinator work excluded.",
      "accounting": "Cached input is included in input; reasoning output in output. Total is input plus output.",
      "source": "Measured difference between completed assignments in delegated Codex session",
      "measurementStart": "2026-09-17T22:40:18.384Z",
      "recordedAt": "2026-09-17T22:46:13.347Z"
    }
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "Colour before substance",
      "bodyMarkdown": "Pigments by Darien Brito turns a rectangle of light into something that appears to have thickness. Blue channels curl around dark cavities; warm streaks gather into ridges; luminous circles seem suspended beneath a translucent surface. The substance is difficult to name. It might suggest paint, mineral, smoke or a microscopic fluid, yet its changing contours continually loosen those associations.[^S12][^S14]\n\nReleased through Art Blocks Curated on August 6, 2021, Pigments comprises 1,024 minted works. Its exact identity is Ethereum project 129 on contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`.[^S01][^S02] The [AB5D artist dossier](https://ab5d.xyz/artists/darien-brito/) places Brito within a wider audiovisual practice. This series concentrates attention on colour moving through an unstable field.\n\nThe artist's project statement invokes both microscopic and cosmic environments and asks that the works be experienced live.[^S01] That invitation matters because no single frame establishes the composition permanently. A dark opening can swell, dissolve or become a bright centre. The image's apparent material is inseparable from the changes that make it difficult to identify."
    },
    {
      "id": "conception",
      "heading": "A musician tests colour",
      "bodyMarkdown": "In his August 4, 2021 interview with Jeff Davis, Brito described entering graphics through music. He had studied violin, composition and electronic music; visualisation initially helped him understand sound algorithms. He later integrated live visuals into his practice. Pigments arose from a more specific self-imposed challenge: moving beyond his habitual restricted use of colour. Watching chemicals interact with water suggested hypothetical organic substances. He urged collectors to judge beauty independently of rarity.[^S03]\n\nHis current project account shifts emphasis from paint to the surface on which an image is computed. It describes domain warping as the bending of coordinate space before colour is applied, and reports thirteen layouts and 109 curated palettes. Their names belong to a personal invented language drawing on English, Spanish and Latin.[^S04] These are artist-authored explanations, rather than material claims that the program models actual chemicals.\n\nThe distinction helps explain the work's persuasive ambiguity. A physical simulation would need a particular substance and laws governing its behaviour. Pigments can borrow the appearance of several substances because its forms emerge from mathematical fields. Brito's broader statement emphasises generative systems, live performance and complexity arising from constraints.[^S05] Here, a carefully limited vocabulary of noise and colour produces an image that can appear much less constrained than its machinery."
    },
    {
      "id": "construction",
      "heading": "A moving coordinate field",
      "bodyMarkdown": "The full 50,334-character artist script was retrieved from the official Art Blocks index and read through its configuration tables, complete shader functions and final animation loop. Its declared dependency is three.js 0.124.0. This establishes an indexed source observation, not a direct block-pinned extraction from Ethereum.[^S02]\n\nThe hash becomes thirty-two numbers between zero and one. Specific positions select the layout, palette, parameter offsets, mirroring and exceptional distortions. The script does not keep drawing random numbers during animation. Two early bytes choose a probability group and a layout within it; another chooses from that layout's permitted palettes. Further bytes perturb frequencies, amplitudes, gains and spatial scales around preset values. Thus variation has several constraints before the first pixel appears.[^S02]\n\nToken identity also participates. For project 129, the script derives twice the invocation number and passes it as a shader seed. The composition therefore depends on the token ID as well as its hash. Invocation zero receives a special layout-group selector. Treating the work as a generic hash-only noise animation would miss both details.[^S02]\n\nThe layouts include Rings, Cells, Nebula, Cellophane, Flame and other named configurations. They reuse related noise functions with different settings. Several shader comments explicitly credit Brian Sharpe's GPU-noise work. The inspected functions include value/gradient noise, polka-dot and cellular calculations, and Hermite interpolation. Repeated octaves increase frequency while reducing amplitude according to a gain parameter. Outputs from one field displace the coordinates supplied to the next. This successive warping makes contours fold and divide without tracking individual particles.[^S02][^S08]\n\nColour is calculated through a chain of mixtures between six stored vectors, controlled by intermediate fields and the final noise value. Hue, brightness, contrast and saturation then modify the result. The vectors are not simply six patches laid side by side: some components extend beyond the ordinary zero-to-one range before the calculations finish. A palette therefore behaves as a set of instructions for producing colour relationships rather than a fixed list of visible swatches.[^S02]\n\nA first rendering pass generates the image into a texture. A second pass displays it, with optional distortion for vortex or black-hole configurations. Mirroring can fold the field across one or both axes. The portrait area has a five-to-six width-to-height ratio. There are no downloaded paint textures or fluid particles in the inspected script; the material impression comes from shader calculations and the way colour changes across neighbouring coordinates.[^S02]\n\nTime requires particular care. The main shader uses a sine of a repeating fractional time value. Consequently, the artist's description of endless running should not be read as proof of mathematically non-repeating output. Some post-processing modes add other time-dependent terms. No complete recurrence period was measured in the browser, and it would be inaccurate to assign one universal loop length to the edition.[^S02]\n\nThe browser's animation callback updates the shaders from its elapsed performance clock. Spacebar toggles rendering. On #455, the visible arrangement remained fixed across separate observations after a press, then changed again after the next press. The clock itself continues during the pause, so resumption uses the current time rather than an accumulated paused-time counter.[^S14][^S02] All five sampled originals changed between observations. No audio machinery appears in the artist script; audio output was not independently monitored. The live work depends on browser WebGL support and GPU performance, as the artist's statement acknowledges.[^S01]"
    },
    {
      "id": "mint",
      "heading": "Three dates around the release",
      "bodyMarkdown": "The indexed first mint occurred on August 4, 2021 at 20:20:36+00:00, for #0. Activation followed on August 5 at 15:57:26+00:00. The official collection page gives August 6 as the release date.[^S02][^S01] First token creation, activation and public release are therefore distinct events.\n\nToken #1 was minted on August 6 at 16:01:05+00:00, matching the indexed start timestamp. Sampled #10 and #20 share that timestamp. The final invocation, #1023, was minted at 16:25:34, also the recorded completion. The interval from #1 to #1023 is twenty-four minutes and twenty-nine seconds. It is an interval between indexed records, not a verified public sellout duration: the exact opening and any early allocation arrangements were not established.[^S02]\n\nCurrent invocation count and maximum both equal 1,024. The current price field reports 1 ETH, but it does not establish an original fixed price or auction schedule. A contemporaneous announcement resolving those terms and the originally announced cap was not located. The early #0 record similarly does not explain its allocation.[^S02]\n\nA September 9 Art Blocks newsletter reported approximately $2 million associated with Pigments for the Charles Darwin Foundation, Refugees International and InConcerto. Its methodology explicitly combined donated amounts, funds set aside and pledged amounts converted using ETH prices. That report documents the project's place in the platform's charitable activity; it is not a receipt proving an exact amount reached each recipient.[^S15]"
    },
    {
      "id": "rights",
      "heading": "A noncommercial artwork licence",
      "bodyMarkdown": "The official index reports CC BY-NC-ND 4.0 and links to that exact Creative Commons licence.[^S02] Its terms allow noncommercial reproduction and sharing with attribution and the required notices. They permit producing adapted material for noncommercial purposes but do not permit sharing that adapted material. Necessary technical changes of format are treated separately, and applicable copyright exceptions remain unaffected. Ownership of a token does not itself transfer the artist's copyright.[^S06]\n\nNo separate licence for Brito's complete artist script was found within it. Whether the artwork label is intended to cover independent reuse of that source remains unclear. The three.js r124 dependency carries the MIT licence, including its notice-preservation condition.[^S07] Sharpe's GPU-Noise-Lib repository offers broad custom permission and asks for appropriate credit; the Pigments shader itself includes credits to his work.[^S08][^S02] Those component terms do not automatically license the entire composition of code. This essay's original prose is CC0; the artwork and software retain their separate terms."
    },
    {
      "id": "examples",
      "heading": "Five kinds of unstable surface",
      "bodyMarkdown": "The five originals inspected are on Ethereum contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`: #0 (`129000000`), #1 (`129000001`), #10 (`129000010`), #20 (`129000020`) and #455 (`129000455`). Their exact records and canonical pages were verified before viewing the original renderers. The early invocations provide a bounded comparison across layouts; #455 adds a freshly verified AB5D holding. The group is not a statistical sample of the whole edition.[^S02]\n\nIn #0, the Flame layout and Armodeo palette produce closely packed cream, teal and rust-coloured folds interrupted by black pockets. The contours look corrugated, as though many thin layers have been compressed together. At a later observation, the bright channels and dark openings have shifted substantially while preserving that dense, ridged character.[^S10]\n\nIts apparent depth depends on the relation between narrow bright edges and larger dark areas. A pale line can read as a raised rim, but it also connects with neighbouring lines in ways that make a stable solid object impossible to infer. The changing image resembles a material being stirred without offering a vessel, gravity or a surface on which the movement could occur. The portrait boundary cuts directly through the folds, making the field seem to continue beyond the picture. That impression is a visual reading, not evidence of a larger simulated space.\n\nToken #10, using Cellophane and Yikrato, exchanges those tightly packed folds for smoother, glossy eddies. Orange and cream discs appear inside blue-violet curls, with rust channels passing between them. One bright centre near the middle right becomes more broadly orange in the second observation as the surrounding bands rearrange.[^S12]\n\nThe contrast makes the work difficult to read as a conventional illuminated object. Orange seems to glow from within, while nearby blue edges suggest reflected light on a slick surface. Neither interpretation remains secure. A circular feature can feel like a bubble, an eye or a small sun, but the continuous deformation keeps these associations provisional. The image is convincing as a sensation of material even when its substance remains unknowable. Compared with #0, its larger smooth transitions leave more room for the eye to follow an individual curl before that curl changes.\n\nThe Rings layout of #1 is quieter. Beige-grey veils surround blue-grey hollows and small dark ringed centres. Their boundaries alter between observations while the restrained palette persists.[^S11] In #20, the Nebula layout uses purple-blue clouds, peach lights and ochre flecks. Double mirroring makes both horizontal and vertical correspondence visible. Four dark areas in one view become a more central vertical mass later; symmetry survives the changes and gives the otherwise diffuse field a strong organising structure.[^S13]\n\nThe fresh AB5D profile lists three linked wallets; #455's indexed owner matches one of them.[^S09][^S02] Its Cells layout and Oranaz palette yield cyan and cobalt pools, near-black cores and faint beige or rust wisps. The soft transitions make the centres appear submerged rather than outlined. Across observations, their placement and shape change, while the blue atmosphere remains recognisable. Pausing holds one arrangement long enough to study its circular traces; resuming restores the unstable relation between those traces and the surrounding colour.[^S14]"
    },
    {
      "id": "significance",
      "heading": "Recognition without a fixed object",
      "bodyMarkdown": "Pigments gives computational colour a material presence without requiring it to impersonate one particular substance. Its named layouts establish families of behaviour, but the visible forms emerge from relationships between fields. A contour belongs to no persistent drawn object; its apparent solidity lasts only as long as the surrounding values support it.\n\nThat structure gives the series a distinctive mode of attention. The viewer can recognise a family of colours and textures while repeatedly losing track of individual forms. Pausing does not expose a final image hidden beneath the animation. It selects one temporary configuration from a work whose identity includes continuing change. The title names something that ordinarily colours a surface, while the program makes surface, colour and movement difficult to separate.\n\nUnresolved research questions:\n\n- What development studies document how Brito selected the layouts and reduced his palette experiments to the published system?\n- What contemporaneous source establishes the original sale schedule, announced cap and allocation of #0?\n- What records distinguish pledged, set-aside and completed transfers to each reported charitable recipient?\n- How did Brito understand repetition within the work's promise of endless running, and what separate terms apply to his complete source code?"
    }
  ],
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 1024,
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Current count"
    },
    {
      "id": "maximum-edition",
      "topic": "mint",
      "value": 1024,
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Current cap,not original announcement"
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-08-04T20:20:36+00:00",
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "#0"
    },
    {
      "id": "activation",
      "topic": "mint",
      "value": "2021-08-05T15:57:26+00:00",
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Distinct from release"
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2021-08-06T16:25:34+00:00",
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Matches #1023"
    },
    {
      "id": "current-price-wei",
      "topic": "mint",
      "value": "1000000000000000000",
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Not original mint terms"
    },
    {
      "id": "sampled-mint-interval-seconds",
      "topic": "mint",
      "value": 1469,
      "observedAt": "2026-09-17T22:41:24.439203+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "inferred",
      "note": "#1 to #1023,not verified public duration"
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC-ND 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc-nd/4.0/",
      "observedAt": "2026-09-17T22:46:13.280751+00:00",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "note": "Noncommercial sharing with attribution;no sharing adapted material under licence. No additional approval gate.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17T22:46:13.280751+00:00",
      "sourceIds": [
        "S02"
      ],
      "note": "No separate artist-script grant found;artwork licence source-code scope unclear.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": "MIT",
        "category": "custom",
        "termsUrl": "https://raw.githubusercontent.com/mrdoob/three.js/r124/LICENSE",
        "observedAt": "2026-09-17T22:46:13.280751+00:00",
        "sourceIds": [
          "S07"
        ],
        "note": "three.js r124;retain copyright and permission notices.",
        "unresolvedConflicts": []
      },
      {
        "reportedLabel": "Custom broad permission with credit request",
        "category": "custom",
        "termsUrl": "https://github.com/BrianSharpe/GPU-Noise-Lib",
        "observedAt": "2026-09-17T22:46:13.280751+00:00",
        "sourceIds": [
          "S08"
        ],
        "note": "Brian Sharpe GPU-Noise-Lib,credited in shader;not a grant for entire artist script.",
        "unresolvedConflicts": []
      }
    ]
  },
  "examples": [
    {
      "id": "E0",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000000",
      "sourceIds": [
        "S02",
        "S10"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Flame/Armodeo: dense cream,teal,rust and black corrugated bands. Second view shifts bright cyan and red channels and dark pockets; continuous deformation, no whole-image translation."
    },
    {
      "id": "E1",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000001",
      "sourceIds": [
        "S02",
        "S11"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Rings/Cascara: pale beige-grey veils,blue-grey hollows and small ringed dark centres; second view changes circles and cloud boundaries,keeping muted palette."
    },
    {
      "id": "E10",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000010",
      "sourceIds": [
        "S02",
        "S12"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Cellophane/Yikrato: luminous orange/cream discs surrounded by blue-violet curled bands and rust channels; later orange centre enlarges and surrounding eddies reorganise."
    },
    {
      "id": "E20",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000020",
      "sourceIds": [
        "S02",
        "S13"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Nebula/Udomeo,Double mirror: soft purple-blue cloud field with peach lights,ochre flecks and four mirrored dark patches; later dark regions migrate to central vertical mass while both mirror axes persist."
    },
    {
      "id": "E455",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000455",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455",
      "sourceIds": [
        "S02",
        "S14"
      ],
      "selectionNote": "Fresh AB5D holding and pause test",
      "observationNote": "Cells/Oranaz: cyan/cobalt soft cell-like pools,black cores and beige/rust wisps. Major dark cores change location and shape across views. Spacebar freezes exact visible arrangement across separate observations; second spacebar restores changing form."
    }
  ],
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "query { projects_metadata(where:{slug:{_eq:\"pigments-by-darien-brito\"}}){name artist_name slug contract_address project_id description license link_to_license invocations max_invocations activated_at first_token_minted_at second_token_minted_at completed_at start_datetime price_per_token_in_wei currency_symbol script_type_and_version dependency_name_and_version website artist_interview sales_notes script} tokens_metadata(where:{token_id:{_in:[\"129000000\",\"129000001\",\"129000010\",\"129000020\",\"129000455\",\"129001023\"]},project_id:{_eq:\"0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-129\"}}){token_id invocation owner_address hash minted_at mint_transaction_hash preview_asset_url primary_asset_url live_view_url features} }",
    "sha256": "6e9feadca14c431eee98a18df0362eba282e9b1b394699da26d3e2c8d8a82e5b",
    "retrievedAt": "2026-09-17T22:41:24.439203+00:00",
    "method": "Complete indexed-script reading and original remote renderer visual observations; no local execution of artist source.",
    "executed": true,
    "chainBlock": null,
    "executionNote": "Original Chrome renderers,not local reproduction;spacebar tested on #455."
  },
  "editorialExceptions": [
    {
      "id": "historical-mint-terms",
      "status": "pending",
      "reviewer": null,
      "reason": "Original price schedule,cap announcement,opening and #0 allocation unresolved."
    },
    {
      "id": "software-rights",
      "status": "pending",
      "reviewer": null,
      "reason": "Artist script separate grant and scope unresolved."
    },
    {
      "id": "charity-receipts",
      "status": "pending",
      "reviewer": null,
      "reason": "Platform report qualified;recipient-level completed transfers not independently established."
    },
    {
      "id": "telemetry",
      "status": "pending",
      "reviewer": null,
      "reason": "Usage null for coordinator measured delta."
    }
  ],
  "presentation": {
    "editionSize": 1024,
    "maximumEdition": 1024,
    "mintDate": "2021-08-04T20:20:36+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "token_id": "129000455",
      "invocation": 455,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455.png",
      "live_view_url": "/series/pigments-by-darien-brito/artwork.html",
      "mode": "live",
      "copyrightStatus": "CC BY-NC-ND 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc-nd/4.0/",
      "displayBasis": "Reported noncommercial sharing of unadapted artwork with attribution and other licence terms. Original renderer selected;no new approval requirement. Site embed untested.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455",
      "interactionNote": "The original animation plays automatically. Press the spacebar inside the artwork to pause or resume."
    }
  },
  "observationImages": [
    {
      "id": "E0",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000000",
      "sourceIds": [
        "S02",
        "S10"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Flame/Armodeo: dense cream,teal,rust and black corrugated bands. Second view shifts bright cyan and red channels and dark pockets; continuous deformation, no whole-image translation.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000000"
    },
    {
      "id": "E1",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000001",
      "sourceIds": [
        "S02",
        "S11"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Rings/Cascara: pale beige-grey veils,blue-grey hollows and small ringed dark centres; second view changes circles and cloud boundaries,keeping muted palette.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000001"
    },
    {
      "id": "E10",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000010",
      "sourceIds": [
        "S02",
        "S12"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Cellophane/Yikrato: luminous orange/cream discs surrounded by blue-violet curled bands and rust channels; later orange centre enlarges and surrounding eddies reorganise.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000010"
    },
    {
      "id": "E20",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000020",
      "sourceIds": [
        "S02",
        "S13"
      ],
      "selectionNote": "Verified early-token comparison across layouts,not statistical sample",
      "observationNote": "Nebula/Udomeo,Double mirror: soft purple-blue cloud field with peach lights,ochre flecks and four mirrored dark patches; later dark regions migrate to central vertical mass while both mirror axes persist.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000020"
    },
    {
      "id": "E455",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "129000455",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455",
      "sourceIds": [
        "S02",
        "S14"
      ],
      "selectionNote": "Fresh AB5D holding and pause test",
      "observationNote": "Cells/Oranaz: cyan/cobalt soft cell-like pools,black cores and beige/rust wisps. Major dark cores change location and shape across views. Spacebar freezes exact visible arrangement across separate observations; second spacebar restores changing form.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/129000455"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/pigments-by-darien-brito/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/pigments-by-darien-brito/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
