{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 59,
    "slug": "watercolor-dreams-by-numbersinmotion",
    "title": "Watercolor Dreams",
    "artistCredit": "NumbersInMotion",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/matt-jacobson/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "invocations",
      "topic": "mint",
      "value": 600,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "max_invocations",
      "topic": "mint",
      "value": 600,
      "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-27T04:34:03+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-30T17:00:17+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-29T05:35:05+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-30T17:08:06+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-30T17:00:17+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",
        "S10"
      ],
      "note": "Current reported label; named deed linked separately because index termsURL absent. 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": [
          "S11"
        ],
        "note": "p5.js1.0.0dependency, separate from artwork and artistcode.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Watercolor Dreams makes the formation of an image available to watch. Thin outlines spread into coloured bands; neighbouring bands overlap, darken and curl; the movement eventually settles into a finished field. A still can preserve the resulting composition, but it cannot preserve the experience of discovering how far a line will travel. In the inspected examples, a geometrical beginning remains partly legible inside the softer, less predictable forms that develop from it. [^S05] [^S06] [^S07] [^S08]\n\nMatt Jacobson, also known as NumbersInMotion, released the series through Art Blocks Curated in April 2021. It contains 600 works and is project 59 on its Ethereum contract. The title identifies a material reference without turning the screen into a neutral reproduction of a painting. These images are constructed through moving boundaries and accumulated colour, with their own rules for where a wash begins and how it fades. The [Matt Jacobson dossier](https://ab5d.xyz/artists/matt-jacobson/) places the series within his wider practice. [^S01] [^S02]\n\nThe four examples considered here range from window-like arrangements to a dark radial concentration and a pair of open, interpenetrating loops. Their common ground is not one signature silhouette. It is a visible relationship between a starting geometry and the forces that deform it. A surviving straight edge can make a neighbouring curve seem more fluid, because the viewer can still recognise the order from which it departed. [^S05] [^S06] [^S07] [^S08]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "In his release interview, Jacobson traces his interest in creative coding to looping GIFs and later study at the School for Poetic Computation. He describes learning from earlier generative artists and becoming less interested in complexity as an end in itself. For Watercolor Dreams, he wanted to expose creation as a process, asking viewers to attend to colour collisions, changing movement and the importance of the beginning. This is evidence for treating the drawing sequence as part of the work, rather than an incidental loading effect. [^S03]\n\nHis later portfolio account returns to the relationship between control and chance, connecting the project to the textures, gradients and organic forms of watercolour. That account explains an artistic intention. It does not by itself identify the numerical model implemented in the script. The construction described below is recoverable from the program and should be distinguished from a general claim to simulate pigment and water. [^S04] [^S02]\n\nThe distinction becomes productive when looking at the outputs. A square does not simply dissolve into randomness. Its edges become starting paths whose movement is coordinated by a field. The resulting image retains enough structure to invite reconstruction: one can imagine the thin initial contour inside a broad ribbon. In #0, a fresh reload made that passage directly visible, beginning with a spare rectangular scaffold before the coloured bands expanded. [^S02] [^S05]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The full indexed program contains 17,229 characters, including palette tables, layout definitions, letter coordinates and two small shaders. It uses p5.js 1.0.0. A seed derived from the opening portion of the token hash initializes both random and noise generators. Weighted selections then choose a palette, spatial scale, angular range and starting layout, while additional decisions select transformations such as mirroring, colour inversion and changes in flow direction. These are available mechanisms, not an audited account of their frequency in the edition. [^S01] [^S02]\n\nThe starting paths are unusually varied. They include concentric circles and squares, parallel lines, groups of circles, corner squares, intersecting bars, rectangular borders, a diamond, radial spokes and crosses. Other branches use letter outlines or separated short lines. The letter coordinates are embedded in the program, so this branch does not require an external font. A finished image can conceal its initial geometry, but that geometry determines where the colour begins to accumulate. [^S02]\n\nBefore motion starts, a resampling function distributes points along each path according to distance. Every starting path produces a pair of flows moving in opposite directions. The points retain both their current and previous positions. Their movement follows a vector field whose angle is calculated from seeded noise; a spatial scale controls how quickly the field changes across the image. Four small movement steps occur within each update. This gives a boundary a coordinated direction while allowing its different parts to bend differently. [^S02]\n\nThe program also maintains the boundary as it stretches. If neighbouring points become too far apart, new points are inserted. If they become too close, points can be marked for removal. That adjustment matters visually because a contour can lengthen and curl without simply exposing the coarse polygon from which it began. It is a practical mechanism for sustaining a moving edge, not evidence of individual pigment particles diffusing through simulated paper. [^S02]\n\nColour is drawn between the old and new boundary positions using triangle strips. Successive strips remain in an offscreen drawing surface, so the image accumulates a record of movement. The surface begins with a warm pale ground and uses subtractive blending. Dark intersections can therefore emerge where differently coloured passages meet. Describing the result as a wash is visually useful, but the inspected implementation does not calculate paper absorption, capillary action or a complete physical model of water. [^S02]\n\nTwo colour procedures supply different kinds of passage. Fixed palettes assign colours to flows and reduce opacity as they age. Variegated palettes calculate channel values with cosine functions that depend on position along a boundary, age and an initial offset. The colour can consequently change along a single travelling edge. An additional branch modulates opacity, while an inversion shader can reverse the displayed colour channels. Neither the palette names in metadata nor these branches should be confused with measurements of physical paint. [^S02]\n\nEach flow has a lifespan of 500 updates. After those updates, the program continues displaying the accumulated image but stops advancing its boundaries. It does not automatically erase the image and begin again. The elapsed time depends on rendering performance, so 500 updates should not be translated into an exact number of seconds. AB5D's held example was observed developing from thin squares into broad coloured surfaces without a click. [^S02] [^S09]\n\nThe script provides a spacebar restart and a D-key image export. Those controls were identified in code; the export was not tested. Restarting resets the seeded environment but does not reset the global frame counter, which some transformation branches use. A fresh page load is therefore the clearer basis for comparing initial renderings. Resizing also resizes the main canvas without immediately rebuilding every offscreen component. Preserving the token input, program and rendering environment remains relevant even when the final state resembles a conventional picture. [^S02]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The official collection gives April 30, 2021 as the release date. The interview published two days earlier discusses the project as an upcoming release. Together they provide a public chronology independent of the first token's earlier timestamp. The index records that first token on April 27, activation on April 29, and both the second mint and scheduled start on April 30. These fields describe distinct events and remain separately named in the evidence record. [^S01] [^S03]\n\nThe second mint is recorded at 17:00:17 and completion at 17:08:06 on April 30. That short interval is not automatically an exact duration for unrestricted public purchasing. The records inspected here do not classify every artist, reserved or administrative allocation, and the earlier token already shows why the first mint and public release should not be collapsed into one event. [^S01]\n\nCurrent invocations and maximum both read 600. The observed price setting is 0.1 ETH, but a present configuration is not sufficient evidence of the opening price or the consideration paid in every transaction. AB5D's #399 has a mint timestamp within the April 30 sequence. Its fresh ownership record establishes the collection example used here, rather than supplying missing evidence about launch pricing. [^S01] [^S09]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current artist-set artwork label is CC BY-NC 4.0. The corresponding Creative Commons deed allows sharing and adaptation subject to attribution, an indication of changes and the noncommercial condition. The index did not supply a terms URL, so the named deed is linked separately. This records the observed label; a complete history of earlier licence terms has not been recovered. Token ownership is not treated as ownership of the artist's copyright. [^S01] [^S10]\n\nThe p5.js 1.0.0 dependency includes an LGPL 2.1 licence. That library licence does not establish an independent reuse grant for Jacobson's artwork program. No separate artist-code grant was identified in the inspected material. The program is analysed here rather than redistributed with the essay. AB5D's original prose is dedicated to CC0, with artwork, artist software and library rights kept distinct. [^S02] [^S11]"
    },
    {
      "id": "examples",
      "heading": "Close reading of four outputs",
      "bodyMarkdown": "Editions 0, 1, 10 and 20 form a preselected early-edition comparison. Their full token identifiers are 59000000, 59000001, 59000010 and 59000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. All four original generators were opened and visually inspected. The sample supports close reading, not a claim to represent all 600 compositions. A fresh early state was also compared with a developed state for #0; the same temporal comparison was made for the held #399. [^S05] [^S06] [^S07] [^S08] [^S09]\n\nIn #0, a thin rectangular scaffold becomes a network of broad pink, ochre, grey and violet bands. Pale openings retain the impression of windows, while wavering edges complicate their regular spacing. Some intersections become nearly black. The remaining straight portions are important: they make the soft departures around them visible as transformations, rather than as arbitrary outlines. Seen from its beginning, the picture carries a memory of how each broad passage grew from a narrow edge. [^S05]\n\nIn #1, four large corner arrangements leave pale interiors surrounded by cyan, lemon yellow and magenta. The bands seem lighter and more prismatic than those of #0. Along the central channels, small scallops and pointed interruptions vary the rhythm of an otherwise clear division into quadrants. Gradual changes within the colour prevent each border from reading as one flat strip. The eye can follow a contour while the hue changes beneath that act of following. [^S06]\n\nIn #10, a dark central mass gathers teal, grey and violet passages into a radial arrangement. Cream incisions enter between the lobes, sometimes narrowing into pointed clefts. A straight horizontal remnant contrasts with the surrounding curls. Compared with the open windows of #1, the centre becomes difficult to disentangle: several accumulated paths converge into a density that hides their separate beginnings. The composition demonstrates how the same movement-and-deposition mechanism can shift from a legible scaffold toward an almost opaque concentration. [^S07]\n\nIn #20, yellow and teal passages form two overlapping open bodies. Green regions appear where they meet, and dark blue edges make several folds seem sharply turned. A large pale opening lies toward the right of centre, while a smaller opening survives lower left. These spaces prevent the colour from becoming one undifferentiated cloud. The image is fluid without abandoning containment: its paths still suggest loops, even where their edges have widened into sheets. [^S08]\n\nAB5D's #399 begins as four thin square outlines. Later, teal, navy, pink, violet and red occupy much of the field. Some square edges remain emphatic while curves sweep across their interiors. A deep blue turn in the upper-right area and a pale diagonal channel through the middle make the arrangement feel folded. This observed transformation is why the header uses the original renderer: the finished image matters, but its arrival is also part of the encounter. [^S09]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Watercolor Dreams makes a convincing argument for duration through a relatively simple viewing demand: stay with the picture while its boundaries move. The finished compositions preserve different amounts of their starting order. Some remain easy to reconstruct as frames or loops; others gather into masses that resist that reconstruction. The work's interest lies in the relationship between those states, and in the way colour records the movement between them. [^S02] [^S05] [^S07] [^S09]\n\nFurther research should establish launch-era price and allocation evidence, recover any earlier artwork terms or separate artist-code licence, and compare the indexed script with a pinned chain retrieval. Broader temporal sampling would also help distinguish the effects of each transformation branch. The four comparisons do not resolve those questions. They do show how an authored process can make the creation of a picture available as an aesthetic experience in its own right. [^S01] [^S02]"
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Freshthinrectangularscaffold comparedwithdevelopedpinkochregrayvioletbands, paleopenings anddarkintersections.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000000.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "mystical",
        "isStriped": "false",
        "noiseScale": 50,
        "composition": "edgeRectangles",
        "isSymmetric": "true",
        "paletteType": "gradedWash",
        "angleAmplitude": 55,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-27T04:34:03+00:00",
      "mintTransactionHash": "0x0a2c5bc40e98760ae4a559db16c81a1950ac86685824e366e44784510958c4ce"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Developedfourcornerwindows,cyanlemonmagentagradients,centralchannelsandscallopededges.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000001.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "playful",
        "isStriped": "true",
        "noiseScale": 35,
        "composition": "cornerSquares",
        "isSymmetric": "true",
        "paletteType": "varigatedWash",
        "angleAmplitude": 40,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-30T17:00:17+00:00",
      "mintTransactionHash": "0x3299e0cf12a9f0bd12020daae6c41b81e2859bbd26fcbdd582cc051efbef69e9"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Developedradialdarkmass,tealgrayvioletlobes,creamincisionsandstraightseedremnant.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000010.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "perplexed",
        "isStriped": "false",
        "noiseScale": 30,
        "composition": "star",
        "isSymmetric": "false",
        "paletteType": "varigatedWash",
        "angleAmplitude": 45,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-30T17:00:17+00:00",
      "mintTransactionHash": "0x1f8fdf4dbf4f6b0b8cf7f19f9c97994caa7acc4a8ecb0ae064518b0b7412730c"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Developedyellow/tealopenloops,greenoverlaps,darkbluefolds,offcentrecreamopenings.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000020.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "bubbly",
        "isStriped": "false",
        "noiseScale": 25,
        "composition": "horizontalCircles",
        "isSymmetric": "false",
        "paletteType": "gradedWash",
        "angleAmplitude": 30,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-30T17:00:17+00:00",
      "mintTransactionHash": "0x907ff5fb1decf3b23c9d0937239ae7af1252caa06d5ec842f575dc46d4d18faf"
    }
  ],
  "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": "Watercolor Dreams research, manuscript, source package and presentation preparation, plus final Color Magic Planets checks.",
      "essayCount": 1,
      "perEssayUsage": null,
      "usage": {
        "inputTokens": 4061729,
        "cachedInputTokens": 3981952,
        "outputTokens": 9353,
        "reasoningOutputTokens": 197,
        "totalTokens": 4071082
      },
      "usageSummary": "across Watercolor Dreams research and drafting, plus final Color Magic Planets 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-17T20:56:46.254Z",
      "recordedAt": "2026-09-17T21:15:54.386Z"
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script filtered by slug watercolor-dreams-by-numbersinmotion",
    "sha256": "40dfdec66cf9c9e9ef61f005527ecef9b2e2248738cc42ea78c66001c2b8a61b",
    "retrievedAt": "2026-09-18",
    "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": 600,
    "maximumEdition": 600,
    "mintDate": "2021-04-27T04:34:03+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "token_id": "59000399",
      "invocation": 399,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "hash": "0x53505a6621b33c54477e5e9fd7bdf70e9e8e7ba1d50444c80f112f3e4462d337",
      "minted_at": "2021-04-30T17:03:35+00:00",
      "mint_transaction_hash": "0x7b279fdc2cc5ec9303caa16a0936a681dcabaff9613350c18fe19ca2c454d668",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399.png",
      "primary_asset_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399",
      "live_view_url": "/series/watercolor-dreams-by-numbersinmotion/artwork.html",
      "features": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "fearless",
        "isStriped": "false",
        "noiseScale": 45,
        "composition": "cornerSquares",
        "isSymmetric": "false",
        "paletteType": "gradedWash",
        "angleAmplitude": 40,
        "isColorInverted": "false"
      },
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "chainId": 1,
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399",
      "mode": "live",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "Original held399 finite drawing observed from thin outlines to broad washes.",
      "interactionNote": "The original artwork draws automatically, then settles into its finished image.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399"
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Freshthinrectangularscaffold comparedwithdevelopedpinkochregrayvioletbands, paleopenings anddarkintersections.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000000.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "mystical",
        "isStriped": "false",
        "noiseScale": 50,
        "composition": "edgeRectangles",
        "isSymmetric": "true",
        "paletteType": "gradedWash",
        "angleAmplitude": 55,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-27T04:34:03+00:00",
      "mintTransactionHash": "0x0a2c5bc40e98760ae4a559db16c81a1950ac86685824e366e44784510958c4ce",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Developedfourcornerwindows,cyanlemonmagentagradients,centralchannelsandscallopededges.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000001.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "playful",
        "isStriped": "true",
        "noiseScale": 35,
        "composition": "cornerSquares",
        "isSymmetric": "true",
        "paletteType": "varigatedWash",
        "angleAmplitude": 40,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-30T17:00:17+00:00",
      "mintTransactionHash": "0x3299e0cf12a9f0bd12020daae6c41b81e2859bbd26fcbdd582cc051efbef69e9",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Developedradialdarkmass,tealgrayvioletlobes,creamincisionsandstraightseedremnant.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000010.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "perplexed",
        "isStriped": "false",
        "noiseScale": 30,
        "composition": "star",
        "isSymmetric": "false",
        "paletteType": "varigatedWash",
        "angleAmplitude": 45,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-30T17:00:17+00:00",
      "mintTransactionHash": "0x1f8fdf4dbf4f6b0b8cf7f19f9c97994caa7acc4a8ecb0ae064518b0b7412730c",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "59000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Developedyellow/tealopenloops,greenoverlaps,darkbluefolds,offcentrecreamopenings.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000020.png",
      "indexedFeatures": {
        "isBent": "false",
        "isWavey": "false",
        "palette": "bubbly",
        "isStriped": "false",
        "noiseScale": 25,
        "composition": "horizontalCircles",
        "isSymmetric": "false",
        "paletteType": "gradedWash",
        "angleAmplitude": 30,
        "isColorInverted": "false"
      },
      "mintedAt": "2021-04-30T17:00:17+00:00",
      "mintTransactionHash": "0x907ff5fb1decf3b23c9d0937239ae7af1252caa06d5ec842f575dc46d4d18faf",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000020"
    },
    {
      "tokenId": "59000399",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399.png",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/59000399"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/watercolor-dreams-by-numbersinmotion/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/watercolor-dreams-by-numbersinmotion/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
