{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 181,
    "slug": "focus-by-matto",
    "title": "FOCUS",
    "artistCredit": "Matto",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/matto/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "edition-size",
      "topic": "work-context",
      "value": 567,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "verified",
      "note": "Indexed invocations 567 against max_invocations 567 with complete true; the project page states a fixed edition of 567."
    },
    {
      "id": "artist-stated-edition",
      "topic": "conception",
      "value": 1000,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S06",
        "S02"
      ],
      "status": "conflicting",
      "note": "The artist's statement calls FOCUS 'a 1000-image long meditation' while the index reports 567 of 567 complete. No record of a maximum being changed was located."
    },
    {
      "id": "project-id",
      "topic": "work-context",
      "value": 181,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "On-chain project ID. The AB5D atlas position 177 is a catalogue index and is not this."
    },
    {
      "id": "library",
      "topic": "construction",
      "value": "p5@1.0.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01",
        "S05"
      ],
      "status": "verified",
      "note": "Declared by the index, printed on the project page, and confirmed as the only script the renderer loads."
    },
    {
      "id": "script-bytes",
      "topic": "construction",
      "value": 18815,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Three indexed fragments returned in the order 1, 0, 2 that concatenate in ascending index order to the script field exactly."
    },
    {
      "id": "script-sha256",
      "topic": "construction",
      "value": "6eb9b8939ee875f35ede89fd4f0c936fb3f718b612007481ac1efd28e752c097",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "SHA-256 over the UTF-8 bytes of the returned script field. Two retrievals either side of a connection loss produced the same digest."
    },
    {
      "id": "no-pseudorandomness",
      "topic": "construction",
      "value": "no pseudo-random generator",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "Confirmed by reading the program and stated independently by the artist, who gives hand-recreatability as the reason."
    },
    {
      "id": "render-model",
      "topic": "construction",
      "value": "single frame then halt",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S05"
      ],
      "status": "verified",
      "note": "The drawing routine ends with noLoop(). Three tokens held a frame counter of 1 across their observation windows; each interaction advanced it by exactly one."
    },
    {
      "id": "aspect-ratios",
      "topic": "construction",
      "value": "three: square 196, golden-ratio portrait 184, golden-ratio landscape 187",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "status": "verified",
      "note": "Derived from the shape selector and reproduced across the edition; two measured canvases returned ratios of 0.6176 and 0.6178 against the golden ratio 0.618."
    },
    {
      "id": "index-aspect-ratio",
      "topic": "work-context",
      "value": 1,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "conflicting",
      "note": "The index field and the project page both record a single aspect ratio of 1, which is correct for 196 of 567 tokens."
    },
    {
      "id": "special-trait-single-value",
      "topic": "construction",
      "value": "Yes on all 567",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03",
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "The Portal and Truth values require no pattern border and no pattern together. Fourteen tokens have no border, 56 have no pattern, none have both."
    },
    {
      "id": "trait-reproduction",
      "topic": "construction",
      "value": "567 of 567 on every reproduced trait",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03",
        "S06"
      ],
      "status": "verified",
      "note": "Shape Recursion Factor required the three post-palette overrides to move from 450 of 567 to 567 of 567; the artist documents those overrides."
    },
    {
      "id": "token-parity-parameter",
      "topic": "construction",
      "value": "token ID parity selects Triangle Fills orientation",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "verified",
      "note": "Present in the program and confirmed by the artist's statement. One parameter comes from outside the hash."
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-10-09T03:18:11+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03"
      ],
      "status": "verified",
      "note": "Invocation 0, the only mint preceding the public opening."
    },
    {
      "id": "activation",
      "topic": "mint",
      "value": "2021-10-14T17:08:35+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Distinct from both the first mint and the public opening."
    },
    {
      "id": "public-opening",
      "topic": "mint",
      "value": "2021-10-26T16:00:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "verified",
      "note": "Index start_datetime. The project page renders this instant locally and displays 27 October 2021."
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2023-06-16T03:11:35+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "Same instant as the final mint, invocation 566."
    },
    {
      "id": "sale-duration-days",
      "topic": "mint",
      "value": 597.5,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "Endpoints are the public opening and the final mint; the difference in milliseconds divided by 86400000."
    },
    {
      "id": "first-day-mints",
      "topic": "mint",
      "value": 118,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03"
      ],
      "status": "verified",
      "note": "59 in the first hour after opening and 59 more during the rest of that day, out of 567."
    },
    {
      "id": "current-index-price",
      "topic": "mint",
      "value": "0.12 ETH",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Current observation of price_per_token_in_wei. The project page publishes no sales note, so no original mechanism or historical price is asserted."
    },
    {
      "id": "licence-label",
      "topic": "rights",
      "value": "CC BY-NC 4.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S08"
      ],
      "status": "verified",
      "note": "Exact index string. Unusually for this period the link resolves and the deed's canonical URL matches it exactly, so label, link and instrument agree."
    },
    {
      "id": "code-copyright-notice",
      "topic": "rights",
      "value": "Copyright Matthew Costanza 2021",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Asserted in a comment on the program's first line. An assertion of authorship, not a grant; no separate code licence was located."
    },
    {
      "id": "artist-interview",
      "topic": "conception",
      "value": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "unknown",
      "note": "Null in the indexed record, but the artist publishes an extensive statement on the project website, which this package uses instead."
    },
    {
      "id": "ab5d-holding",
      "topic": "examples",
      "value": "181000122",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S04",
        "S03"
      ],
      "status": "verified",
      "note": "Owner address matched against the complete refreshed set of three AB5D linked wallets; exactly one match across all 567 tokens."
    },
    {
      "id": "audio",
      "topic": "examples",
      "value": "silent by construction",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S05",
        "S02"
      ],
      "status": "verified",
      "note": "No audio or video elements, no sound library loaded, no audio call in the program. Nothing was heard; this is not a blocked-autoplay observation."
    }
  ],
  "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": [
        "S02",
        "S08",
        "S06"
      ],
      "note": "The index label, the link of record and the deed's own canonical URL agree exactly. The deed was read in full this session: it permits sharing and adapting, conditioned on attribution and on non-commercial use, and forbids additional restrictions. The deed states that it is not itself the licence and has no legal value, so the operative terms are the full legal code, which was not opened. Ownership of a token is not a permission over the artwork.",
      "conflicts": [
        "The artist separately offers signed prints and invites owners to print the work themselves. As licensor the artist may permit what the licence would otherwise restrict, so this is recorded as the artist's stated permission rather than as a term of the CC grant."
      ]
    },
    "code": {
      "reportedLabel": "Copyright Matthew Costanza 2021",
      "category": "all-rights-reserved",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "note": "Asserted in a comment on the program's first line, which also directs readers to a better commented version on the artist's website. Recorded as an assertion of authorship rather than a located licence instrument. On-chain storage establishes readability, not redistribution rights, so no artist code is reproduced in this package.",
      "conflicts": []
    },
    "thirdParty": [
      {
        "component": "p5.js 1.0.0",
        "reportedLabel": null,
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S02",
          "S05"
        ],
        "note": "Declared dependency and the only script the renderer loads. Upstream licensing not inspected and recorded separately.",
        "conflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "FOCUS is Art Blocks project 181 on the contract at `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, on Ethereum mainnet, credited to Matto. The indexed record returns 567 invocations against a maximum of 567, a declared dependency of `p5@1.0.0`, and a `display_static` value of false [^S02]. The project page describes it as an Art Blocks 500 release in the Factory category, states a fixed edition of 567, and carries an interactive badge but no animated badge [^S01]. That badge combination is accurate, and this essay will show why it matters.\n\nEach output is a rectangle of paper carrying a pattern, and at its centre a single shape: a square, diamond, circle, tall or wide rectangle, tall or wide diamond, or tall or wide eye. The pattern recedes toward that shape in one-point perspective, built from repeated borders and interior linework. The palette is seven colours and they are named after stationery: Felt-Tip Black, White Paint Marker, Gold Paint Marker, Teacher's Red, Ballpoint Blue, Gel-Pen Green and Pink Highlighter [^S03]. The artist states the reason for that naming directly: the colours are \"all real things, like pens and markers\", because the outputs are meant to be reproducible by hand [^S06].\n\nThree properties of the edition are worth fixing at the outset, because each is either absent from or contradicted by the platform record.\n\nThe work is not animated and it is not a loop. Its drawing routine ends by halting the sketch, so each token renders exactly one frame and stops [^S02]. Observed in the renderer, four separate tokens held a frame counter of 1 across observation windows of four to eight seconds, with byte-identical canvas signatures throughout [^S05]. What the work has instead is interaction: four documented controls that redraw the image with different parameters.\n\nThe edition has three aspect ratios, not one. The central shape determines the ratio: square for the first three shapes, a golden-ratio portrait for the next three, a golden-ratio landscape for the last three. Reproducing that rule across the edition gives 196 square, 184 portrait and 187 landscape tokens [^S03]. The index records a single `aspect_ratio` of 1 and the project page prints ASPECT RATIO 1, which is correct for 196 of 567 tokens [^S01][^S02]. Measured in the renderer, one token returned a canvas of 1124 by 1820 for a ratio of 0.6176 and another 1324 by 818 for 0.6178, against the golden ratio of 0.618 [^S05].\n\nAnd one of the twelve published traits carries no information at all. The trait named Special reads \"Yes\" on all 567 tokens [^S03]. Its other two values exist in the program and were never minted."
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "FOCUS is unusually well documented by its artist. The website recorded against the project resolves, and the page it reaches carries roughly 24,000 characters of artist statement covering motivation, perceptual theory, the algorithm, the interactivity and a manual recreation of an output in pencil and paint [^S06]. The indexed interview field is null, but in this case the artist's own page more than covers the gap [^S02].\n\nThe work is the second in what the artist calls the Zenerative series, following Ensō, which was Art Blocks project 34 [^S06][^S07]. On the Ensō page the artist describes a long convergence: art and programming since school, Chinese martial arts and Eastern spirituality in college, sumi-e ink wash painting as a meditative practice, then self-teaching solidity, python, processing, ruby, p5.js and finally vanilla JavaScript before the two halves met [^S07].\n\nFor FOCUS the stated subject is attention itself: the artist describes it as \"an exploration of, and meditation on, the act of directed attention, the fixture of concentration, the state permitting clarity, and the mathematical point of convergence\" [^S06]. A long central section of the statement is about perception rather than code, covering the delay between light reaching the eye and the mind's comprehension of it, the fovea and the lower acuity of peripheral vision, colour blindness and tetrachromacy, and the dress photograph [^S06].\n\nTwo decisions in that statement bear directly on what the program does.\n\nThe first is the refusal of pseudo-randomness. The artist writes that the outputs are \"entirely and directly determined by the token's hash value, and no computer-generated pseudo-random numbers are utilized\", and gives the reason: so that the images can be recreated by hand, \"with a print-out of the algorithm, rulers, a calculator, and art supplies\" [^S06]. Reading the program confirms the claim: there is no generator, no seeded sequence, only the hash consumed directly [^S02]. The stationery palette names follow from the same intention, and the page shows a finished 40 by 40 centimetre manual recreation beside its token [^S06].\n\nThe second is a story about line thickness that the artist chose to preserve rather than optimise away. The stroke is set to the largest canvas dimension divided by 300, multiplied by 0.8. The artist explains that the 300 comes from thinking in 300 pixels per inch as an old-school photographer, and the 0.8 from targeting the half-millimetre line of a Sakura Pigma Micron 08 pen. The statement notes that dividing by 375 and setting the stroke to the unit directly would give the same result in fewer bytes, which matters when the file goes on chain, and that the refactor was rejected deliberately: \"I like showing the artist's hand in my work\" [^S06]. The program still divides by 300 and multiplies by 0.8, exactly as described [^S02].\n\nOne discrepancy should be recorded rather than smoothed. The artist's statement twice frames the work as larger than it is, calling FOCUS \"a 1000-image long meditation\" [^S06]. The index reports 567 invocations against a maximum of 567, with the project complete [^S02]. No record of when or why a maximum changed was located, and this essay does not assume one; what is established is that the artist's statement describes a thousand images and the realised edition is 567."
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The program was retrieved from the indexed project record by an HTTP POST to the Art Blocks public GraphQL endpoint, using a named operation filtered on the exact slug, with the returned composite identity key used to corroborate contract and project [^S02]. The record reports a script count of 3. The three indexed fragments are returned out of index order and concatenate in ascending index order to exactly the single `script` field. The assembled program is 18,815 bytes and hashes to SHA-256 `6eb9b8939ee875f35ede89fd4f0c936fb3f718b612007481ac1efd28e752c097`. It was retrieved twice, in separate sessions either side of a connection loss, and produced the same digest both times. The whole program was read. It is not minified, and its first line is a comment directing the reader to a better commented version on the artist's website and asserting copyright in the name Matthew Costanza, 2021 [^S02].\n\nThe hash is consumed two ways. First it is split into 32 hexadecimal byte values, and a reader takes the front value off that list for each trait decision, so each pair is used exactly once. Second, those same bytes are converted to binary and concatenated into a string that later drawing routines read from cyclically for binary choices. The artist describes precisely this division: hex pairs for the main features, binary digits for on-off and left-right choices, with the binary digits reused \"creating a minimal pattern to the trained eye\" [^S06].\n\nA detail of that binary conversion is worth recording because it is invisible from outside. The conversion uses a plain base-two rendering with no zero padding, so a byte below 128 contributes fewer than eight characters, and the loop stops one short of the end, so the final byte never reaches the string. The result is a bit string whose length varies by token: across the edition it takes 38 distinct lengths between 198 and 237 characters [^S03]. A reader expecting 256 uniform bits would not reproduce the drawing decisions that depend on it.\n\nThe trait mapping was reimplemented independently from the program and run against all 567 token hashes, then compared with the published features [^S03]. Every trait reproduces exactly. Shape, Shape Style, Pattern, Pattern Border, Paper Color and Linework Color each map one to one from their selector with no exceptions. Midpoints reproduces at 567 of 567, Pattern Recursion Factor at 567 of 567, and Special at 567 of 567.\n\nShape Recursion Factor is the instructive one. A first reimplementation, following the arithmetic alone, reproduced only 450 of 567. The missing piece is a short cascade of overrides that runs after the palette is chosen: a shape style is demoted when its fill would match the linework colour and the interior lines would therefore be invisible, a second demotion follows when the recursion factor is 1, and the recursion factor is then forced back to 1 when the style has become solid. Adding those three in their program order lifts the reproduction to 567 of 567. The artist documents this behaviour in the statement, and explains its purpose: \"if the shape's fill color is the same as the linework color, then any linework inside the shape would be hidden, so the algorithm adjusts the features\", with the consequence that \"the features displayed with the token will be more representative of the final image than what the hash originally called for\" [^S06]. The published traits describe the picture, not the raw hash, and the difference is 117 tokens.\n\nOne further parameter comes from outside the hash entirely. The token ID's parity selects between two orientations of the Triangle Fills pattern [^S02], which the artist confirms: \"whether the ID is even or odd determines which orientation the Triangle Fills use\" [^S06].\n\nThen there is Special. The program computes it last, and the rule is narrow: when the pattern border selector lands on its fifth value and the pattern selector on its eleventh, the trait becomes \"Portal\" or \"Truth\" depending on the shape style; otherwise it is \"Yes\" [^S02]. Those two selector values are the ones whose published names are None and None. In other words the special case is the empty one: no pattern border and no pattern, leaving only the paper and the central shape.\n\nIt never happened. Across 567 tokens the trait reads \"Yes\" every time, and the reproduction agrees at 567 of 567 with zero tokens reaching either alternative [^S03]. This can be checked without the code at all: 14 tokens carry a Pattern Border of None, 56 carry a Pattern of None, and no token carries both [^S03]. The artist states the same outcome independently, writing that the pair of extra traits \"each have far less than a 1% chance of occurrence, and they never presented themselves in the official mints\", while noting they can still be found by exploring the algorithm [^S06]. Three separate lines of evidence agree: the drawing rule, the edition census, and the artist's own account.\n\nThe consequence for a catalogue is that Special is a published, filterable attribute with exactly one value across the entire edition. It distinguishes nothing. What it records is the absence of something, and the name of the thing it fails to mark is not published anywhere on the platform.\n\nFinally, the rendering. The drawing routine calculates its geometry, draws the pattern, draws the shape, and ends by halting the sketch [^S02]. One frame, then nothing. Each of the four documented controls calls the resize handler, which clears the accumulated point arrays and redraws once. Observed in the renderer, this is exactly what happens: a token sat at frame 1 indefinitely, one press of the hide key took it to frame 2, one arrow press to frame 3, and three more to frame 6 [^S05]. The work advances one frame per human action and at no other time."
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "Four events need separating, and the platform labels them inconsistently.\n\nThe first token, invocation 0, was minted on 9 October 2021 at 03:18:11 UTC [^S03]. The project was activated five days later, on 14 October 2021 at 17:08:35 UTC [^S02]. The public opening, recorded as the project start datetime, was on 26 October 2021 at 16:00:00 UTC [^S02]. The project page displays \"Released on 27 October 2021\", which is that opening instant rendered in a timezone ahead of UTC [^S01]. Completion, the final mint, was on 16 June 2023 at 03:11:35 UTC [^S02][^S03].\n\nExactly one token preceded the public opening: invocation 0, the artist proof [^S03].\n\nThe pace divides sharply. Counting from the opening, 59 tokens were minted in the first hour and another 59 during the rest of the first day, so 118 of 567 went in day one. Then 24 across days two to seven, 14 across days eight to thirty, 306 across the remainder of the first year, and 104 after the first anniversary [^S03]. The longest gap between consecutive invocations was 56.0 days, between invocations 174 and 175, followed by 51.5 days between 551 and 552 [^S03]. The sale duration from public opening to final mint is 597.5 days, calculated as the final mint at 2023-06-16T03:11:35Z minus the opening at 2021-10-26T16:00:00Z divided into days [^S02][^S03].\n\nSo a fifth of the edition sold on the first day and the remainder took the better part of two years. That shape matters for how the project should be described: a reader told only that the edition is complete would reasonably assume it sold out, and a reader told only the current price would have no way to reconstruct the nineteen months of tail.\n\nThe index reports a current price of 0.12 ETH [^S02]. This is a current observation of the price field and not a record of any price paid; the project page for this release publishes no sales note, so no original auction or fixed-price mechanism is quoted here. Where the comparable project by another artist in this batch published its Dutch auction ladder, this one does not, and inventing one would be guesswork."
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The artwork licence the platform reports is `CC BY-NC 4.0`, with a link to the canonical Creative Commons deed [^S02]. Unlike several projects of this period, the link resolves and names a real, versioned instrument, and it was read in full during this session [^S08].\n\nAttribution-NonCommercial 4.0 International permits sharing, meaning copying and redistributing the material in any medium or format, and adapting, meaning remixing, transforming and building upon it. It conditions both on attribution: appropriate credit, a link to the licence, and an indication of whether changes were made. It prohibits commercial use, which the deed defines as use primarily intended for commercial advantage or monetary compensation. It forbids applying further legal or technological restrictions that would prevent others doing what the licence permits. And it carries two notices that matter for a catalogue: the deed is not itself the licence and has no legal force, and no warranties are given, so other rights such as publicity, privacy or moral rights may still limit a given use [^S08].\n\nThat is a materially different position from a work whose licence label points at a document with no version number. Here the label, the link and the instrument agree.\n\nCode rights are separate and are stated inside the work. The program's first line is a comment asserting copyright in the name Matthew Costanza, 2021, and directing readers to a better commented version on the artist's website [^S02]. That is an assertion of authorship over the code, not a grant, and no separate code licence was located. On-chain storage makes the program readable by anyone; it does not make it redistributable. For that reason no part of the program is reproduced in this package, only its digest, its measured behaviour and a description in prose.\n\nTwo further things belong in the rights record because the artist has published them and they shape what a holder may do.\n\nThe artist offers signed prints to owners and also invites owners to print the work themselves, linking a high-resolution rendering tool for the purpose [^S06]. Since the artist is the licensor, that invitation sits alongside rather than inside the CC BY-NC grant, and it is recorded here as the artist's stated permission rather than as a term of the licence.\n\nThe artist also publishes a separate animating variation of the script, the FOCUS Animator, which is explicitly not the minted artwork and carries a photosensitive seizure warning for flashing colours and moving patterns [^S06]. Any presentation that reached for that tool to make FOCUS appear animated would be showing a different program from the one on chain, and the warning would travel with it.\n\nThe declared dependency, `p5@1.0.0`, carries its own upstream licensing, which was not inspected and is recorded separately as unknown rather than folded into either domain above [^S02]."
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "Four tokens were opened in the original renderer and inspected. Two are treated at length. Every canonical token page below returned HTTP 200 when fetched during this session, and every observation is this researcher's own inspection of the live renderer rather than a preview image [^S05].\n\nFOCUS #122, token 181000122, is the AB5D holding and the proposed header work. Ownership was verified rather than assumed: the complete linked wallet set was refreshed from the AB5D profile during this session and returned three addresses, and this token's indexed owner is the third of them [^S04][^S03]. Its published traits give Shape Tall Rectangle, Shape Style Solid Fill, Shape Fill Color Gold Paint Marker, Paper Color Felt-Tip Black, Linework Color White Paint Marker, Pattern Staggered Lines to Recurrence, Pattern Border Dashed Line, Midpoints 31, and both recursion factors 1 [^S03].\n\nOn screen it is severe and very effective. The canvas is 1124 by 1820, a golden-ratio portrait. The ground is black. From a dashed rectangular border, white lines rake inward toward the centre in a dense radiating fan, and where they converge there is a gold rectangle, flat and solid, occupying the middle third. Because the line thickness stays constant as the lines converge, the centre reads as receding while refusing to behave like a real perspective, which is the cognitive dissonance the artist describes in the statement [^S06]. The frame counter read 1 at every sample across 7.5 seconds with identical signatures, confirming the single-frame behaviour [^S05].\n\nThis token was also used for the control tests, and the results are worth reporting in full because they change the picture completely. Pressing the hide key with a physical keypress flipped the shape flag to false and advanced the frame counter to 2. The gold rectangle vanished and the fan of white lines, previously interrupted, ran all the way in to a bright hourglass-shaped void at the centre: a different image, not a version of the first with a hole in it [^S05]. The arrow keys did not reach the sketch when pressed physically, the pane intercepting them before the page; dispatched into the page directly they behaved as documented, the up arrow taking the pattern recursion factor from 1 to 2 and three right arrows taking the midpoint count from 31 to 37, each press advancing the frame counter by exactly one [^S05]. At that setting the centre had become a solid black rectangle inside a far denser field. One token, three states, none of them a variation on the others.\n\nTwo details of the interaction are worth recording. The arrow keys move the recursion factor additively while the minted trait values are powers of two, so a viewer stepping up from 2 lands on 3, a value no token was minted with. And the save key writes a PNG whose filename carries the token ID, the full hash, and the current recursion factor, midpoint count and shape visibility [^S02], so a saved image records the viewer's state rather than the token's. The artist confirms the intent: \"the features will always represent the not adjusted token\" [^S06].\n\nFOCUS #176, token 181000176, is one of the 14 tokens in the edition with no pattern border, and it is the closest this edition comes to the variant that never minted. Its traits give Shape Wide Eye, Shape Style Lens, Pattern Binary Override Fills, Pattern Border None [^S03]. Its canvas is 1324 by 818, the golden-ratio landscape, ratio 0.6178 [^S05].\n\nOn a white ground, dark maroon blocks step inward in one-point perspective, arranged in receding rows that read unmistakably as a corridor, and at the vanishing point sits a gold lens: a pointed oval outlined in dark red. With no border the blocks simply stop at the canvas edge rather than being framed, which is what makes the space feel like it continues past the picture. The frame counter held at 1 across four seconds [^S05]. This is the artist's \"artificial space\" claim in its most literal form, and it is also the clearest demonstration of what the missing Portal and Truth tokens would have looked like had the pattern been absent too: the same paper, the same lens, and nothing else.\n\nFOCUS #29, token 181000029, carries Pattern None with a Dashed Line border, a Wide Diamond in Solid Fill, and Felt-Tip Black paper [^S03]. Black ground, a gold diamond at centre, and concentric dashed white rectangles stepping inward around it. With the pattern absent, only the border's own recursion survives, and the result is the minimal register the artist hoped for: \"outputs that are only a few concentric shapes\" [^S06].\n\nFOCUS #2, token 181000002, is square, the third aspect ratio, and shows the perceptual machinery working through line interference rather than perspective. Its traits give Shape Circle, Shape Style Lens, Pattern Parallels, Pattern Border Circles, Paper Color White Paint Marker [^S03]. The canvas measured 1324 by 1324 [^S05]. On white, fine black horizontal rules cross the whole field; an inset square panel of fine vertical rules sits within them; and at the centre a green disc, ringed in white, reads as a lens sitting above both. The border is a chain of small circles around the perimeter. The vertical and horizontal rule fields produce a visible shimmer where they meet, which is the sort of phenomenon the artist's perception essay is about. Frame counter 1, unchanged across four seconds [^S05].\n\nOn sound: every renderer session was silent, and this is silence by construction rather than blocked playback. The document contained no audio or video elements, the only script loaded was the p5 library at version 1.0.0 with no sound add-on, and the program contains no audio call [^S05][^S02]. No playback action was attempted because there is no audio path to attempt one on."
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "The interesting thing about FOCUS is that its documentation is better than its metadata, and the gap between them is where a cataloguer will go wrong.\n\nThe artist's statement is a genuine primary source: it explains the refusal of pseudo-randomness, the hand-recreatability that follows from it, the stationery palette that follows from that, the trait overrides that make the published features describe the picture rather than the hash, the token-parity trait, the interactivity, and the never-minted special case [^S06]. Nearly every claim in it that can be checked against the program or the edition checks out. The reproduction reaches 567 of 567 on every trait, and the artist's account of the overrides is exactly what was needed to get Shape Recursion Factor there from 450.\n\nAgainst that, the platform record misdescribes the work in three ways.\n\nIt reports a single aspect ratio for an edition with three, so 371 of 567 tokens are recorded under a shape they do not have [^S01][^S02][^S03].\n\nIt publishes Special as a filterable attribute with one value across 567 tokens [^S03]. The trait is the residue of a case that did not occur. A reader filtering on it learns nothing, and the platform gives no hint that the interesting values are the missing ones.\n\nAnd its `display_static` flag reads false for a work that renders a single frame and halts [^S02]. Here the project page is the more accurate document: it carries an interactive badge and no animated badge [^S01], which is exactly right. A dossier that took the index field instead, and presented FOCUS with a looping player, would be showing an animation the work does not have. The artist does publish an animating variation, but it is a separate program and it carries a photosensitive seizure warning [^S06].\n\nWhat the edition gained from the missing case is worth stating plainly. In a series about doing more with less, the rarest possible output was the emptiest: no pattern, no border, only paper and a central shape, and the artist gave that case the names Portal and Truth. It had, by the artist's own estimate, well under a one per cent chance, and across 567 draws it never came up [^S06]. The most Zen output this algorithm can make is one that exists only in the algorithm.\n\nThe limitations of this package should be stated plainly. Four of 567 tokens were observed, and the single-frame behaviour of the other 563 rests on reading the program rather than watching each one. Control testing was done on one token: the hide key with physical input, the arrow keys by dispatched event after physical presses were intercepted by the browser pane, and the save key not exercised at all because it initiates a file download. The mint chronology comes from indexed timestamps; no on-chain price history was read, and no sales note exists on the project page to corroborate a mint mechanism. The artist's statement is a primary source but it is the artist's own account, and where it makes claims this essay could not independently check, such as the millions of trait combinations or the perceptual theory, they are reported as the artist's statements rather than as verified fact. The connection between this researcher's environment and the renderer was lost once mid-session; all project and token data was re-retrieved afterwards and the script digest reconfirmed identical, and the corroboration is recorded rather than the second retrieval being presented as the only one.\n\nUnresolved research questions, stated explicitly:\n\nWhy does the artist's statement describe FOCUS as a thousand images when the completed edition is 567? No record of a maximum being changed, or of a decision to close the edition early, was located.\n\nWhat was the original mint mechanism and price? The project page publishes no sales note, and the index reports only a current price field. Whether 0.12 ETH was a fixed mint price, an auction resting price or a later value is not established here.\n\nWas Special intended to ship as a published attribute at all, given that its informative values were always going to be improbable? The artist knew the case was rare and said so; whether the trait was meant to be visible on every token regardless is not addressed in any located source.\n\nHow many tokens would a viewer find non-interactive in practice? The artist notes that a token with both Pattern and Pattern Border set to None will not respond to the recursion or midpoint controls, and no such token exists. But 14 tokens have no border and 56 have no pattern, and the degree to which those respond was not measured token by token here.\n\nDoes the published feature set for any token disagree with its rendered image in the way the overrides are meant to prevent? The overrides were verified as reproducing the published values, but no systematic comparison of published traits against rendered pixels was performed beyond the four tokens observed."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000122",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122",
      "sourceIds": [
        "S03",
        "S04",
        "S05",
        "S06"
      ],
      "selectionNote": "The AB5D holding, verified against the complete refreshed wallet set rather than taken from the assignment's historical cache. Chosen for sustained analysis and proposed as the header work, and used for the control tests because its minimal recursion settings make interactive changes maximally visible.",
      "observationNote": "Golden-ratio portrait canvas measured at 1124 by 1820. Black ground, white lines raking inward from a dashed border to a flat gold rectangle at the centre, with line thickness held constant so the centre reads as receding without behaving like a real perspective. Frame counter held at 1 across 7.5 seconds. Pressing h with a physical key press removed the rectangle and revealed an unbroken convergence to a bright hourglass void; dispatched arrow events moved the recursion factor from 1 to 2 and the midpoint count from 31 to 37, each press advancing the frame counter by exactly one."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000176",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000176",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "selectionNote": "One of the 14 tokens in the edition with no pattern border, and therefore the closest the edition comes to the special case that never minted. Also a landscape token, demonstrating the third aspect ratio. Selected for sustained analysis.",
      "observationNote": "Golden-ratio landscape canvas measured at 1324 by 818, ratio 0.6178. White ground, dark maroon blocks stepping inward in one-point perspective as receding rows that read as a corridor, with a gold lens outlined in dark red at the vanishing point. With no border the blocks stop at the canvas edge rather than being framed, so the space appears to continue past the picture. Frame counter held at 1 across 4 seconds."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000029",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000029",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "selectionNote": "Selected as a Pattern None token, showing the minimal register the artist hoped the algorithm would produce.",
      "observationNote": "Landscape canvas. Black ground, a gold diamond at the centre, concentric dashed white rectangles stepping inward around it. With the pattern absent only the border's own recursion survives. Viewed and screenshotted; the frame counter was not read for this token, so its single-frame behaviour is supported by the program and by the instrumented tokens rather than measured here."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000002",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000002",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "selectionNote": "A square token, completing the three aspect ratios, and one whose perceptual effect comes from line interference rather than perspective.",
      "observationNote": "Square canvas measured at 1324 by 1324. White ground crossed by fine black horizontal rules, with an inset square panel of fine vertical rules, and at the centre a green disc ringed in white reading as a lens above both. A chain of small circles forms the perimeter border. A visible shimmer appears where the two rule fields meet. Frame counter held at 1 across 4 seconds."
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Phil (AB5D coordinator), via the Claude desktop application",
    "originalAuthor": {
      "provider": "Anthropic",
      "model": "claude-opus-5",
      "modelVersion": "claude-opus-5 as reported by the session environment; the batch routing label 'claude' is a routing label and not a model identifier and has not been recorded as one",
      "agent": "Claude in Cowork mode on the Claude Agent SDK"
    },
    "revisions": [],
    "revisionNote": "No other model or human has revised this package. A later reviser must preserve the original author credit above and record the reviser, changed scope and revision-specific usage separately here.",
    "tools": [
      "Art Blocks public GraphQL index over HTTP POST, with full query text, variables and timings retained in evidence.json",
      "browser pane on the coordinator's computer for page rendering, text extraction, canonical token page status checks, live renderer execution, canvas sampling, screenshots and physical key input",
      "independent reimplementation of the trait mapping run against all 567 token hashes",
      "SHA-256 over the retrieved script bytes computed with the Web Crypto API",
      "local shell and file tools for package assembly, and the supplied validator"
    ],
    "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",
    "model": "claude-opus-5",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "claude-opus-5",
      "displayName": "claude-opus-5 (contributor-reported)",
      "scope": "claude-round-003 submitted essay; publication import only",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "No token telemetry is exposed to the agent in this environment. All counts are null rather than estimated, and no batch figure has been divided into per-essay numbers. Cached input and reasoning counts are null rather than folded into a total, so nothing is double-counted. The coordinator must take telemetry from the account usage record before publication.",
      "submittedUsage": {
        "provider": "Anthropic",
        "model": "claude-opus-5",
        "modelVersion": "claude-opus-5 as reported by the session environment. The batch routing label 'claude' is a routing label, not a model identifier, and has not been recorded as one.",
        "measurementScope": "batch",
        "measurement": "unavailable",
        "scope": "claude-round-003, ten assigned series in a single session",
        "startedAt": "2026-09-18T05:25:27+00:00",
        "startedAtNote": "Timezone-aware. Taken from the first instrumented call of this research session.",
        "cutoff": null,
        "cutoffNote": "Null because the session was still running when this package was written; no end instant is known, so none is manufactured. Any recorded cutoff must be at or after startedAt.",
        "inputTokens": null,
        "cachedInputTokens": null,
        "outputTokens": null,
        "reasoningTokens": null,
        "totalTokens": null,
        "perEssayAvailable": false,
        "telemetrySource": null,
        "note": "No token telemetry is exposed to the agent in this environment. All counts are null rather than estimated, and no batch figure has been divided into per-essay numbers. Cached input and reasoning counts are null rather than folded into a total, so nothing is double-counted. The coordinator must take telemetry from the account usage record before publication.",
        "elapsedNote": "Wall-clock research time for this package is bounded by the timestamps in evidence.json. Work on this project was interrupted by a loss of connection to the coordinator's computer and resumed after it was restored; both sides of the interruption are timestamped in the retrieval records."
      },
      "importReview": "Package and site compatibility checks only. No independent re-research or prose rewrite, as requested by user on 2026-09-20."
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "HTTP POST, named operation ProjectBySlug, variables {\"slug\":\"focus-by-matto\"}, selecting script and scripts{index script}; identity corroborated by the returned composite id 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-181",
    "sha256": "6eb9b8939ee875f35ede89fd4f0c936fb3f718b612007481ac1efd28e752c097",
    "bytes": 18815,
    "retrievedAt": "2026-09-18T06:18:49.880Z",
    "runtime": "p5@1.0.0",
    "method": "Index retrieval over HTTPS, not a direct read of contract storage; no block reference pinned. SHA-256 over the UTF-8 bytes of the returned script field. The three indexed fragments are returned out of order and concatenate in ascending index order to that field exactly. The whole program was read; coverage of seed handling, parameter selection, rendering sequence, time and interaction behaviour and external dependencies is itemised in evidence.json.",
    "executed": true,
    "executionDisclosure": "Read in full from the retrieved text. Separately executed by the official Art Blocks renderer during the token observations; not run by the researcher in any other environment.",
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "aspect-ratio-misrecorded",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index and the project page both record a single aspect ratio of 1 for an edition with three. 371 of 567 tokens are recorded under a shape they do not have. Any layout that assumes square will crop or letterbox two thirds of the edition."
    },
    {
      "id": "special-trait-carries-no-information",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Special is published as a filterable attribute with the value Yes on all 567 tokens. Its informative values were never minted. If the dossier prints trait tables, the trait should be annotated or omitted rather than shown as a distinguishing feature."
    },
    {
      "id": "display-static-flag-misleading",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports display_static false for a work that renders a single frame and halts. The project page is the more accurate document here, carrying an interactive badge and no animated badge. A looping presentation would misrepresent the work."
    },
    {
      "id": "animator-is-not-the-artwork",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The artist publishes a separate animating variation of the script with a photosensitive seizure warning. It must not be used to present the minted work as animated, and if it is linked the warning must travel with it."
    },
    {
      "id": "edition-size-discrepancy",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The artist's statement describes a 1000-image project; the index reports 567 of 567 complete. No record of a change was located. A decision is needed on how the dossier describes the intended edition."
    },
    {
      "id": "mint-mechanism-unknown",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "No sales note is published for this project and the index exposes only a current price field. The original mint mechanism and price are not established and should not be inferred from comparable projects."
    },
    {
      "id": "artist-name-case",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The roster and index give 'Matto' while the project page byline renders 'matto'. The roster spelling is used here; the dossier should be consistent."
    }
  ],
  "presentation": {
    "editionSize": 567,
    "maximumEdition": 567,
    "mintDate": "2021-10-09T03:18:11+00:00",
    "mintDateMeaning": "first mint",
    "mintDateLabel": "First mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-181",
      "token_id": "181000122",
      "invocation": 122,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122.png",
      "live_view_url": "/series/focus-by-matto/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122",
      "mode": "live",
      "aspectRatio": 1,
      "interactionNote": "",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "No display note is published for this project. The artist's own page offers signed prints to owners and invites owners to render and print the work themselves. Preserve the original renderer and its interactivity; the artist states that the work 'is meant to be played with through its interactivity'."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000122",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122",
      "sourceIds": [
        "S03",
        "S04",
        "S05",
        "S06"
      ],
      "selectionNote": "The AB5D holding, verified against the complete refreshed wallet set rather than taken from the assignment's historical cache. Chosen for sustained analysis and proposed as the header work, and used for the control tests because its minimal recursion settings make interactive changes maximally visible.",
      "observationNote": "Golden-ratio portrait canvas measured at 1124 by 1820. Black ground, white lines raking inward from a dashed border to a flat gold rectangle at the centre, with line thickness held constant so the centre reads as receding without behaving like a real perspective. Frame counter held at 1 across 7.5 seconds. Pressing h with a physical key press removed the rectangle and revealed an unbroken convergence to a bright hourglass void; dispatched arrow events moved the recursion factor from 1 to 2 and the midpoint count from 31 to 37, each press advancing the frame counter by exactly one.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000122"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000176",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000176",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "selectionNote": "One of the 14 tokens in the edition with no pattern border, and therefore the closest the edition comes to the special case that never minted. Also a landscape token, demonstrating the third aspect ratio. Selected for sustained analysis.",
      "observationNote": "Golden-ratio landscape canvas measured at 1324 by 818, ratio 0.6178. White ground, dark maroon blocks stepping inward in one-point perspective as receding rows that read as a corridor, with a gold lens outlined in dark red at the vanishing point. With no border the blocks stop at the canvas edge rather than being framed, so the space appears to continue past the picture. Frame counter held at 1 across 4 seconds.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000176.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000176"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000029",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000029",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "selectionNote": "Selected as a Pattern None token, showing the minimal register the artist hoped the algorithm would produce.",
      "observationNote": "Landscape canvas. Black ground, a gold diamond at the centre, concentric dashed white rectangles stepping inward around it. With the pattern absent only the border's own recursion survives. Viewed and screenshotted; the frame counter was not read for this token, so its single-frame behaviour is supported by the program and by the instrumented tokens rather than measured here.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000029.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000029"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "181000002",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000002",
      "sourceIds": [
        "S03",
        "S05",
        "S06"
      ],
      "selectionNote": "A square token, completing the three aspect ratios, and one whose perceptual effect comes from line interference rather than perspective.",
      "observationNote": "Square canvas measured at 1324 by 1324. White ground crossed by fine black horizontal rules, with an inset square panel of fine vertical rules, and at the centre a green disc ringed in white reading as a lens above both. A chain of small circles forms the perimeter border. A visible shimmer appears where the two rule fields meet. Frame counter held at 1 across 4 seconds.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000002.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/181000002"
    }
  ],
  "publication": {
    "date": "2026-09-20",
    "url": "https://ab5d.xyz/series/focus-by-matto/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/focus-by-matto/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
