{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 207,
    "slug": "through-the-window-by-reva",
    "title": "Through the Window",
    "artistCredit": "Reva",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/reva/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 500,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01",
        "S02"
      ],
      "status": "verified",
      "note": "Equals maximum."
    },
    {
      "id": "first-token-minted-at",
      "topic": "mint",
      "value": "2021-11-11T14:01:59+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03"
      ],
      "status": "verified",
      "note": ""
    },
    {
      "id": "activated-at",
      "topic": "mint",
      "value": "2021-11-19T21:46:18+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": ""
    },
    {
      "id": "start-datetime",
      "topic": "mint",
      "value": "2021-11-23T16:00:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Indexed public start clock."
    },
    {
      "id": "completed-at",
      "topic": "mint",
      "value": "2022-08-20T05:13:47+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": ""
    },
    {
      "id": "script-type",
      "topic": "construction",
      "value": "p5@1.0.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": ""
    },
    {
      "id": "license-label",
      "topic": "rights",
      "value": "CC BY-NC-SA 4.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Exact license string after strip."
    },
    {
      "id": "category",
      "topic": "context",
      "value": "factory",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01",
        "S02"
      ],
      "status": "verified",
      "note": ""
    },
    {
      "id": "original-per-token-price-eth",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-18",
      "sourceIds": [],
      "status": "unknown",
      "note": "Individual paid prices not recovered from receipts."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC-SA 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "note": "Deed inspected.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S03"
      ],
      "note": "No header.",
      "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": [
          "S16"
        ],
        "note": "p5.js 1.0.0 upstream licence. Separate from artist script.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Through the Window sets two kinds of order against each other: the repeating geometry of a lattice and the irregular branching of a tree. A dark architectural opening holds the pattern together, while branches pass across its edge. The image can suggest a view into a garden, yet its moving lattice unsettles the solidity of that imagined architecture. A window ordinarily fixes a viewpoint. Here it becomes a surface on which different rhythms meet.[^S04][^S05]\n\nReva released the 500-work series through Art Blocks Factory on 23 November 2021. It is project 207 on the Ethereum contract recorded below. The artist's first Art Blocks project belongs to a practice that brings computational drawing into contact with traditional Chinese visual culture. The [Reva dossier](https://ab5d.xyz/artists/reva/) provides broader context; this essay concentrates on the deployed system and five individual outputs.[^S01]\n\nThe distinction between an opening and the scene around it is never entirely secure. Branches can appear in front of the frame, while falling marks occupy the wider square. The patterned interior supplies neither a transparent pane nor an ordinary view of distant space. My reading is that this uncertainty lets the image behave as both a remembered architectural detail and an autonomous arrangement of lines, colours and movement.[^S04][^S05][^S15]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "Reva's own project essay supplies a specific development history. The artist reports three months of making followed by a month of review and preparation. Previously an algorithm engineer, Reva began teaching themself generative art in September 2018. Art Blocks offered a way to connect this practice with an edition whose individual outcomes involved the collector's mint.[^S12]\n\nThe window motif preceded this commission. Reva identifies the first two crypto artworks they sold as works involving the moon and window lattices. The new project therefore expands an existing interest in the geometric logic of traditional Chinese decoration. It brings that logic into contact with branching growth and weather, joining architectural pattern to the changing scene it frames.[^S12]\n\nReva also describes uncertainty about how an explicitly Chinese subject would be received internationally. This was a deliberate artistic choice, grounded in a longstanding attraction to lattice geometry. The project essay connects the framed seasonal scene with daily cultural memory and leaves the viewer free to imagine looking outward, inward, backward or ahead. That openness matters: the window proposes a position for looking without fixing a single narrative.[^S12]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "Reva builds the scene as a stack of drawing surfaces. The main square canvas is sized to the smaller browser dimension, with measurements scaled from an 800-unit design. Separate buffers hold the lattice, its reflected variant, the window mask, accumulating branches, moving particles, lighting and grain. Two buffers use WebGL, principally to reflect and texture the geometric pattern. The presence of WebGL does not make the scene a navigable three-dimensional garden.[^S03]\n\nThe token hash supplies variation in two ways. Thirty-two hexadecimal byte values are divided by 256 and used directly in selectors. A separate seed taken from the beginning of the hash drives a bitwise pseudorandom routine. This supplies choices within the selected configuration, including branch directions and the paths of the lattice lines. Four aligned arrays contain eighteen coordinated sets of background, foreground, branch and blossom colours. Selecting one shared index preserves relationships across the scene instead of choosing each colour independently.[^S03]\n\nThe lattice begins on a small grid with four to six divisions. The program selects distinct starting positions, draws angular paths and varies their stroke widths. Directions move in increments of forty-five degrees. Some configurations add curved or polygonal interruptions; another combines a pattern with a rotated reflection. The resulting drawing is mapped onto eight triangular sectors. Alternating texture coordinates produce the repeating, mirrored structure, while an alternative mapping changes how those sectors meet. Complexity comes from recombining a small constructed fragment, rather than drawing every visible intersection separately.[^S03]\n\nA second operation makes that repeating field into a window. The mask has six branches: a circle, square, narrower rectangle, octagon, four-lobed opening and a fan-like form. It is combined with the tiled pattern using a darkening blend. This separation is consequential: the opening establishes one stable outline, while the lattice inside it is free to move. On every frame, the tiles are translated in one of eight directions. Their displacement wraps at the tile width, permitting continued movement without exposing the end of the patterned surface.[^S03]\n\nThe trees follow a different temporal rule. A branch advances by short segments, accumulating marks on a persistent buffer. Its direction is perturbed, its width diminishes and its age or a random termination condition can end it. Sufficiently thick branches may produce thinner descendants at divergent angles. Later generations can carry small stems with curved leaf or blossom forms. The program can start one tree, two trees, or growth entering from near the upper edge. These are branching drawing procedures, not a simulation of the physiology of a particular tree species.[^S03]\n\nGrowth eventually stops when no branch remains active, but the whole artwork does not stop. The lattice continues translating. Where weather is selected, two hundred particles continue moving: one mode draws elongated falling marks; another draws smaller round marks with a sinusoidal sideways drift. Particles crossing the lower boundary return above the image. Some configurations also add pale strokes to selected branch surfaces, giving the branches a deposited layer distinct from the falling particles. Thus a scene can retain evidence of weather on the tree while using a separate system for what is moving through the air.[^S03]\n\nA radial lighting overlay is enabled for the last three palette indices. A separately prepared field of faint ellipses adds grain. These surface treatments make the image more than a flat diagram of a window and branches, but they remain explicit compositing operations. The code offers a useful distinction between structure, illumination and texture: each is produced on its own surface before the final image joins them.[^S03]\n\nMotion is driven by frame count and per-frame displacement. A specified distance per frame does not establish an identical speed in seconds on every device. Branch growth and later weather also share the seeded random sequence, so preserving the token input, script and rendering environment matters when comparing reproductions. No audio routine, pointer control, keyboard handler or resize handler appears in the inspected artist script. These are source findings. The original generators were also inspected, with changed lattice and snow positions directly observed in successive views of #0; no precise period was measured.[^S03]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The first indexed token was minted on 11 November 2021 at 14:01:59. Activation is recorded on 19 November at 21:46:18, and the scheduled start on 23 November at 16:00:00. The second token follows at 16:03:42 on the release day. The official collection page identifies 23 November as the release. These observations distinguish early minting from the public opening rather than forcing them into one date.[^S02][^S03][^S01]\n\nThe current sales notes describe a Dutch auction starting at 2 ETH and descending every five minutes through 1.5, 1, 0.75, 0.5, 0.35 and 0.25 to 0.2 ETH. Seven decreases would span thirty-five minutes if the recorded schedule was followed as written. The current price setting is 0.2 ETH. This is evidence of recorded sale terms and configuration; it does not establish the amount paid for any particular token without transaction evidence.[^S02]\n\nCompletion is recorded on 20 August 2022 at 05:13:47, substantially later than the November release. The present index reports 500 invocations against a maximum of 500. The collection example, #498, was minted at 05:12:07 on the completion date, one minute and forty seconds before that final field. Its timing is close to completion, not on the previous day. These fields do not explain the long interval or identify all public, reserved and administrative mints.[^S02][^S03]\n\nA fresh ownership query confirms that #498 belongs to one of the three wallets linked to AB5D. This later collection relationship is separate from the release chronology. The essay uses that token as its opening illustration, while the comparison also includes four early editions.[^S03][^S05]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current artwork label is CC BY-NC-SA 4.0. The metadata supplies no terms URL, so the caption links the named Creative Commons deed separately. Its conditions include attribution, identification of changes, noncommercial use and sharing adaptations under the same licence. The label is an observed project record; a complete history of earlier terms has not been reconstructed.[^S02][^S06]\n\nThe rendering dependency is p5.js 1.0.0, whose repository includes the GNU Lesser General Public License version 2.1. That library licence does not establish a separate grant for Reva's artist script. No distinct artist-code licence was identified in the inspected material. AB5D's CC0 dedication applies to the essay prose, with the artwork and software records kept separate.[^S03][^S16]"
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "The comparison uses editions 0, 1, 10 and 20, selected as an early-edition group, together with AB5D's #498. All five original generators were opened and visually inspected. Two observations of #0 showed changed lattice and snow positions while the developed tree retained its geometry. This confirms visible continuing motion without supplying a measured loop duration or a representative survey of all 500 works.[^S04][^S13][^S14][^S15][^S05]\n\nIn #0, a blue field surrounds a pale square opening with a heavy black border. Blue lines inside the opening alternate between octagonal turns and smaller square structures. Against their regularity, an olive trunk forks into sparse, angular branches carrying small purple blossoms. Pale deposits follow parts of the branches, and white dots scatter across the wider field. The trunk rises from the lower edge, so the tree does not seem contained by the architectural square. Several branches cross beyond it, making the frame an object within the scene rather than the outer boundary of the picture.[^S04]\n\nThe second observation makes that relationship stranger. The lattice has shifted, changing which of its intersections sit behind the branches, while the branches remain recognisably fixed. The moving geometry can momentarily appear to pull the tree sideways, although the tree itself has not moved. Snow adds a third rhythm, crossing both background and framed opening. The work therefore separates a stable organic drawing from two continuing systems, rather than simply animating the whole picture as one layer. Its quietness depends on those differences in pace and persistence.[^S04][^S03]\n\nThe collection's #498 changes the balance through a yellow-green field and a circular opening. The black rim is conspicuously heavier than the pale angular lattice inside it. An olive trunk divides near the lower part of the circle; thin branches climb toward the top and extend out to the right, carrying peach-coloured blossoms. Without the conspicuous falling snow of #0, the broad luminous ground has more visual authority. Small flowers punctuate the slender branches rather than forming a dense canopy.[^S05]\n\nThe circle gives #498 an initially self-contained character, but the tree repeatedly breaks that containment. The low fork sits close to the rim, while a long rightward branch continues into the surrounding field. Following it outward changes the opening from a central emblem into one element of a larger implied environment. Inside the circle, stepped diagonals and long straight runs make a different kind of branching: regular and repeatable, held against the tree's unequal angles. This is a close comparison between two systems of line, not merely a botanical picture placed over a decorative background.[^S05][^S03]\n\nEdition #1 shares the blue ground and square opening of #0, but its exposed tree fans more broadly across the lower half. Dense geometric knots alternate with comparatively open compartments inside the lattice. Purple blossoms connect the sparse upper branches to the more crowded lower crossings. The absence of visible white branch deposits and falling dots in the inspected frame makes the distinction between tree and pattern cleaner than in #0.[^S13]\n\nIn #10, two trunks stand before an octagonal opening. The taller right-hand tree reaches toward the upper edge, whereas the left tree occupies a lower register. Pale vertical rain streaks cross the scene. Within the opening, circular voids set inside small blue squares punctuate the angular pattern. The two trunks create an uneven bracket around the opening, giving the arrangement greater lateral spread than the single central tree of #1.[^S14]\n\nEdition #20 brings the scene into a dark blue field. A warm orange, four-lobed opening carries a dark lattice, while two trees overlap its lower and middle portions. Pale lines on branches remain conspicuous against the darkness; small snow-like dots sit across the surrounding field. The warm centre reads as illuminated space, but the lattice interrupts any easy passage into it. Compared with #498, the opening feels less like a bright disc in daylight and more like a bounded source of warmth seen through overlapping obstructions.[^S15]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Through the Window makes an architectural motif behave as a generative image without losing the recognisability that gives it cultural and spatial force. The opening remains legible, but its interior shifts. The tree grows through a different procedure, then persists while other elements continue. These distinctions turn duration into part of the composition: the viewer encounters both what has accumulated and what is still changing.[^S03][^S04]\n\nThe five examples show how much depends on relationships rather than isolated features. A circular or lobed frame alters the space around the branches; rain and snow change the field through which the eye moves; palette can suggest an illuminated interior or an open daytime surface. My interpretation is that the work's strength lies in keeping these readings available without resolving them into a single literal location.[^S04][^S05][^S13][^S14][^S15]\n\nUnresolved research questions:\n\n- Reconstruct paid mint prices and allocation types from transaction receipts.\n- Establish the history of the recorded sale configuration and edition maximum.\n- Recover any separate artist-code grant or earlier artwork terms.\n- Compare the indexed script with a pinned on-chain retrieval.\n- Measure frame-rate effects and rendering differences across supported browsers.\n- Extend the visual sample beyond these five works."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000000",
      "sourceIds": [
        "S03",
        "S04"
      ],
      "selectionNote": "Edition 0.",
      "observationNote": "Snowy Hulan square lattice and blossom tree."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000001",
      "sourceIds": [
        "S03",
        "S13"
      ],
      "selectionNote": "Edition 1.",
      "observationNote": "Sunny Hulan square one tree."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000010",
      "sourceIds": [
        "S03",
        "S14"
      ],
      "selectionNote": "Edition 10.",
      "observationNote": "Rainy octagon two trees."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000020",
      "sourceIds": [
        "S03",
        "S15"
      ],
      "selectionNote": "Edition 20.",
      "observationNote": "Snowy clover night Candlelight."
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000498",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498",
      "sourceIds": [
        "S03",
        "S05"
      ],
      "selectionNote": "Verified AB5D collection example",
      "observationNote": "Original generator: yellow-green field, circular black rim, pale angular lattice, olive tree and peach blossoms."
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "xAI",
    "agent": "Grok",
    "model": "grok-4.6 + gpt-6-astra",
    "modelVersion": "grok-4.6",
    "tools": [
      "GraphQL POST",
      "curl",
      "PNG 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",
    "revisionNote": "Independent GPT-6 Astra rewrite after full code review, primary artist essay research, five original-render observations and fresh metadata/complete linked-wallet verification. Original Grok package preserved separately. Usage unavailable.",
    "originalSubmission": {
      "model": "Grok 4.6",
      "verification": "Contributor-reported; no provider telemetry supplied",
      "archive": "grok-round-003-packages.zip",
      "archiveSha256": "f4c2a8c282613791053e9db277052982dc926fa3de0d3dae9361d5dbe5c71508"
    },
    "attributionNote": "Original draft by Grok (reported as Grok 4.6); independently researched and substantially revised by GPT-6 Astra.",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "grok-4.6 + gpt-6-astra",
      "displayName": "Grok (reported as Grok 4.6), independently revised by GPT-6 Astra",
      "scope": "Through the Window original Grok draft and independent Astra research and substantial revision",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Grok did not supply token telemetry. Complete essay token usage is unavailable. Original model/version is contributor-reported. GPT-6 Astra independently rechecked sources, script and the original outputs and revised the text; revision provenance is preserved in the essay data.",
      "contributors": {
        "operator": "xAI",
        "agent": "Grok",
        "model": "Grok 4.6",
        "modelVersion": "grok-4.6",
        "tools": [
          "GraphQL POST",
          "curl",
          "PNG inspection"
        ],
        "humanEditorialInvolvement": "none",
        "originalProseLicense": "CC0-1.0",
        "revisionNote": "Independent GPT-6 Astra rewrite after full code review, primary artist essay research, five original-render observations and fresh metadata/complete linked-wallet verification. Original Grok package preserved separately. Usage unavailable.",
        "originalSubmission": {
          "model": "Grok 4.6",
          "verification": "Contributor-reported; no provider telemetry supplied",
          "archive": "grok-round-003-packages.zip",
          "archiveSha256": "f4c2a8c282613791053e9db277052982dc926fa3de0d3dae9361d5dbe5c71508"
        },
        "attributionNote": "Original draft by Grok (reported as Grok 4.6); independently researched and substantially revised by GPT-6 Astra."
      }
    }
  },
  "codeInspection": {
    "source": "projects_metadata.script",
    "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "query": "query($ids:[String!]){ projects_metadata(where:{contract_address:{_eq:\"0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270\"}, project_id:{_in:$ids}}){ id project_id name artist_name artist_address slug description website license invocations max_invocations script_type_and_version activated_at completed_at start_datetime vertical_name heritage_curation_status locked script } }",
    "variables": {
      "ids": [
        "207"
      ]
    },
    "retrievedAt": "2026-09-18",
    "byteLength": 13125,
    "sha256": "713cf83ff5ff4d1b98015aa3b856ea559386204764a3eb0a7784382fab8b369d",
    "runtime": "p5@1.0.0",
    "executed": false,
    "chainBlock": null,
    "coverage": "Complete 13,125-byte indexed script inspected: hash-byte selectors and xorshift PRNG; eighteen coordinated palettes; lattice grid paths, triangular texture reflections, six masks, frame-driven tile translation; finite recursive branch growth, two particle modes, compositing, grain; no audio or input handlers identified. Five original generators visually reviewed; changing lattice and snow directly observed in #0.",
    "liveObservation": "Original generators #0 and #498 opened. Successive #0 screenshots show changed lattice phase and snow positions with stable tree geometry. No timed period or audio claim."
  },
  "editorialExceptions": [],
  "completionStatus": "reviewed-for-publication",
  "presentation": {
    "editionSize": 500,
    "maximumEdition": 500,
    "mintDate": "2021-11-11T14:01:59+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-207",
      "token_id": "207000498",
      "invocation": 498,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498.png",
      "live_view_url": "/series/through-the-window-by-reva/artwork.html",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498",
      "mode": "live",
      "copyrightStatus": "CC BY-NC-SA 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc-sa/4.0/",
      "displayBasis": "Official remote generator, with current indexed ownership matched to the complete three-wallet AB5D profile set.",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498",
      "interactionNote": "Animated artwork. The lattice continues moving after the tree develops."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000000",
      "sourceIds": [
        "S03",
        "S04"
      ],
      "selectionNote": "Edition 0.",
      "observationNote": "Snowy Hulan square lattice and blossom tree.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000001",
      "sourceIds": [
        "S03",
        "S13"
      ],
      "selectionNote": "Edition 1.",
      "observationNote": "Sunny Hulan square one tree.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000010",
      "sourceIds": [
        "S03",
        "S14"
      ],
      "selectionNote": "Edition 10.",
      "observationNote": "Rainy octagon two trees.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000020",
      "sourceIds": [
        "S03",
        "S15"
      ],
      "selectionNote": "Edition 20.",
      "observationNote": "Snowy clover night Candlelight.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000020"
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "207000498",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498",
      "sourceIds": [
        "S03",
        "S05"
      ],
      "selectionNote": "Verified AB5D collection example",
      "observationNote": "Original generator: yellow-green field, circular black rim, pale angular lattice, olive tree and peach blossoms.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/207000498"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/through-the-window-by-reva/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/through-the-window-by-reva/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
