{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 51,
    "slug": "stipple-sunsets-by-jake-rockland",
    "title": "Stipple Sunsets",
    "artistCredit": "Jake Rockland",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/jake-rockland/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-17",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "invocations",
      "topic": "mint",
      "value": 360,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "max_invocations",
      "topic": "mint",
      "value": 360,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "first_token_minted_at",
      "topic": "mint",
      "value": "2021-04-14T01:53:13+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "second_token_minted_at",
      "topic": "mint",
      "value": "2021-04-14T02:39:43+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "activated_at",
      "topic": "mint",
      "value": "2021-04-14T02:36:36+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "completed_at",
      "topic": "mint",
      "value": "2021-04-14T21:18:41+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "start_datetime",
      "topic": "mint",
      "value": "2021-04-14T02:39:43+00:00",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "price_per_token_in_wei",
      "topic": "mint",
      "value": "100000000000000000",
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "opening-price",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "Current price setting is not historical launch-price evidence."
    },
    {
      "id": "original-maximum",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "Current maximum is not launch-era announcement evidence."
    },
    {
      "id": "mint-allocations",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-17",
      "sourceIds": [],
      "status": "unknown",
      "note": "Public, reserved and administrative mints not independently separated."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01",
        "S09"
      ],
      "note": "Current artist-set label and terms link agree; earlier history unresolved.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "note": "No separate artist-code reuse grant identified.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": "LGPL-2.1",
        "category": "custom",
        "termsUrl": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S10"
        ],
        "note": "p5.js1.0.0dependency,notartistcodegrant.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Stipple Sunsets makes a landscape from an evenly spaced field of dots. A semicircle rises above a horizontal division; striped fragments beneath it suggest a reflection. The image is readily named, yet its coloured regions never quite become continuous surfaces. White intervals remain between the marks, making sea, sky and sun share one underlying texture. Looking moves between the scene and the small units that construct it. [^S05] [^S06] [^S07] [^S08]\n\nJake Rockland released the 360-work series through Art Blocks Factory on 14 April 2021. It is project 51 on its Ethereum contract. The title describes both a technique and a subject, but the connection between them is more interesting than either alone: a regular dot grid makes the familiar sunset seem printed, sampled and slightly displaced from direct observation. The [Jake Rockland dossier](https://ab5d.xyz/artists/jake-rockland/) supplies a broader account of the artist. [^S01]\n\nThe four examples considered here range from a pale, spacious seascape to a divided image with incompatible horizons. This variation does not require elaborate scenery. Changes in the height of a horizontal boundary, the position of a circle and the amount of white between points alter the atmosphere. The shared diagram remains simple enough that those differences become the principal subject of comparison. [^S05] [^S06] [^S07] [^S08]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "In his account published a week after release, Rockland connects the project to missing the Sea of Cortez and Mediterranean beaches during the pandemic, and to silkscreens by his grandparents. He identifies it as his first generative artwork. His discussion of intentional printing errors places omission and misalignment within the design, rather than treating them as accidental failures. [^S03]\n\nThese origins help explain the work's double address. The sunset invites recognition from a distance; the repeated marks ask for inspection close up. Its screenprint analogy concerns the organisation of separate colour regions as much as the appearance of dots. The results do not reproduce paper fibres, wet ink or the pressure of a squeegee. They turn the separation of a picture into reproducible components into a visible method. This is an interpretation of the inspected images and program. [^S02] [^S05] [^S08]\n\nThe account also distinguishes possible outputs from the works actually minted. Rockland illustrates test results that did not occur in the main edition, including aligned double prints and a particular boxy colour pattern. His examples establish an intended range beyond the realised set; they do not make an unminted test image a member of the 360. This review has not independently surveyed every minted output to reproduce those absence claims. [^S03]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete indexed script contains 4,241 characters and uses p5.js 1.0.0. Four hexadecimal substrings from the token hash initialise an sfc32 pseudorandom generator. Successive calls select colours and parameters before drawing. The script's compactness is significant: the landscape comes from coordinate tests and colour assignments, rather than imported photographs or a stored background image. This analysis concerns the retrieved index copy, whose digest is retained with the evidence. [^S01] [^S02]\n\nThe palette list has nine entries but repeats two colour sets. Selection therefore is not uniform across distinct sets. Within a chosen entry, colours are removed in sequence for the sun, sky and water; a second selection supplies another set of parameters. Reassigning the roles of colours means that a palette name alone cannot explain an output. A dark colour used as sky creates a different spatial impression from that same colour used below the horizon. [^S02] [^S06] [^S08]\n\nThe geometry uses a nominal design width of one thousand units. The sun's radius is one quarter of that width, and its centre lies on the horizon. A point belongs to the sun when its squared distance from that centre is within the squared radius. An additional comparison against the horizon restricts the visible upper semicircle. This elementary test allows the drawing procedure to ask which colour a point should receive without tracing a separate outline around the sun. [^S02]\n\nBelow the horizon, another test admits alternating horizontal bands inside the same circle. The reflection therefore preserves the circular envelope while breaking its interior into strips. It does not calculate waves, changing illumination or the optics of water. The conventional sign of a reflection is constructed through repeated interruption. Its legibility depends on the relationship between the continuous upper form and the discontinuous lower one. [^S02]\n\nThe dot field is equally explicit. Nested loops examine coordinates; modular tests retain only positions on regularly spaced rows and columns. Parameters govern point size and the interval added between points. Separate values can apply on either side of a divided composition. Stippling here is not a cloud of independently scattered random dots. Its regularity is what lets a change of colour preserve the same material-looking surface across several pictorial regions. [^S02]\n\nThe canvas takes the smaller viewport dimension. Coordinates and point widths are scaled and truncated to pixels, while the loop extends beyond the nominal design area and is clipped by the canvas. Display size can consequently affect the dot edges and spacing that reach the screen. An enlarged preview and a small live rendering should not be assumed to show identical pixel structures merely because their token input is identical. [^S02]\n\nSeveral optional branches complicate the basic picture. One suppresses marks in the sun and reflection regions. Another adds a narrow surrounding annulus. A split composition changes palette and geometry at a vertical boundary. Colour substitutions can also occur at positions selected by either coordinate addition or bitwise exclusive-or, tested against a repeating interval. These are available mechanisms in the inspected code, not independently measured frequencies across the edition. [^S02]\n\nTwo implementation details qualify a purely descriptive reading of the parameters. The side-divider function refers to a property not defined in the parameter object, so its nonzero cases follow the same directional branch rather than a demonstrated symmetric choice. Also, two differently named blended-colour expressions calculate the same weighted colour. Names suggest roles, but the operations determine the result. Neither observation establishes whether Rockland intended the implementation or regarded it as an error. [^S02]\n\nThe setup function calls noLoop, and the script contains no continuing animation or input handler. Its ordinary result is a still. Preservation nevertheless requires the hash, program and compatible library environment as well as a preview. The fixed image carries the consequences of a particular rasterisation process; retaining only a small screenshot would make later examination of the dot structure unnecessarily difficult. [^S02] [^S10]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The official collection gives 14 April 2021 as the release date. The index records the first token at 01:53:13 that day, activation at 02:36:36, and the second token and scheduled start at 02:39:43. Completion is recorded at 21:18:41. The source record preserves the full timestamps and offsets. The first token predates activation; these fields describe different events rather than interchangeable definitions of a public launch. [^S01]\n\nThe current record reports 360 invocations and a maximum of 360, with a price setting of 0.1 ETH. That setting alone does not reconstruct the original public price or demonstrate what each recipient paid. Rockland identifies #0 as the artist mint in his post. A complete classification of reserved, artist and public transactions has not been established here, so subtracting two timestamps is not presented as an exact public sellout duration. [^S01] [^S03]\n\nThe Art Blocks newsletter of 6 May reports a sellout within a day, 16.2 ETH for GiveDirectly, and an additional matched 16.2 ETH distributed by Art Blocks across six charities. Those are contemporary platform reports, not a fresh audit of the recipient transactions. The current collection description separately reports the initial giving and a commitment concerning later artist royalties; a future commitment should not be converted into proof of every subsequent payment. [^S04] [^S01]\n\nCharitable distribution is relevant to the project's release history, but does not settle its aesthetic value. The images can be assessed through colour, placement and texture independently of the amount raised. Keeping the financial account separate also makes it possible to preserve what the sources actually establish without asking a visual essay to stand in for an accounting of the entire sale. [^S04] [^S05] [^S06]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current project record labels the artwork CC BY-NC 4.0 and supplies a direct link to that licence. The Creative Commons deed describes sharing and adaptation with attribution, a licence link, indication of changes and a noncommercial condition. It is therefore neither an all-rights-reserved label nor an unrestricted public-domain dedication. This records the observed terms; earlier versions or changes have not been reconstructed. [^S01] [^S09]\n\nThe p5.js 1.0.0 repository carries LGPL version 2.1. That dependency licence is distinct from the artist's program, for which no separate explicit reuse grant was established in this inspection. Reading publicly accessible code is not itself evidence that the code has the same permission as the artwork. AB5D's CC0 dedication applies to this original prose, while the displayed artwork retains its stated attribution and licence. [^S02] [^S10] [^S09]"
    },
    {
      "id": "examples",
      "heading": "Close reading of four outputs",
      "bodyMarkdown": "The comparison uses editions 0, 1, 10 and 20, selected in advance as a small early-edition group. All four official previews were inspected in full. Their token identifiers are 51000000, 51000001, 51000010 and 51000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. This selection supports comparison, not a claim to represent the distribution of the entire series. [^S05] [^S06] [^S07] [^S08]\n\nIn #0, a blue semicircle sits to the right above a relatively high horizon. Pale yellow dots fill the sky, while red dots occupy the much larger lower field. The reflection is faint beside the decisive upper curve. Small points and plentiful white make the image feel light despite the red area's size. The sun appears to hover above a surface whose uninterrupted grid keeps it flat. Distance makes the scene cohere; closer attention dissolves it into a mesh. [^S05]\n\nNumber 1 reverses the balance of area and visual weight. A broad dark blue sky occupies roughly the upper two thirds. A brownish sun meets teal water near the bottom, and its reflection extends below in pale bands. Larger, closely packed points make the dark field more insistent than #0's yellow sky. The white gaps remain visible, however, preventing the darkness from becoming a solid block. The lower horizon makes the semicircle feel more enclosed by its surroundings. [^S06]\n\nNumber 10 also places the horizon low, but orange above and yellow below create a much hotter colour relationship. The sun is grey, with a fine contrasting rim visible around its edge. Its lower bands are sufficiently dark to complete a conspicuous circular form across the boundary. Compared with #1, the reflection has greater structural force: the viewer can read one disc whose lower half has been cut into strips, then recover the sunset from that abstract construction. [^S07]\n\nNumber 20 exposes the division that the other images keep implicit. A vertical seam just right of centre separates dark green and peach on the left from blue and pale yellow on the right. The left semicircle is pale cyan; the right is red. Their horizons differ, so neither the contour nor its striped reflection joins seamlessly. The two parts almost form one sun and then refuse to do so. This near fit is more arresting than a wholly unrelated pair of pictures would be. [^S08]\n\nThe dot lattice gives that discontinuity a common surface. Although the colours and horizons disagree, the marks retain a comparable scale and regularity across the join. The image can thus suggest a disrupted print while remaining carefully organised. This is a visible consequence of the split procedure, rather than evidence that an actual printing machine malfunctioned. [^S02] [^S08]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Stipple Sunsets is most persuasive where an economical landscape becomes a study of reproduction. The repeated point is both a unit of colour and a reminder that the picture is assembled. A clean horizon offers stability; a displaced sun or doubled scene tests it. The four examples show how much can change while the system retains a recognisable vocabulary of circle, stripe and grid. [^S02] [^S05] [^S06] [^S07] [^S08]\n\nThe series also makes a useful distinction between designed possibility and realised edition. An algorithm may contain outcomes that no collector received, while the minted works may combine familiar choices in unexpectedly effective ways. The unminted examples in Rockland's account illuminate the system's intentions, but the individual works remain the objects of close reading. Neither a feature table nor a story about rarity substitutes for that encounter. [^S03] [^S08]\n\nUnresolved research questions:\n\n- Establish the opening price and transaction categories from launch-era or contract evidence.\n- Independently reconcile the reported charitable transfers and later royalty commitments.\n- Compare the indexed script with a retrieval pinned to a chain block.\n- Test rendering at several viewport dimensions and preserve the observed raster differences.\n- Recover any separate artist-code grant and earlier artwork licence history."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Finepoints,paleyellowsky,bluesunupperright,large redwaterfield,faintreflection.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000000.png",
      "indexedFeatures": {
        "Alignment": "Top-Right",
        "Stipple Size": 3,
        "Color Palette": "Cool Summer",
        "Stipple Density": 2
      },
      "mintedAt": "2021-04-14T01:53:13+00:00",
      "mintTransactionHash": "0x4bffa1cb3a7c990f7335b0c5048e556cd7df7b51359a7abb0317047dce5258c1"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Largepoints,darknavysky,brownsunlowright,tealwater,palereflection.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000001.png",
      "indexedFeatures": {
        "Alignment": "Bottom-Right",
        "Stipple Size": 6,
        "Color Palette": "Autumn Breeze",
        "Stipple Density": 1
      },
      "mintedAt": "2021-04-14T02:39:43+00:00",
      "mintTransactionHash": "0xd23110114266545acf872b9f1aa795d71e8360a2a22890a4441ab70281a74620"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Orangesky,yellowwater,greysunlowright,thinrim,strongdarkstripedreflection.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000010.png",
      "indexedFeatures": {
        "Sun Aura": "true",
        "Alignment": "Bottom-Right",
        "Stipple Size": 5,
        "Color Palette": "Fallen Leaves",
        "Stipple Density": 1
      },
      "mintedAt": "2021-04-14T02:48:48+00:00",
      "mintTransactionHash": "0x17bb5752ec83d6b034fe58bd27bd4a4e2d2d6f77acf01d49d90e572ee966b63c"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Doubleprint:green/peachleft,blue/yellowright,cyan/redsunparts,offsethorizons,verticalseamrightofcentre.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000020.png",
      "indexedFeatures": {
        "Double Print": "true",
        "Alignment A-Side": "Center-Right",
        "Alignment B-Side": "Bottom-Right",
        "Stipple Size A-Side": 4,
        "Stipple Size B-Side": 4,
        "Color Palette A-Side": "Forest Stroll",
        "Color Palette B-Side": "Cool Summer",
        "Stipple Density A-Side": 1,
        "Stipple Density B-Side": 1
      },
      "mintedAt": "2021-04-14T02:56:56+00:00",
      "mintTransactionHash": "0x6b8df1babd7a921130a212b4aaf907e8a0cbc897b4f73ba9dc10da6d0173a2e7"
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Phil (@maxand98), commissioning user",
    "agent": "OpenAI Codex",
    "model": "gpt-6-astra",
    "modelVersion": null,
    "tools": [
      "Art Blocks Hasura GraphQL",
      "Web source reading",
      "Static original-script inspection",
      "Canonical live-renderer visual 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",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "scope": "Stipple Sunsets research, manuscript, source package and presentation preparation, plus final Gen 3 checks.",
      "essayCount": 1,
      "perEssayUsage": null,
      "usage": {
        "inputTokens": 6405467,
        "cachedInputTokens": 6141056,
        "outputTokens": 8751,
        "reasoningOutputTokens": 250,
        "totalTokens": 6414218
      },
      "usageSummary": "across Stipple Sunsets research and drafting, plus final Gen 3 checks.",
      "usageDetail": "Measured shared interval including cached input. Work covered by preceding shared intervals is not counted again here. This is not an isolated per-essay cost. Later deployment excluded.",
      "accounting": "Cached input is included in input tokens; reasoning output is included in output tokens. Total is input plus output.",
      "source": "Local Codex session cumulative telemetry difference between recorded boundaries",
      "baselineAt": "2026-09-17T18:23:06.010Z",
      "recordedAt": "2026-09-17T18:45:40.011Z"
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script filtered by slug stipple-sunsets-by-jake-rockland",
    "sha256": "af3028664ebfbb5ab0547b334876829a6f076fe4d8cbc9c315230cce780c7e00",
    "retrievedAt": "2026-09-17",
    "method": "Indexed script static inspection",
    "executed": false,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "historical-evidence",
      "status": "pending",
      "reviewer": "Phil",
      "reason": "Historical price, allocation and rights gaps explicitly qualified; indexed script not pinned to chain block."
    }
  ],
  "presentation": {
    "editionSize": 360,
    "maximumEdition": 360,
    "mintDate": "2021-04-14T01:53:13+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "token_id": "51000209",
      "invocation": 209,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000209.png",
      "live_view_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000209",
      "features": {
        "Alignment": "Top-Left",
        "Stipple Size": 4,
        "Color Palette": "Fallen Leaves",
        "Stipple Density": 1
      },
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "chainId": 1,
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000209",
      "mode": "static",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "Official held209 preview inspected; noLoop script produces a static image."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Finepoints,paleyellowsky,bluesunupperright,large redwaterfield,faintreflection.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000000.png",
      "indexedFeatures": {
        "Alignment": "Top-Right",
        "Stipple Size": 3,
        "Color Palette": "Cool Summer",
        "Stipple Density": 2
      },
      "mintedAt": "2021-04-14T01:53:13+00:00",
      "mintTransactionHash": "0x4bffa1cb3a7c990f7335b0c5048e556cd7df7b51359a7abb0317047dce5258c1",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Largepoints,darknavysky,brownsunlowright,tealwater,palereflection.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000001.png",
      "indexedFeatures": {
        "Alignment": "Bottom-Right",
        "Stipple Size": 6,
        "Color Palette": "Autumn Breeze",
        "Stipple Density": 1
      },
      "mintedAt": "2021-04-14T02:39:43+00:00",
      "mintTransactionHash": "0xd23110114266545acf872b9f1aa795d71e8360a2a22890a4441ab70281a74620",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Orangesky,yellowwater,greysunlowright,thinrim,strongdarkstripedreflection.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000010.png",
      "indexedFeatures": {
        "Sun Aura": "true",
        "Alignment": "Bottom-Right",
        "Stipple Size": 5,
        "Color Palette": "Fallen Leaves",
        "Stipple Density": 1
      },
      "mintedAt": "2021-04-14T02:48:48+00:00",
      "mintTransactionHash": "0x17bb5752ec83d6b034fe58bd27bd4a4e2d2d6f77acf01d49d90e572ee966b63c",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "51000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Doubleprint:green/peachleft,blue/yellowright,cyan/redsunparts,offsethorizons,verticalseamrightofcentre.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000020.png",
      "indexedFeatures": {
        "Double Print": "true",
        "Alignment A-Side": "Center-Right",
        "Alignment B-Side": "Bottom-Right",
        "Stipple Size A-Side": 4,
        "Stipple Size B-Side": 4,
        "Color Palette A-Side": "Forest Stroll",
        "Color Palette B-Side": "Cool Summer",
        "Stipple Density A-Side": 1,
        "Stipple Density B-Side": 1
      },
      "mintedAt": "2021-04-14T02:56:56+00:00",
      "mintTransactionHash": "0x6b8df1babd7a921130a212b4aaf907e8a0cbc897b4f73ba9dc10da6d0173a2e7",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/51000020"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/stipple-sunsets-by-jake-rockland/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/stipple-sunsets-by-jake-rockland/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
