{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 149,
    "slug": "dot-matrix-gradient-study-by-jake-rockland",
    "title": "Dot Matrix Gradient Study",
    "artistCredit": "Jake Rockland",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/jake-rockland/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "invocations",
      "topic": "mint",
      "value": 540,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "max_invocations",
      "topic": "mint",
      "value": 540,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "first_token_minted_at",
      "topic": "mint",
      "value": "2021-08-26T19:12:04+00:00",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "second_token_minted_at",
      "topic": "mint",
      "value": "2021-08-26T19:48:06+00:00",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "activated_at",
      "topic": "mint",
      "value": "2021-08-28T02:56:28+00:00",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "start_datetime",
      "topic": "mint",
      "value": "2021-08-28T16:00:00.76+00:00",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "completed_at",
      "topic": "mint",
      "value": "2021-08-28T16:32:13+00:00",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "price_per_token_in_wei",
      "topic": "mint",
      "value": "1750000000000000000",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "currency_symbol",
      "topic": "mint",
      "value": "ETH",
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Freshindexedfield;currentprice/maxnotproofhistoricalsettings."
    },
    {
      "id": "opening-price",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [],
      "status": "unknown",
      "note": "Unresolved byinspectedevidence."
    },
    {
      "id": "price-change-history",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [],
      "status": "unknown",
      "note": "Unresolved byinspectedevidence."
    },
    {
      "id": "reserves",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [],
      "status": "unknown",
      "note": "Unresolved byinspectedevidence."
    },
    {
      "id": "early-mint-purpose",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [],
      "status": "unknown",
      "note": "Unresolved byinspectedevidence."
    },
    {
      "id": "donation-transfer-reconciliation",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17T23:11:48.827259+00:00",
      "sourceIds": [],
      "status": "unknown",
      "note": "Unresolved byinspectedevidence."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/legalcode.en",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01",
        "S10"
      ],
      "note": "Currentlabelwithlink;historicalchangesunverified.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "note": "No separateartist-code licencefound;rawexcluded.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": "GNU LGPL 2.1",
        "category": "custom",
        "termsUrl": "https://p5js.org/copyright/",
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S13"
        ],
        "note": "Librarytermsseparatefromartistprogram/artwork.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "Work and context",
      "bodyMarkdown": "In *Dot Matrix Gradient Study*, Jake Rockland makes stippling approach the point at which it stops looking like stippling. A dot can remain a discrete mark, overlap its neighbours into a broad shape, or disappear beneath later marks. The image belongs to a family of drawings made with one primitive, but that restriction permits very different appearances. The complete program confirms that the coloured marks are calls to `point`, with position, colour and stroke weight changing across the surface.[^S02]\n\nThe AB5D-held #377 provides an immediate example. In the original renderer, a roughly circular concentration of purple and blue gives way to yellow, orange and green bands. Around it, pale grey and white overlapping forms fill the square. The curved edges read like scallops or layered scales. They are not individually drawn crescents: later dots obscure portions of earlier ones. This interpretation connects the visible layering with the program's drawing order.[^S09][^S02]\n\nArt Blocks lists the series as a Factory release of 540 works on 28 August 2021. Rockland describes it as a departure from figurative stippling, using the differently sized, spaced and layered marks of separate patches to construct abstract forms. His stated aim is specifically to disturb the recognizability of the technique.[^S01]"
    },
    {
      "id": "conception",
      "heading": "Conception",
      "bodyMarkdown": "Rockland's public artist statement connects his generative practice with printmaking and quiltwork. Both references help explain the organisation of this series. A print can build an image through repeated applications of a limited mark; a quilt can organise local differences within a larger field. Here a patch is a region with its own dot parameters, while colour can follow a gradient extending across several such regions. The local and global structures need not agree.[^S01][^S02]\n\nThe artist's later account of *Sonoran Roadways* explicitly identifies *Dot Matrix Gradient Study* as a predecessor in the distortion of stipple matrices. In that later work, he returns to recognizable road scenes and explains a process of translating sketches into geometric layers, then applying coloured stipples through digital screens. This is retrospective context, not a recovered development diary for the 2021 series. It nevertheless locates abstraction as a deliberate interval within a continuing practice.[^S03]\n\nThe significant shift is from marks serving a depicted subject to marks becoming the subject. A landscape would supply an external reason for one shape to meet another. Here the meeting is determined by distances, spacing, colour operations and the order in which patches are drawn. The viewer can recognise a target, an eye, scales or a woven field without any of those associations having been established as the artist's intended iconography.[^S02][^S09]\n\nRockland's current website identifies him as an engineer as well as an artist, and links his on-chain work. That present self-description should not be turned into a claim that this project was a technical demonstration. The series statement is concerned with how marks are perceived, and its compact implementation gives that question a concrete form.[^S12][^S01]"
    },
    {
      "id": "construction",
      "heading": "Construction",
      "bodyMarkdown": "The complete official indexed artist script is 2,657 UTF-8 bytes and runs with p5.js 1.0.0. It uses the ordinary two-dimensional canvas rather than WebGL. Setup creates a square canvas using the smaller window dimension and calls `noLoop`. A single drawing pass constructs the image. No audio system or external image loading appears in the inspected program.[^S02]\n\nA small `sfc32` generator supplies deterministic pseudorandom values. Its four initial integers come from eight-character hexadecimal substrings of the token hash. The fourth substring starts at character 27 in the source, so it would be inaccurate to describe this as a straightforward partition of the entire hash. The resulting stream selects a group of Boolean switches, numeric ranges and an initial RGB colour before drawing starts.[^S02]\n\nThe initial colour is chosen from a list containing 19 entries, including repeated entries. It is a starting triplet rather than a complete set of final image colours. Distance calculations and bitwise operations subsequently transform its channels. The renderer can therefore produce a broad range from a small stored colour definition without embedding a separate multicolour image.[^S02]\n\nThe drawing uses a nominal coordinate field 1,000 units across, scaled to the current square canvas. A weighted list selects the number of patches along each axis, from possibilities including 1, 2, 10, 20, 50, 100, 200 and 500. The list repeats some values much more often than others. Selection is consequently weighted by construction, not uniformly distributed among those eight possibilities. The indexed Quilting Size is usefully read alongside this partitioning rather than assumed to be a physical dot diameter.[^S02]\n\nWithin each patch, the program chooses a mark size and derives a spacing interval. It iterates through coordinates but only draws where both axes are divisible by that interval. This produces a regular local lattice. Because another patch can use different values, an apparently continuous area can contain changes in spacing and size. An optional extension beyond a patch's nominal boundary permits marks from adjacent regions to overlap.[^S02]\n\nColour comes from a distance field. Depending on the switches, the relevant distance is radial or follows one axis, and its origin can shift from the centre toward an edge. Other branches perturb that distance or vary its divisor. The arithmetic includes exclusive-or operations on colour-channel values and distance-derived quantities. Such operations can jump between discrete values rather than producing the smooth interpolation associated with a conventional gradient tool.[^S02]\n\nA further brightness offset rises and falls as points are processed. Its progression is linked to drawing order, not to an animation clock. The program can also reverse the order in which it traverses patches. These details matter when dots overlap: a later mark covers an earlier one, so sequence becomes visible as a material property of the final surface. The code creates an image once, but the completed image retains consequences of that sequence.[^S02]\n\nStroke weight has several possible formulas. It may follow the local mark size or depend on position, distance, a coordinate exclusive-or, or the sum of colour-channel values. Some outputs therefore enlarge dots far beyond the size that would leave a neatly separated stipple texture. Scaling and integer truncation also mean that the same nominal composition is rasterized at the particular viewport size. Exact cross-device pixel identity has not been established.[^S02]\n\nClicking invokes a playful counter alert. The counter increments for each executed point call, so it counts drawing operations, not necessarily separate dots still visible after overlap and clipping. On #377, an actual click opened an alert; browser control confirmed its presence, although its text was not exposed by that interface. No change to the picture is implemented by this handler. The alert test should not be described as generative interaction or animation.[^S02][^S09]"
    },
    {
      "id": "mint",
      "heading": "Mint and release",
      "bodyMarkdown": "Fresh project records report 540 invocations and a current maximum of 540. The first token was minted on 26 August 2021 at 19:12:04 UTC, followed by the second at 19:48:06. Both precede the public release date shown by Art Blocks. Activation is indexed on 28 August at 02:56:28, while the start field records 16:00:00.760 that afternoon.[^S01]\n\nThe sample exposes further pre-opening activity: #10 was minted at 06:47:10 and #20 at 15:14:27 on 28 August. Their existence prevents a simple narrative in which every token appeared after the indexed opening. These timestamps establish chronology, but they do not identify the allocations as artist proofs, reserved mints or any other specific category.[^S07][^S08]\n\nCompletion is indexed at 16:32:13, giving 32 minutes and 12.24 seconds between the recorded start and completion fields. That is a calculation from named index events, with earlier mints explicitly excluded. The current price field contains 1.75 ETH. An original opening price, auction steps, reserves and the circumstances of the earlier allocations remain unverified; the current field cannot resolve them.[^S01]\n\nThe collection statement says 50 percent of sale proceeds were donated on-chain at mint to GiveDirectly. Art Blocks' September charity report gives approximately $1,472,374 for the project. The latter publication explains that its totals draw on artist reports, funds set aside or pledge calculations and are approximate. Its dollar figure and the project's more specific statement should remain attributed claims, pending a separate reconciliation of transfers.[^S01][^S04]"
    },
    {
      "id": "rights",
      "heading": "Rights and display",
      "bodyMarkdown": "The refreshed project record labels the artwork CC BY-NC 4.0 and links the corresponding Creative Commons terms. Those terms allow noncommercial sharing and adaptation under their conditions, including attribution and a licence link. A presentation of #377 should retain Rockland's credit and the exact licence variant. Ownership of the token does not itself supply additional copyright permissions.[^S01][^S10]\n\nThe program's availability through the official index is distinct from permission to redistribute artist code. No separate code licence was found, so this package retains its digest and analysis without including the script. The p5.js library has its own LGPL 2.1 terms, separately documented by the project; those terms do not license Rockland's artwork or program.[^S02][^S13]\n\nFresh ownership and the current linked-wallet profile verify #377 as an AB5D holding. Its final output is static. A live renderer preserves the click alert, while the verified PNG supplies the completed visual result. There is no continuous motion to invent through an autoplay treatment. The archive shows the completed image and links to the original for its alert interaction.[^S09][^S11]"
    },
    {
      "id": "examples",
      "heading": "Examples",
      "bodyMarkdown": "Four official originals were viewed by the research coordinator, with observations supplied for this essay. The early invocation sample was chosen for comparison rather than as a statistical account of the edition. The writer separately viewed the held #377. These observations come from completed original renderers, not substitute previews.\n\nIn #0, a blue ground supports rectangular patches of regular white and grey dot grids. Diameter and density change abruptly at patch boundaries. Across that divided field sits a multicoloured circular formation: orange toward its outside, lime farther inward, and purple and blue nearer its centre. The two structures compete. The circle can be followed across the square, but the grid patches interrupt it, preventing colour from erasing the quilt organisation. Its indexed Quilting Size of 10 is consistent with a comparatively legible large-patch structure, although the visible division remains the primary evidence for this reading.[^S05]\n\nEdition #1 changes the apparent scale dramatically. Tiny dots occupy a distant hot-pink field, while much larger white and grey overlapping disks make scalloped forms toward the foreground. Green, lime, purple and pink disks concentrate into what can be read as a receding channel. This depth is a visual interpretation, not a hidden three-dimensional scene: the source draws points on a flat canvas. Compared with #0, overlap and size make the marks feel less like a regular textile grid and more like surfaces passing in front of one another. The indexed Zoom and Compact flags provide parameters to investigate, rather than independent proof of perceived depth.[^S06][^S02]\n\nEdition #10 offers a blue field with varying dot sizes, darker navy corners and a broad lavender-purple ring around a blue centre. The coordinator did not see the hard large-cell boundaries prominent in #0. Its circular structure is carried by a granular field, allowing colour to establish continuity where patch edges are less assertive.[^S07]\n\nEdition #20 is paler: white and grey dots over a faint pink ground surround a diffuse red-pink central disk with lavender edges. Small red gaps can read as crosses or stars. They should not be mistaken for separately drawn star primitives; the program's point-based construction makes the uncovered spaces between marks a plausible explanation. Here the negative spaces participate in the texture as actively as the dots themselves.[^S08][^S02]"
    },
    {
      "id": "significance",
      "heading": "Significance and unresolved questions",
      "bodyMarkdown": "The series makes an elementary mark carry several levels of structure. Dot spacing establishes a local matrix; patch divisions distribute different matrices; colour crosses those divisions according to a larger field. Overlap can then obscure the distinctions that generated the surface. Reading the source reveals this organisation without exhausting the image's associations.[^S02]\n\nThe held #377 is especially useful because its scalloped appearance makes the point primitive difficult to recognise immediately. Knowing that the curves result from overlap changes the reading: what first resembles a collection of shaped tiles can be understood as repeated circular marks partially covering one another. The technical explanation returns attention to the visible edge rather than replacing it.[^S09][^S02]\n\nThe artist's later return to figurative scenes clarifies a productive continuity. Abstract distortion and landscape depiction can employ related stipple and patch procedures while asking different things of them. *Dot Matrix Gradient Study* isolates the instability of a technique: the moment at which adding more of the same kind of mark makes its identity less certain.[^S03]\n\nUnresolved research questions:\n\n- What were the original opening price, sale schedule and allocation conditions for the mints preceding the indexed start?\n- Can the stated on-chain donation share and approximate dollar total be reconciled against the original transfers?\n- Was a separate artist-code licence issued, or did the reported artwork licence change?\n- How do viewport size, integer truncation and browser rasterization alter fine marks across displays?\n- Can the click alert's exact text be inspected through a browser interface that exposes it reliably?"
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:blueground,rectangularpatches regularwhite/greydotgrids with sharplychangingdiameters/densities;centralrings orange/lime/purpleblue interruptedbygrids.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000000.png",
      "indexedFeatures": {
        "Compact": "true",
        "Color Palette": "Seal Party",
        "Quilting Size": 10,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-26T19:12:04+00:00"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:hotpink distant/tiny-dotfield;whitegrey hugely enlargedoverlapping scallopdisksforeground;centralgreen/lime/purple/pinkdiscs recedingchannel;depthreading interpretation.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000001.png",
      "indexedFeatures": {
        "Zoom": "true",
        "Compact": "true",
        "Color Palette": "Eyes Wide Open",
        "Quilting Size": 50,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-26T19:48:06+00:00"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:blue varied-dotfield,navycorners,lavenderpurplebroad ringaroundbluecentre;granularcircleswithout hardlargecellboundarieslike0.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000010.png",
      "indexedFeatures": {
        "Color Palette": "Blueberry Lemon Tart",
        "Quilting Size": 200,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-28T06:47:10+00:00"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:whitegreyvarieddots faintpinkground,diffusepinkredcentraldisk lavenderedges,smallredplus/star-likegaps.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000020.png",
      "indexedFeatures": {
        "Compact": "true",
        "Color Sync": "true",
        "Color Palette": "Eyes Opening",
        "Quilting Size": 100,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-28T15:14:27+00:00"
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "AB5D commissioned workflow",
    "agent": "OpenAI Codex research subagent with coordinator visual review",
    "model": "gpt-6-astra",
    "modelVersion": null,
    "tools": [
      "OfficialArtBlocksGraphQL",
      "HTTP",
      "Primaryartist/newsletter/legal",
      "Fullscriptreading",
      "SubagentChrome andcoordinatorinapp originalscreenshots"
    ],
    "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": 2540040,
      "cachedInputTokens": 2493440,
      "outputTokens": 10225,
      "reasoningOutputTokens": 847,
      "totalTokens": 2550265,
      "model": "gpt-6-astra",
      "status": "measured",
      "scope": "Dot Matrix Gradient Study measured delegated research and drafting through the last usage event before handoff; final handoff, editorial integration and publication excluded.",
      "generationRecord": "/data/series-generation-expansion-100.json"
    },
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "scope": "Dot Matrix Gradient Study measured delegated research and drafting through the last usage event before handoff; final handoff, editorial integration and publication excluded.",
      "essayCount": 1,
      "perEssayUsage": {
        "inputTokens": 2540040,
        "cachedInputTokens": 2493440,
        "outputTokens": 10225,
        "reasoningOutputTokens": 847,
        "totalTokens": 2550265
      },
      "usage": {
        "inputTokens": 2540040,
        "cachedInputTokens": 2493440,
        "outputTokens": 10225,
        "reasoningOutputTokens": 847,
        "totalTokens": 2550265
      },
      "usageSummary": "across the Dot Matrix Gradient Study measured delegated research and drafting through the last usage event before handoff.",
      "usageDetail": "Measured usage of the dedicated research session, including cached input. Coordinator review and publication 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-17T23:11:06.761Z",
      "recordedAt": "2026-09-17T23:16:45.948Z"
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "query { projects_metadata(where:{slug:{_eq:\"dot-matrix-gradient-study-by-jake-rockland\"}}){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:[\"149000000\",\"149000001\",\"149000010\",\"149000020\",\"149000377\"]},project_id:{_eq:\"0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-149\"}}){token_id invocation owner_address hash minted_at mint_transaction_hash preview_asset_url primary_asset_url live_view_url features} }",
    "sha256": "26de33867534fc8b87a4c95809c189cfbca1f5d0cec0d06e2951be3474889f04",
    "retrievedAt": "2026-09-17T23:11:48.827259+00:00",
    "method": "Complete indexed-script reading and original remote renderer visual observations; no local execution of artist source.",
    "executed": true,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "historical-runtime-gaps",
      "status": "pending",
      "reviewer": "Phil",
      "reason": "Originalprices/allocation,charitytransferreconciliation,codepermission,crossviewportpixels,exactalerttext unresolved."
    }
  ],
  "presentation": {
    "editionSize": 540,
    "maximumEdition": 540,
    "mintDate": "2021-08-26T19:12:04+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "token_id": "149000377",
      "invocation": 377,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377.png",
      "live_view_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377",
      "mode": "static",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "Attributedunchangednoncommercialeditorialartworkdisplay;licencelink;rawcodeexcluded.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377",
      "interactionNote": "The completed image is static. Open the original artwork to use its dot-count alert."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:blueground,rectangularpatches regularwhite/greydotgrids with sharplychangingdiameters/densities;centralrings orange/lime/purpleblue interruptedbygrids.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000000.png",
      "indexedFeatures": {
        "Compact": "true",
        "Color Palette": "Seal Party",
        "Quilting Size": 10,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-26T19:12:04+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:hotpink distant/tiny-dotfield;whitegrey hugely enlargedoverlapping scallopdisksforeground;centralgreen/lime/purple/pinkdiscs recedingchannel;depthreading interpretation.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000001.png",
      "indexedFeatures": {
        "Zoom": "true",
        "Compact": "true",
        "Color Palette": "Eyes Wide Open",
        "Quilting Size": 50,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-26T19:48:06+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:blue varied-dotfield,navycorners,lavenderpurplebroad ringaroundbluecentre;granularcircleswithout hardlargecellboundarieslike0.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000010.png",
      "indexedFeatures": {
        "Color Palette": "Blueberry Lemon Tart",
        "Quilting Size": 200,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-28T06:47:10+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "149000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Early0,1,10,20 sample;notstatistical.",
      "observationNote": "Coordinator actual original:whitegreyvarieddots faintpinkground,diffusepinkredcentraldisk lavenderedges,smallredplus/star-likegaps.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000020.png",
      "indexedFeatures": {
        "Compact": "true",
        "Color Sync": "true",
        "Color Palette": "Eyes Opening",
        "Quilting Size": 100,
        "Gradient Style": "Circular"
      },
      "mintedAt": "2021-08-28T15:14:27+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000020"
    },
    {
      "tokenId": "149000377",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377.png",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/149000377"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/dot-matrix-gradient-study-by-jake-rockland/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/dot-matrix-gradient-study-by-jake-rockland/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
