{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 55,
    "slug": "talking-blocks-by-remo-x-dcsan",
    "title": "Talking Blocks",
    "artistCredit": "REMO x DCsan",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/remo-x-dcsan/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "invocations",
      "topic": "mint",
      "value": 512,
      "observedAt": "2026-09-17",
      "sourceIds": [
        "S01"
      ],
      "status": "reported",
      "note": "Current indexed observation; not independently replayed from chain events."
    },
    {
      "id": "max_invocations",
      "topic": "mint",
      "value": 512,
      "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-25T01:52:38+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-25T05:32:04+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-25T02:23:47+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-07-27T16:37:39+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-25T05:32:04+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": "NIFTY license",
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01"
      ],
      "note": "Reported label only; operative text, version and historical terms 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": "Talking Blocks presents the token hash as something to look at, not merely something operating behind the image. A curved string of hexadecimal characters occupies a field of coloured sectors and concentric arcs. Thin, wavering rings sometimes cut across the larger translucent forms. As the image changes, the characters provide a persistent point of recognition within a composition that refuses to settle into a single definitive view. Four original generators were observed at different moments for this essay. [^S05] [^S06] [^S07] [^S08]\n\nREMO x DCsan released the 512-work series through Art Blocks Factory in April 2021. Their description connects the fixed token hash with a changing response to a person encountering the artwork. It proposes a visual signature and a conversation with the blockchain. Those are productive artistic metaphors, but the inspected program does not interpret language or receive changing messages from the chain. It combines hash-derived parameters, ongoing drawing and an optional measurement of microphone input. The [REMO x DCsan dossier](https://ab5d.xyz/artists/remo-x-dcsan/) places the collaboration in a wider context. [^S01] [^S02]\n\nThe work is consequently more than the preview attached to a token record. A still can show the relationship between letters, rings and sectors, but it cannot establish how those relationships develop. Nor can automatic animation alone demonstrate a microphone response. The observations here distinguish the visible animation, which was inspected, from the sound-input behaviour, which was read in the code but not tested with an enabled microphone. [^S02] [^S05] [^S06] [^S07] [^S08]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The official statement makes the tension between a permanent input and a nonrepeatable encounter central to the project. Rather than hiding the blockchain identifier behind a naturalistic image, the artists put its characters into the visual field. The code confirms that these are extracted hexadecimal pairs. Their placement gives technical data a graphic role without turning it into ordinary prose. The text is identifiable as a sequence even when it remains difficult to read around the curve. [^S01] [^S02]\n\nA later account of the duo's Dream Engine includes DCsan's description of ambient interactivity: art that responds to its surroundings without demanding continuous attention. That 2022 statement is useful evidence of a continuing concern within the collaboration. It is not a development diary for Talking Blocks, and Dream Engine's musical behaviour should not be transferred backward to this earlier program. No complete archive of Talking Blocks prototypes or division of creative responsibilities was recovered. [^S03]\n\nThe deployed work nevertheless makes several compositional commitments clear. It keeps a common centre, treats colour as layered rather than simply adjacent, and lets the accumulated drawing history affect what remains visible. The circular text gives these changes a token-specific reference. Their combination makes the artwork resemble a readout whose operation is visible but whose meaning cannot be reduced to one measurement. That interpretation comes from the inspected images and procedure, not a documented intention to imitate a particular instrument. [^S02] [^S05] [^S06]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete indexed artist script, 8,710 characters, was read. It divides the hash into thirty-two two-character strings, parses their numeric values and appends the first value to the working sequence. The strings remain available for drawing as text. Different bytes set colour ranges, angular offsets and the sizes of fifteen arc forms. One initial hue assignment is later replaced during drawing initialization, so the description must follow the executed assignments rather than treating every early variable value as final. [^S02]\n\nThe arc forms share the canvas centre but differ in diameter and angular span. Their start and end angles are multiplied by a growing tick value. The program updates one form every third drawing count, while text is redrawn on alternating ticks. This staggered activity helps produce a composition in which some changes are obvious and others seem to emerge through the surface. The artwork does not replace the whole image with an independently composed frame at each step. [^S02]\n\nTwo offscreen graphics surfaces retain previous drawing. Forms are combined using different blending operations, and the text colour changes over time. Initialization runs thirty-two rendering passes before the ordinary display continues. The preview-like opening is therefore already an accumulated state. As further marks arrive, earlier shapes may be reinforced, overlaid or made less conspicuous. The history of drawing participates in the image's appearance. [^S02]\n\nThe rings are built from a circular set of points whose radii alternate slightly, producing a fine wavering edge. Two principal radii are drawn with paired line treatments. Their radius calculation includes a volume value alongside fixed offsets, so there is a visible ring structure even when no microphone measurement is available. These are not plotted samples of a recorded waveform. The procedure turns an amplitude measurement into a change in size. [^S02]\n\nFor microphone input, the script requests an audio stream and routes it into a Web Audio processing node. It reads samples from the first channel, squares them, averages them and takes a square root. This root-mean-square calculation measures signal level; it does not identify words, musical notes or the emotional content of speech. No autonomous musical oscillator or deliberate audio-output-buffer writing was found in the inspected program. The project should not be described as generating a soundtrack on that evidence. [^S02]\n\nThe implementation uses ScriptProcessorNode, an interface marked deprecated in the current Web Audio specification. This is a compatibility concern for future reproduction, not proof that the work failed in its original environment. The current specification is cited to identify the interface and its status; the account of Talking Blocks' particular audio path comes from its own source. [^S04]\n\nMicrophone capture also depends on browser permission and document policy. The present review did not enable microphone access, and therefore makes no claim to have verified the input-driven expansion of the rings. The running animation was visible without that test. The header provides the animated held work and a route to its original renderer, where a viewer can choose whether to use the optional input. Permission requirements belong to the experience rather than being evidence that the underlying artwork is static. [^S10] [^S09]\n\nGlitches form another layer. The program can select a horizontal band, sample existing pixels and lay down short rectangles with altered colour values. After an initial interval, further bands can start through calls to p5's random function. A seed variable is assigned in the script, but no corresponding randomSeed call was found. It would therefore be inaccurate to promise that the complete evolving image, including every glitch, is determined solely by the hash. Fixed parameters coexist with runtime variation and possible human input. [^S02]\n\nClicking sets a glitch position and starts its short drawing interval, then attempts audio initialization again. A click was exercised on the held edition, but its brief horizontal effect was not clearly captured, so that visual interaction remains unconfirmed here. A separate pause function exists in the source without an identified in-script user-interface binding; clicking should not be advertised as a pause control. These distinctions prevent unused or unverified code paths from becoming invented product features. [^S02] [^S09]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The official page gives 25 April 2021 as the release date. The index records the first token at 01:52:38 that day, activation at 02:23:47 and the second mint at 05:32:04. The scheduled-start field also contains the second mint's timestamp. These observations are compatible with a release on that date, but they identify separate events and do not classify which tokens were administrative, reserved or public purchases. Full timestamp values remain in the evidence record. [^S01]\n\nThe current record contains 512 invocations against a maximum of 512. Its completion field is 27 July 2021 at 16:37:39. The price setting observed during research is 0.1 ETH. That setting is not independently established as the original opening price or as the amount paid for every edition. Neither the elapsed calendar interval nor current supply proves an uninterrupted public sale or an exact sellout duration. [^S01]\n\nAB5D's edition #56 has a recorded mint on 16 July 2021. This is evidence about the featured token, not a reason to infer that edition numbers directly encode mint dates or purchase order across every project. Historical configuration changes and a transaction-level account of the offering remain research tasks. The page's first-mint summary names the first indexed token rather than silently choosing a later activation value. [^S09] [^S01]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current project record reports NIFTY license, with no terms link. The operative text and version were not recovered, so a specific reproduction, adaptation or commercial-use permission cannot be inferred from that label alone. No separate grant covering reuse of the artist's program was identified in the inspected material. The source is analysed but not republished with this essay. [^S01] [^S02]\n\nThe p5.js 1.0.0 dependency has its own tagged licence record, including GNU LGPL version 2.1. That library permission remains distinct from the artwork and artist-code questions. AB5D's CC0 dedication covers the original essay prose. The header caption identifies the unresolved artwork terms and links the collected token rather than presenting the archive's prose licence as a licence for everything on the page. [^S11]"
    },
    {
      "id": "examples",
      "heading": "Close reading of four outputs",
      "bodyMarkdown": "The comparison uses preselected editions 0, 1, 10 and 20. Their full identifiers are 55000000, 55000001, 55000010 and 55000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. Each original renderer was inspected at separated moments. The account describes those observed states without treating them as permanent palettes or a representative sample of all 512 works. [^S05] [^S06] [^S07] [^S08]\n\nIn #0, one view was dominated by burgundy, red and purple sectors around the centre, with two fine bright rings cutting through the broad colour. The hexadecimal text curved through the upper-right region. A later state shifted the upper-right field toward blue and strengthened red on the left. The text's location helped maintain identity while the balance of colour changed. The thin rings could appear briefly decisive, then become less evident beneath later drawing. [^S05]\n\nIn #1, blue and violet discs occupied much of the square, leaving green visible near the outer corners. Teal wedges interrupted the concentric order. The hash ran around the lower-left portion rather than the upper-right location seen in #0. Across observations, the thin rings changed from pink toward warmer yellow while internal sectors shifted. The image combined two competing readings: nested enclosures and a fan of pieces opening from one centre. [^S06]\n\nIn #10, the first inspected view combined deep blue and teal with a narrow curved line of text above and to the right. A later view became predominantly green, with new angular divisions and a conspicuous horizontal band of green and pink fragments across the lower field. That band interrupted the radial organisation instead of extending it. Its screen-like discontinuity made the circular structure seem temporarily vulnerable to a different drawing logic. [^S07]\n\nIn #20, green and olive circles sat within a cyan outer field. The hash curved through the lower-right region, and fine warm lines marked the inner rings. Small multicoloured strips were visible near the upper corners. A later state changed the central sectors and ring colours while retaining a broadly green-and-cyan impression. Compared with #10's conspicuous band, the interruptions initially read as peripheral residues around a more continuous circular surface. [^S08]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Talking Blocks makes a useful distinction between a stable identifier and an unstable encounter. The hash remains available as both parameter source and visible characters, while the running image depends on accumulated drawing, runtime choices and potentially microphone input. Its interest lies in holding those layers together without requiring that a single screenshot exhaust the work. The visible text offers continuity within change, rather than cancelling change by guaranteeing one immutable frame. [^S02] [^S05] [^S06] [^S07] [^S08]\n\nThe held edition #56 was observed as green, teal and olive sectors, concentric forms and thin lavender or green rings, with its characters curving around the lower-right region. Continued automatic change was verified. That provides a specific collected example for the archive, while the untested microphone path remains plainly identified. [^S09]\n\nRemaining work includes testing microphone response with explicit participant consent, confirming the short click-triggered glitch, reconstructing launch-era prices and allocations, locating operative rights terms and comparing the index script with a pinned chain retrieval. Preservation should record browser dependencies, permissions and temporal observations as well as the token hash. The work's variable encounter is part of what must be documented, not a defect to be concealed by a convenient still."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Redburgundypurple sectors toblueupperright/redleft, thinrings and upperrighthextext; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000000.png",
      "indexedFeatures": {
        "endHue": 173,
        "glitch": 0,
        "hueStep": 4,
        "hueRange": 124,
        "startHue": 48,
        "initAngle": 73,
        "stepAngle": 1
      },
      "mintedAt": "2021-04-25T01:52:38+00:00",
      "mintTransactionHash": "0xc721be04c1d8731c2e547eddfd6683d6ced25668d9e2334bdaa11824a1ffd5fc"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Bluevioletconcentricforms, green corners, tealwedges, lowerlefttext; ringschangedpinktowarmyellow; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000001.png",
      "indexedFeatures": {
        "endHue": 153,
        "glitch": 0,
        "hueStep": 4,
        "hueRange": 123,
        "startHue": 31,
        "initAngle": 48,
        "stepAngle": 1
      },
      "mintedAt": "2021-04-25T05:32:04+00:00",
      "mintTransactionHash": "0x6761810c78b41364f90a55dcccfbf1f8f692d0a8c3a898854fc5a84b028faa9a"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Bluetealsectors shiftgreen, lowerhorizontalgreen/pinkglitchband; upperrighttext; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000010.png",
      "indexedFeatures": {
        "endHue": 203,
        "glitch": 0,
        "hueStep": 6,
        "hueRange": 189,
        "startHue": 13,
        "initAngle": 96,
        "stepAngle": 1
      },
      "mintedAt": "2021-04-26T02:37:59+00:00",
      "mintTransactionHash": "0x290287b296753563410d9185912add4449ac449728479cae99736735eff4f9d6"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Greenolivecircles/cyanouterfield, lowerrighttext, peripheralglitchstrips; innersectors/ringschange; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000020.png",
      "indexedFeatures": {
        "endHue": 116,
        "glitch": 0,
        "hueStep": 3,
        "hueRange": 108,
        "startHue": 8,
        "initAngle": 15,
        "stepAngle": 1
      },
      "mintedAt": "2021-05-02T23:46:20+00:00",
      "mintTransactionHash": "0x3e16eeff4f1f5ab01c1d158f27000e939cd15ed119f5f43e224d0484a392092e"
    }
  ],
  "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": "Talking Blocks research, manuscript, source package and presentation preparation, plus final Rhythm and P:X checks.",
      "essayCount": 1,
      "perEssayUsage": null,
      "usage": {
        "inputTokens": 5361509,
        "cachedInputTokens": 5314688,
        "outputTokens": 9059,
        "reasoningOutputTokens": 602,
        "totalTokens": 5370568
      },
      "usageSummary": "across Talking Blocks research and drafting, plus final Rhythm and P:X 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:25:55.887Z",
      "recordedAt": "2026-09-17T20:50:27.933Z"
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script filtered by slug talking-blocks-by-remo-x-dcsan",
    "sha256": "a9a4f1defb46ab35338fb336edd7f3097c5efcaf596975dbdd7d240c879ed28e",
    "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."
    },
    {
      "id": "microphone-and-click-verification",
      "status": "pending",
      "reviewer": "Phil",
      "reason": "Automatic animation observed; microphone input not enabled and short click glitch not clearly captured. These limits are explicit in the essay."
    }
  ],
  "presentation": {
    "editionSize": 512,
    "maximumEdition": 512,
    "mintDate": "2021-04-25T01:52:38+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "token_id": "55000056",
      "invocation": 56,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "hash": "0x640cfd3fbfd479f039ce0188b01588ff495ca65e597bc92be6c36e9d92926d17",
      "minted_at": "2021-07-16T19:34:50+00:00",
      "mint_transaction_hash": "0x71d140a219c7e3993b7a14cfcc93a2377d93df97cb0bb4026c9aca8512427d20",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000056.png",
      "primary_asset_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000056",
      "live_view_url": "/series/talking-blocks-by-remo-x-dcsan/artwork.html",
      "features": {
        "endHue": 175,
        "glitch": 1,
        "hueStep": 5,
        "hueRange": 174,
        "startHue": 0,
        "initAngle": 39,
        "stepAngle": 1
      },
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "chainId": 1,
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000056",
      "mode": "live",
      "copyrightStatus": "NIFTY License (terms unresolved)",
      "copyrightUrl": null,
      "displayBasis": "Original held56 animation observed; microphone input untested and click glitch not captured.",
      "interactionNote": "The artwork animates automatically. Open the original artwork to choose whether to enable its microphone response.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000056"
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000000",
      "sourceIds": [
        "S05"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Redburgundypurple sectors toblueupperright/redleft, thinrings and upperrighthextext; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000000.png",
      "indexedFeatures": {
        "endHue": 173,
        "glitch": 0,
        "hueStep": 4,
        "hueRange": 124,
        "startHue": 48,
        "initAngle": 73,
        "stepAngle": 1
      },
      "mintedAt": "2021-04-25T01:52:38+00:00",
      "mintTransactionHash": "0xc721be04c1d8731c2e547eddfd6683d6ced25668d9e2334bdaa11824a1ffd5fc",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000001",
      "sourceIds": [
        "S06"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Bluevioletconcentricforms, green corners, tealwedges, lowerlefttext; ringschangedpinktowarmyellow; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000001.png",
      "indexedFeatures": {
        "endHue": 153,
        "glitch": 0,
        "hueStep": 4,
        "hueRange": 123,
        "startHue": 31,
        "initAngle": 48,
        "stepAngle": 1
      },
      "mintedAt": "2021-04-25T05:32:04+00:00",
      "mintTransactionHash": "0x6761810c78b41364f90a55dcccfbf1f8f692d0a8c3a898854fc5a84b028faa9a",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000010",
      "sourceIds": [
        "S07"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Bluetealsectors shiftgreen, lowerhorizontalgreen/pinkglitchband; upperrighttext; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000010.png",
      "indexedFeatures": {
        "endHue": 203,
        "glitch": 0,
        "hueStep": 6,
        "hueRange": 189,
        "startHue": 13,
        "initAngle": 96,
        "stepAngle": 1
      },
      "mintedAt": "2021-04-26T02:37:59+00:00",
      "mintTransactionHash": "0x290287b296753563410d9185912add4449ac449728479cae99736735eff4f9d6",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "55000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000020",
      "sourceIds": [
        "S08"
      ],
      "selectionNote": "Preselected editions 0, 1, 10 and 20; small early-edition comparison, not representative sampling.",
      "observationNote": "Greenolivecircles/cyanouterfield, lowerrighttext, peripheralglitchstrips; innersectors/ringschange; two live states.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000020.png",
      "indexedFeatures": {
        "endHue": 116,
        "glitch": 0,
        "hueStep": 3,
        "hueRange": 108,
        "startHue": 8,
        "initAngle": 15,
        "stepAngle": 1
      },
      "mintedAt": "2021-05-02T23:46:20+00:00",
      "mintTransactionHash": "0x3e16eeff4f1f5ab01c1d158f27000e939cd15ed119f5f43e224d0484a392092e",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/55000020"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/talking-blocks-by-remo-x-dcsan/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/talking-blocks-by-remo-x-dcsan/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
