{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 212,
    "slug": "dive-by-rafael-rozendaal",
    "title": "Dive",
    "artistCredit": "Rafaël Rozendaal",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/rafael-rozendaal/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-19",
  "status": "published-with-research-limitations",
  "mediaIds": [],
  "provenance": {
    "operator": "commissioning-user-coordinator",
    "agent": "grok-4.6",
    "model": "grok-4.6 + gpt-6-astra",
    "modelVersion": "grok-4.6",
    "tools": [
      "Art Blocks GraphQL",
      "curl",
      "page inspection",
      "image inspection"
    ],
    "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",
    "originalSubmission": {
      "provider": "xAI",
      "model": "Grok 4.6",
      "modelVersion": "grok-4.6",
      "verification": "Contributor self-report, original provider telemetry unavailable",
      "path": ".ab500-cache/series-returns/grok-round-004/submission/dive-by-rafael-rozendaal",
      "preservedUnchanged": true
    },
    "revisionContributions": [
      {
        "provider": "OpenAI",
        "agent": "Codex",
        "model": "gpt-6-astra",
        "modelVersion": "gpt-6-astra",
        "revision": 2,
        "scope": "Independent full script and primary-source review, five original animated renderers, substantial rewrite, fresh index and wallet verification.",
        "humanEditorialInvolvement": "Assignment/review directions; no human-written prose supplied.",
        "tools": [
          "web browsing",
          "Python standard-library HTTP/JSON",
          "CUA Chrome screenshots and canvas interaction",
          "SHA-256",
          "canonical validator"
        ]
      }
    ],
    "attributionNote": "Original draft: Grok 4.6 (self-reported). Research, corrections and substantial revision: OpenAI GPT-6 Astra. Preserve both credits.",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "grok-4.6 + gpt-6-astra",
      "displayName": "Grok (reported as Grok 4.6), independently revised by GPT-6 Astra",
      "scope": "Dive: original Grok contribution and independent Astra research and revision",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Grok did not supply token telemetry. Complete essay token usage is unavailable. Original model/version is contributor-reported. GPT-6 Astra independently rechecked sources, script and the original outputs and revised the text; revision provenance is preserved in the essay data.",
      "contributors": {
        "operator": "commissioning-user-coordinator",
        "agent": "grok-4.6",
        "model": "Grok 4.6",
        "modelVersion": "grok-4.6",
        "tools": [
          "Art Blocks GraphQL",
          "curl",
          "page inspection",
          "image inspection"
        ],
        "humanEditorialInvolvement": "none-prior-to-review",
        "originalProseLicense": "CC0-1.0",
        "originalSubmission": {
          "provider": "xAI",
          "model": "Grok 4.6",
          "modelVersion": "grok-4.6",
          "verification": "Contributor self-report, original provider telemetry unavailable",
          "path": ".ab500-cache/series-returns/grok-round-004/submission/dive-by-rafael-rozendaal",
          "preservedUnchanged": true
        },
        "revisionContributions": [
          {
            "provider": "OpenAI",
            "agent": "Codex",
            "model": "gpt-6-astra",
            "modelVersion": "gpt-6-astra",
            "revision": 2,
            "scope": "Independent full script and primary-source review, five original animated renderers, substantial rewrite, fresh index and wallet verification.",
            "humanEditorialInvolvement": "Assignment/review directions; no human-written prose supplied.",
            "tools": [
              "web browsing",
              "Python standard-library HTTP/JSON",
              "CUA Chrome screenshots and canvas interaction",
              "SHA-256",
              "canonical validator"
            ]
          }
        ],
        "attributionNote": "Original draft: Grok 4.6 (self-reported). Research, corrections and substantial revision: OpenAI GPT-6 Astra. Preserve both credits."
      }
    }
  },
  "editorialExceptions": [],
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Dive holds its grid still while making colour seem to travel through it. Soft rings spread across individual cells or gather around their centres. A bright spot can become a dark opening; a nearly uniform square can develop a luminous rim. The cell boundaries remain sharp, but the gradients inside them resist a fixed reading of front and back. Across the five originals examined here, the work sustains this tension between an orderly surface and an unstable impression of depth. [^S05] [^S06] [^S07] [^S08] [^S09]\n\nRafaël Rozendaal released the 333-work series through Art Blocks Playground on 23 November 2021. The official description centres on variation in grid scale, colour and apparent inward or outward movement, and identifies the work as responsive to its display. Those are closely related properties. A change of screen proportions affects the arrangement available to the system, while the changing gradients continually alter relationships within that arrangement. Each token supplies a particular system of choices rather than a definitive still image. [^S01] [^S02]\n\nThe square cells might initially suggest a chart, a tiled wall or a collection of coloured lights. None of those comparisons fully accounts for what happens during viewing. Similar colours sometimes merge neighbouring backgrounds into a larger region, only for the next stage of the animation to separate them again. The grid offers a dependable measure while colour makes the measure feel less secure. The [artist dossier](https://ab5d.xyz/artists/rafael-rozendaal/) places this investigation within Rozendaal's wider practice; the present essay concentrates on the deployed series and its observable variations. [^S05] [^S07]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "In a July 2021 interview about Endless Nameless, Rozendaal described editions as a way to make algorithmic moving images more tangible through comparison. He also described transferring an idea between different materials and situations. These comments provide context for his practice before Dive, but they are not a project-specific development account or evidence that both works use the same algorithm. [^S03]\n\nFor Dive itself, the concise official statement names the essential concerns without describing a studio chronology. The code supplies a more detailed record of the decisions that reached deployment: alternative arrangements, grouped colour sets, different directions of movement and relationships between synchronised and independent cells. Reading those structures reveals the authored possibilities of this particular work. It does not reconstruct abandoned versions or establish when each choice was first made. The script's internal version string, 20211108b, is useful for identifying the inspected file, not sufficient proof of a documented completion date. [^S01] [^S02]\n\nComparison helps explain why the distinction matters. The densely populated #1 and the much more spacious #0 use related circular gradients, but they solicit different kinds of attention. The former distributes interest across a crowd of small events; the latter gives each change enough room to feel substantial. The artist's decisions concern the relationship between local activity and the overall field, not merely the selection of attractive colours. That conclusion comes from the inspected works and procedure, rather than from assigning Dive an undocumented intention. [^S05] [^S06]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete indexed program contains 9,978 UTF-8 bytes and runs as native JavaScript using the browser's two-dimensional canvas. Its pseudorandom generator reads four portions of the token hash into unsigned integers and uses bitwise operations to produce subsequent values. Weighted choices determine an overall layout, grid density, pattern, colour mode and related settings. Further derived seeds give grids and cells their own repeatable sequences. The weights describe available choices in the program; they are not an audited count of how often each choice appears across the minted edition. [^S02]\n\nThe top-level layout can use one full area or divide the field into two, three or four sections. Within a section, the grid derives its dimensions from the display proportions. Some pattern types adjust the selected count to fit their repeating structure. The code also maintains a larger internal field of pattern values and coordinate-associated seeds. That internal array should not be mistaken for the number of visible rows. The visible composition depends on the selected settings and the dimensions in which it is rendered. [^S02]\n\nPatterns organise cells into groups. Some use small repeating tiles; others form lines, checks, a split field, an outline or concentric rectangular arrangements. These groups can receive different colour sequences. Consequently, the program can create a larger composition out of the relationships between many individually animated cells. A rectangular colour band can remain identifiable even when the rings within its cells are at different stages. The stable nested arrangement visible in #20 is a particularly clear example of this distinction between group structure and local phase. [^S02] [^S08]\n\nThe colour modes include ordinary multicolour selection, phase-related behaviour, black and white, and black and white supplemented by another colour. Synchronisation can share seeds and speed settings, while other branches preserve differences between cells. Direction choices can apply broadly or vary by group. These rules create several ways for neighbouring cells to resemble one another without becoming identical. Neither matching colour nor adjacency alone proves that two cells are synchronised. [^S02]\n\nEach cell maintains a sequence of colour stops, with positions and widths. During an update, those positions advance according to elapsed progression, speed and direction. Stops that have passed beyond the relevant range are removed; new ones are added at the other end. The procedure avoids choosing the immediately neighbouring colour again when extending the sequence. This is a continuing supply of colour relationships, not a fixed stack of circles translated bodily across the screen. [^S02]\n\nDrawing converts the sequence into a radial gradient centred in the cell. The gradient's radius is half the larger cell dimension. Colours at the centre and outer limit are interpolated from adjacent stops, while interior stop positions pass through a slight power-based easing. The same gradient fills and strokes the cell's rectangle, covering its bounds. The hard rectangular border and the soft radial change therefore belong to different parts of one drawing operation. A ring that seems to advance toward the viewer is a changing distribution of colour across that stationary rectangle. [^S02]\n\nThat construction gives the image its ambiguity. A dark centre surrounded by a light rim can suggest a tunnel; a bright centre spreading into a darker field can suggest a light source. The program does not need to model either object. It interpolates colour at positions, leaving the viewer to supply a material or spatial explanation. Several cells can therefore imply incompatible depths at once without creating a technical contradiction. Their coherence is chromatic and rhythmic rather than a shared physical space. [^S02] [^S09]\n\nThe timer requests updates at sixty intervals per second. After its initial updates, it uses elapsed time to scale progression, with a cap on a single large step. That implementation is not evidence that every device displays sixty frames per second. Resizing or changing orientation reruns the layout from the token's seed and current dimensions; it does not simply stretch a previously rendered bitmap. No custom click, keyboard or audio control was found in the inspected code. The five original renderers were observed running automatically in Chrome, without a claim to exhaustive compatibility testing. [^S02] [^S05] [^S06] [^S07] [^S08] [^S09]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The current index reports 333 invocations and a maximum of 333. Its first token is dated 15 November 2021 at 22:37:07, before activation on 19 November at 21:46:18 and the scheduled start on 23 November at 20:00:00. The second indexed mint follows at 20:06:01 on the release day; completion is recorded at 20:29:46. Full timestamp values and offsets are retained in the source record. The earlier token cannot be classified as a reserved or artist allocation merely because it precedes the scheduled start. [^S01]\n\nThe indexed sales note supplies information absent from a bare price field. It describes a Dutch auction with tiers of 2, 1, 0.75, 0.5, 0.25 and 0.1 ETH, separated by five-minute intervals. It also states an intention to direct a quarter of sales above the resting price to St. Jude Children's Hospital. These are the terms described in the currently retrieved sales note. They do not independently verify every transaction price, the exact operation of the auction, or a completed charitable transfer. [^S01]\n\nThe present price setting is 0.1 ETH, corresponding numerically to the last tier in that note. It should not be substituted for the entire auction schedule. Similarly, the interval between scheduled start and indexed completion is not automatically an exact public sellout duration. Establishing that would require checking which mints belonged to the public sale and which event marks its actual opening. The evidence supports a recorded sequence and a stated pricing structure while leaving transaction-level reconstruction open. [^S01]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current artwork label is CC BY-NC-ND 4.0. The project record provides no terms URL, so the named Creative Commons deed is linked separately. It allows redistribution under attribution and noncommercial conditions, while restricting distribution of modified material under the licence. This label is an observation of the present record, not a complete account of earlier terms. [^S01] [^S04]\n\nNo separate artist-code reuse grant was identified in the inspected material. The runtime label js@na and the use of native Canvas 2D do not constitute a licence for the artist's program. There is no p5.js or three.js dependency to which a library licence should be casually assigned here. The essay analyses the code and links the original rendering environment; it does not republish the complete artist script. Its original prose is CC0, with artwork and software permissions kept distinct. [^S02]"
    },
    {
      "id": "examples",
      "heading": "Close reading of five outputs",
      "bodyMarkdown": "The comparison uses editions #0, #1, #10 and #20, plus AB5D's verified #308. Their full token identifiers are 212000000, 212000001, 212000010, 212000020 and 212000308 on contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. Each original was inspected in two separate animated states in a landscape browser viewport. The sample was chosen for close comparison, not to establish the statistical distribution of layouts or colours across the series. [^S05] [^S06] [^S07] [^S08] [^S09]\n\nEdition #0 shows eight columns and four rows in the inspected view. Its large cells give the soft centres room to become conspicuous. Red, magenta, yellow, green and purple meet at abrupt square edges, while some interiors are so lightly differentiated that they initially appear almost flat. Between the observed states, the upper-left red cell with a faint pink centre becomes pink with a strong yellow centre. The neighbouring cell changes from magenta toward red. The divisions do not move, but the balance of the corner does. [^S05]\n\nThis is a useful way to understand the work's pace. Attention can stay within one square, following the transformation of its centre and rim, or move across several squares as they change their relative prominence. A yellow ring suddenly supplies a focal point where a quiet red field had been. Elsewhere, a green region appears to recede around a purple centre. Neither experience requires a new layout. The composition develops through differences in the visibility and apparent depth of its existing parts. [^S05]\n\nEdition #1 is much denser. Small cells cover the screen with white halos, cyan interiors, purple rings and warm red-yellow transitions. Individual changes remain visible, but they compete with many neighbours. The viewer can recognise a cluster of pale cells and then lose it as their colours diverge. Compared with #0, the image gives less time and space to any one apparent opening. It feels closer to a crowd of luminous events than a set of separately examinable panels. [^S06]\n\nIn #10, broad horizontal organisation remains more legible through the motion. Rows containing warm colours and cyan alternate with rows in which purple, magenta and white are prominent. At moments, neighbouring backgrounds become close enough in colour to form a continuous-looking stretch. A later change breaks that stretch back into individual cells. The rings' diameters and central brightness change, but the row families persist. The work demonstrates how an arrangement can remain recognisable without requiring its cells to move in lockstep. [^S07]\n\nEdition #20 offers another level of organisation. In the observed ten-column, five-row view, yellow and purple form an outer rectangular band; red and blue define an inner band; yellow and purple return along the centre. Each cell contains a circular gradient, while the relationships among cells describe nested rectangles. The two forms of enclosure operate simultaneously. Following one ring produces a local sensation of depth; stepping back reveals a flatter, strongly ordered structure made from whole rows and columns. [^S08]\n\nAB5D's #308 makes this nested organisation especially vivid through contrast. Red, blue and green occupy the outer band. Inside it, black, purple and cyan produce a darker rectangular region around a bright central run of pink, yellow and white cells. The central band reads almost like an illuminated panel, while some black-centred cells around it suggest holes. Those readings change as the gradients develop, but the broad distinction between bright centre and darker surround remains apparent in both inspected states. [^S09]\n\nThe importance of #308 is not simply its wider colour range. Its arrangement gives different colours different structural jobs. Bright central cells gather attention; the dark intermediate band separates them from the active outer edge. Within each group, independent changes keep the structure from becoming a static emblem. The viewer can recognise the whole while discovering that every local relation is temporary. That combination makes the collection example an effective introduction to the work's larger argument. [^S09]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Dive makes a grid into a framework for perceptual change. The cells are explicit enough to let the viewer compare events, but their gradients continually revise what a cell seems to contain. Its strongest variations connect that local uncertainty to larger groupings of colour, creating compositions that persist through motion without freezing into one preferred frame. The five inspected originals show differences of density, grouping and contrast that survive their common drawing mechanism. [^S02] [^S05] [^S06] [^S07] [^S08] [^S09]\n\nThe research leaves specific historical and preservation questions open: the development sequence before deployment, transaction-level auction prices and allocations, evidence of the stated charitable transfer, earlier rights terms, and comparison of the indexed script against a pinned chain retrieval. Further viewing across screen proportions would also clarify how each layout adapts. These limits concern the completeness of the record. They do not prevent close examination of the working system and the particular pictures it continues to produce. [^S01] [^S02]"
    }
  ],
  "codeInspection": {
    "source": "projects_metadata.script",
    "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "query": "query { projects_metadata(where:{slug:{_eq:\"dive-by-rafael-rozendaal\"}}){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} }",
    "variables": {},
    "retrievedAt": "2026-09-18T21:26:30.067572+00:00",
    "byteLength": 9978,
    "sha256": "27eb299a0eb0011571ab23aa40de853a59da6e917e1032818d8fe4ae5ab2ee0d",
    "runtime": "js@na",
    "executed": false,
    "chainBlock": null,
    "coverage": "Entire 9978-byte indexed program read: weighted layout, pattern groups, hash RNG and derived seeds, Grid and Cell classes, radial colour stops and interpolation, elapsed-time progression, resize and orientation handlers. No custom input/audio or external drawing library found. Original renderers executed separately in Chrome."
  },
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000000",
      "sourceIds": [
        "S01",
        "S05"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Eight columns/four rows in landscape; large red/pink/yellow/green/purple gradients. Upper-left red becomes pink/yellow while boundaries remain fixed."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000001",
      "sourceIds": [
        "S01",
        "S06"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Dense array of white/cyan/purple and warm gradients; local halos and centres change independently, temporary clusters appear."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000010",
      "sourceIds": [
        "S01",
        "S07"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Row families alternate warm/cyan and purple/magenta/white; local phases change while horizontal grouping persists."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000020",
      "sourceIds": [
        "S01",
        "S08"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Ten columns/five rows: outer yellow/purple rectangle, inner red/blue band and yellow/purple centre; phases change within stable grouping."
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000308",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "selectionNote": "Verified AB5D collection example",
      "observationNote": "AB5D: outer red/blue/green band, darker black/purple/cyan inner band, central bright pink/yellow/white run. Gradients change independently across two states."
    }
  ],
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 333,
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "maximum-count",
      "topic": "mint",
      "value": 333,
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-11-15T22:37:07+00:00",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "second-mint",
      "topic": "mint",
      "value": "2021-11-23T20:06:01+00:00",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "activation",
      "topic": "mint",
      "value": "2021-11-19T21:46:18+00:00",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "scheduled-start",
      "topic": "mint",
      "value": "2021-11-23T20:00:00+00:00",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2021-11-23T20:29:46+00:00",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "current-price-setting",
      "topic": "mint",
      "value": "100000000000000000",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    },
    {
      "id": "license",
      "topic": "rights",
      "value": "CC BY-NC-ND 4.0",
      "observedAt": "2026-09-18T21:26:30.067572+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "verified",
      "note": "Current index observation; historical interpretation distinguished in prose."
    }
  ],
  "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-19",
      "sourceIds": [
        "S01",
        "S04"
      ],
      "note": "Current observed label; historic terms unresolved.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": "No separate artist-code licence identified",
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "note": "Native browser runtime is not a reuse grant for artist program.",
      "unresolvedConflicts": []
    },
    "thirdParty": []
  },
  "completionStatus": "reviewed-for-publication",
  "presentation": {
    "editionSize": 333,
    "maximumEdition": 333,
    "mintDate": "2021-11-15T22:37:07+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-212",
      "token_id": "212000308",
      "invocation": 308,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308.png",
      "live_view_url": "/series/dive-by-rafael-rozendaal/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308",
      "mode": "live",
      "aspectRatio": 1.982394366197183,
      "interactionNote": "The artwork animates automatically and adapts to its display.",
      "copyrightStatus": "CC BY-NC-ND 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc-nd/4.0/",
      "displayBasis": "Verified AB5D work displayed through official original renderer under named artwork licence."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000000",
      "sourceIds": [
        "S01",
        "S05"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Eight columns/four rows in landscape; large red/pink/yellow/green/purple gradients. Upper-left red becomes pink/yellow while boundaries remain fixed.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000001",
      "sourceIds": [
        "S01",
        "S06"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Dense array of white/cyan/purple and warm gradients; local halos and centres change independently, temporary clusters appear.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000010",
      "sourceIds": [
        "S01",
        "S07"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Row families alternate warm/cyan and purple/magenta/white; local phases change while horizontal grouping persists.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000020",
      "sourceIds": [
        "S01",
        "S08"
      ],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Ten columns/five rows: outer yellow/purple rectangle, inner red/blue band and yellow/purple centre; phases change within stable grouping.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000020"
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "212000308",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "selectionNote": "Verified AB5D collection example",
      "observationNote": "AB5D: outer red/blue/green band, darker black/purple/cyan inner band, central bright pink/yellow/white run. Gradients change independently across two states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/212000308"
    }
  ],
  "publication": {
    "date": "2026-09-19",
    "url": "https://ab5d.xyz/series/dive-by-rafael-rozendaal/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/dive-by-rafael-rozendaal/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
