{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 208,
    "slug": "reflection-by-jeff-davis",
    "title": "Reflection",
    "artistCredit": "Jeff Davis",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/jeff-davis/"
    ]
  },
  "revision": 3,
  "researchCutoff": "2026-09-20",
  "status": "published-with-research-limitations",
  "mediaIds": [],
  "provenance": {
    "operator": "commissioning-user-coordinator",
    "agent": "grok-4.6",
    "model": null,
    "modelVersion": "grok-4.6",
    "tools": [
      "Art Blocks GraphQL",
      "curl",
      "page inspection",
      "image inspection"
    ],
    "humanEditorialInvolvement": "Supplied prose preserved and published at Phil’s request. Sources not independently reinspected during import.",
    "originalProseLicense": "CC0-1.0",
    "originalSubmission": {
      "provider": "xAI",
      "model": "Grok 4.6",
      "modelVersion": "grok-4.6",
      "verification": "Contributor self-report, original provider telemetry unavailable",
      "path": ".ab500-cache/series-returns/grok-round-004/submission/reflection-by-jeff-davis",
      "preservedUnchanged": true
    },
    "revisionContributions": [
      {
        "provider": "OpenAI",
        "agent": "Codex",
        "model": "gpt-6-astra",
        "modelVersion": "gpt-6-astra",
        "revision": 2,
        "scope": "Independent full script and primary-source review, five original animated renderers, substantial rewrite, fresh index and wallet verification.",
        "humanEditorialInvolvement": "Assignment/review directions; no human-written prose supplied.",
        "tools": [
          "web browsing",
          "Python HTTP/JSON",
          "Chrome original-renderer screenshots",
          "SHA-256",
          "canonical validator"
        ]
      }
    ],
    "attributionNote": "Original draft: Grok 4.6 (self-reported). Research, corrections and substantial revision: OpenAI GPT-6 Astra. Preserve both credits.",
    "generation": null
  },
  "editorialExceptions": [],
  "sections": [
    {
      "id": "the-work-and-its-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Reflection is project 208 on the Art Blocks contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`. The index records 100 invocations against a maximum of 100, the runtime `p5@1.0.0`, an aspect ratio of 16:9 and the licence label `CC BY-NC 4.0`. It sits in the Playground vertical [^S01]. The project text is short: \"Memories of relationships and love reflected through color. Bright Moments NY, November 2021\" [^S01]. It adds that \"10% of sales proceeds will be directed to the Art for Good fund to provide support for working artists\" [^S01].\n\nEach output is a grid of black-framed windows, from a single pane to 36, laid over one continuous field of colour. The colours never stop moving. Four hues sit at the corners of the field and turn slowly round the colour wheel, each at its own speed, so a Reflection seen for a minute is never the same image twice [^S01]. Davis lists it on his own site as a \"series of 100 unique digital animations, responsive aspect ratio, adaptive resolution\" [^S02]. Art Blocks now presents it as part of the Art Blocks 500, released on 18 November 2021 [^S03].\n\nReflection was also an event. The 100 tokens were minted in person at Bright Moments' gallery in SoHo on a single evening, and the show was Davis's first solo exhibition in New York [^S04][^S05]. His CV lists it as \"Reflection, solo exhibition, Bright Moments, New York, NY, 2021\" [^S06]."
    },
    {
      "id": "conception-and-development",
      "heading": "Conception and development",
      "bodyMarkdown": "Davis was one of the first three artists on Art Blocks, and by November 2021 he was the platform's Chief Creative Officer, a post he held from April 2021 to September 2023 [^S06][^S07]. His relationship with Bright Moments began in Venice Beach earlier in 2021 with Portal, a set of ten animations [^S02]. Bright Moments' own history recalls: \"Jeff's Portals show had been our first auction in Venice Beach, so it was fitting that we hosted his next collection as our first exhibition in New York\" [^S08]. Looking back in 2024, Davis wrote that Portal \"introduced subtle animations, marking my first exploration into movement\" [^S09]. Reflection carries that movement into a full long-form edition.\n\nThe same retrospective groups Reflection with his later Bright Moments works: the colour treatment of his final city piece, Culmination, moves between flat colour and \"gradients seen in Reflection, Inflection, and Transcendence\" [^S09]. Reflection is therefore the first of a line of gradient works made for the Bright Moments tour, which ended in Paris in 2024 [^S09].\n\nThe windowed grid has an earlier root in Davis's practice. His View Card of December 2020 drew high-rise facades as grids of black-framed windows washed with four corner colours, which its project text called \"reflections\" [^S01][^S10]. Reflection strips that facade down to its essentials: a few large panes, rounded corners, and colour that now moves. The link between the two series is this draft's reading; no statement by Davis has been found that makes it. Nor has any source been found in which Davis explains the relationship names used as traits, beyond the one-line project text."
    },
    {
      "id": "how-the-work-was-constructed",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The program is a single script of 5,210 bytes, SHA-256 `9deb748682c59f9f77fc33a5b1977ce5560b5b6b2367a2afd08a024fac09e8cf`. It was retrieved from the Art Blocks index on 20 September 2026 and read in full. No code is reproduced here [^S01].\n\nThe program reads the token hash as 32 bytes and uses 19 of them. It sets up a full-window WebGL canvas in hue, saturation and brightness mode, then takes each setting from its own byte [^S01]:\n\n- Bytes 1 and 2 set the number of columns and rows, one to six each.\n- Byte 3 sets the frame thickness: 2.5, 3.75 or 5 per cent of the shorter side of the screen.\n- Byte 4 sets the corner rounding in tenths, from square (0) to fully rounded (1).\n- Bytes 5 to 8 set four drift speeds, bytes 9 to 12 four starting hues, and bytes 14 to 17 whether each hue runs forwards or backwards round the wheel.\n- Byte 13 sets which corner each colour occupies, one of four rotations.\n- Byte 18 sets the colour relationship, and byte 19 whether the colours are softened.\n\nOn every frame the program computes four corner colours from the elapsed time and paints them onto a single quadrilateral that fills the canvas inside the margin. It then draws the black frames on top, using L-shaped corner pieces with curved inner edges, and mirrors them by rotating the drawing through 180 degrees. The windows are apertures onto one shared gradient, not separate panels [^S01].\n\nThe published trait **Frames** is simply columns multiplied by rows. Recomputing it from all 100 hashes matches every token (own computation) [^S01]. The trait **Vibe** is the colour relationship, with a \"Soft\" prefix when byte 19 is above 217, which drops saturation from 100 to 55 [^S01]. The table gives the rules as read from the code and the counts in the index.\n\n| Vibe | Rule in the code (byte 18) | Chance | Count (of which Soft) |\n| --- | --- | --- | --- |\n| Exploration | 0 to 102: four independent hues, each drifting at its own speed | 40% | 40 (6) |\n| Friends | 103 to 160: two hues, each with a partner 45 degrees along, all drifting at a fixed faster speed | 23% | 28 (2) |\n| Flirting | 161 to 205: two independent hues, one per side | 18% | 15 (3) |\n| Partners | 206 to 237: one hue and its complement, locked together | 13% | 12 (1) |\n| Together | 238 to 255: a single hue in all four corners | 7% | 5 (0) |\n\nThe speed of movement follows from the program's clock. Hues advance by between one and six degrees for every 350 milliseconds, so a colour takes between about 21 seconds and just over two minutes to go round the wheel. The Friends hues move at seven degrees per step, a full cycle in about 18 seconds (own computation from the program) [^S01].\n\nFrames range from 1 to 36. The commonest counts are 4 and 6 (12 tokens each), and 34 different column and row layouts occur in the 100 (own computation) [^S01]. Because the canvas takes the shape of the screen, the same token rearranges itself on a tall display. At Bright Moments the works were shown on portrait-format screens and projected large, as the installation photographs show [^S02].\n\n![Installation view at Bright Moments New York: a portrait screen showing a three by four grid of rounded windows in rainbow gradients, with a bench in the foreground reflecting the colours](https://images.squarespace-cdn.com/content/v1/555cbbd2e4b01d2cfb61ccfa/77523bc7-d28c-4c83-b2c1-582a3b09f6a2/Reflection2.jpg)\n*Reflection on a portrait screen at Bright Moments, New York, 2021. Photo: Jeff Davis, jeffgdavis.com.*"
    },
    {
      "id": "quirks-in-the-algorithm",
      "heading": "Quirks in the algorithm",
      "bodyMarkdown": "A full read of the program, checked against the 100 published token records and against renders, turned up the following. Points resting on the code alone are marked as code readings.\n\n1. **A crease down the diagonal.** The colour field is drawn with p5's default WebGL shape, which in version 1.0.0 is a triangle fan [^S11]. The four-cornered field is therefore split into two triangles along one diagonal, and colours blend within each triangle, not across the whole rectangle. Where the four corners differ, a visible seam runs corner to corner. It is plain in #91, where a red band cuts diagonally through an orange-to-yellow grid, and in #98 [^S01][^S11]. The effect is part of the look of the series, whether or not it was intended.\n2. **Friends borrows the wrong switch.** In the Friends branch, the direction of the second hue is decided by the byte that controls the first, not by its own byte. Both pairs in every Friends token therefore always turn in the same direction round the wheel, and the gap between them never changes. In 14 of the 28 Friends tokens, the second pair's own byte would have reversed it (code reading, counted from the hashes) [^S01].\n3. **Unused draws.** Friends ignores two of the four drift speeds and two of the four hues. Flirting and Partners compute four colours and then overwrite two or three of them. Byte 0 and bytes 20 to 31 play no part in any output (code reading) [^S01].\n4. **A seventh column.** Columns and rows are mapped from one to seven and then rounded down, so a seventh is reached only when the byte is exactly 255, a chance of 1 in 256 on each axis. It happened once: #55 has seven columns and three rows, the only Frames count of 21 [^S01]. A seven by seven Reflection of 49 windows was possible but did not occur (own computation).\n5. **Square corners are an unpublished trait.** When the rounding byte is below 24, the curve is zero and the windows are plain rectangles. Fourteen tokens have square corners, including #55, #91 and #34, while 13 have fully rounded ends. Neither appears in the published traits [^S01].\n6. **Partners pass through grey.** Complementary colours are painted as opposite sides of the field, and the graphics card blends them in red, green and blue. Midway between orange and blue, or between mint and pink, the gradient passes through a muted grey, as #0 and #48 show (code reading, confirmed on renders) [^S01].\n7. **No Soft Together.** The two switches are independent, so a softened single-colour Reflection was possible, at about 1 chance in 100. None of the five Together tokens is soft (own computation) [^S01].\n8. **Every image is a moment.** Colour depends on elapsed time since the page opened, and the program has no loop length and no fixed starting frame. A static render, including every image in this essay, shows one arbitrary instant. Bright Moments captioned its own still of #98 as one that \"doesn't do Reflection #98 justice\" [^S04]. The canvas size is read once at start-up, and there is no mouse or keyboard interaction (code reading) [^S01].\n\n![Reflection #91: a six by six grid of square-cornered windows in orange and yellow, cut by a diagonal band of red running from the bottom left corner towards the top right](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000091.png)\n*Reflection #91: Friends, 36 Frames, the most windows in the series, with square corners and a clear diagonal seam. Render: Art Blocks media proxy.*"
    },
    {
      "id": "the-most-coveted-variants",
      "heading": "The most coveted variants",
      "bodyMarkdown": "No published source ranks Reflections or names a grail. The notes below identify the structurally rare outputs from the code and the index, and report the sale figures that are available. They are not a record of collector demand.\n\n**The single window (#98).** Only #98 has one column and one row: one large rounded pane, the whole gradient seen at once [^S01]. It is also the image Bright Moments chose for the project's documentation page [^S04]. It was the 99th token minted, at 03:08:58 UTC on 19 November [^S01].\n\n![Reflection #98: a single large rounded window, blue-violet at top left fading to red at top right and green at bottom left, with a violet diagonal](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000098.png)\n*Reflection #98: Exploration, 1 Frame, the only single-window output. Render: Art Blocks media proxy.*\n\n**Together (5 of 100).** When all four corners share one hue the gradient disappears, and every window is the same flat colour, cycling through the spectrum over time. The five are #71, #72, #73, #82 and #92 [^S01].\n\n![Reflection #73: five tall fully rounded windows side by side, all a flat orange](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000073.png)\n*Reflection #73: Together, 5 Frames, with fully rounded ends. Render: Art Blocks media proxy.*\n\n**The seven-column #55.** The only token to hit the 1-in-256 edge case, and one of the 14 with square corners [^S01].\n\n![Reflection #55: a seven by three grid of square-cornered windows in turquoise, mint and sky blue](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000055.png)\n*Reflection #55: Friends, 21 Frames, the only seven-column output. Render: Art Blocks media proxy.*\n\n**Soft Partners (#48).** The rarest Vibe label, held by one token: a twelve-window grid in pale mint and pink that meet in grey [^S01].\n\n![Reflection #48: two rows of six rounded windows, pale mint at the top blending through grey to pink at the bottom](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000048.png)\n*Reflection #48: Soft Partners, 12 Frames. Render: Art Blocks media proxy.*\n\n**Invocation 0.** #0 is a Partners token with two panes, orange above and blue below, meeting in grey. It was minted on 15 November 2021, three days before the event [^S01].\n\n**AB5D's token (#64).** The hero image is a Friends token with nine windows and the thickest frames. Its two base hues start 1.5 degrees apart, so, with quirk 2 locking their direction, it behaves almost as a two-colour work: yellow along one diagonal and green in the opposite corners, all moving together (own computation) [^S01]. It was minted at 00:24:29 UTC on 19 November, during the evening event [^S01].\n\nIn the market, OpenSea's collection page, read on 20 September 2026, gave a total volume of about $442,600 and one listed item. Among the sales it displayed, the highest were Reflection #10, a Flirting token with two panes, at about $12,900, and #40, a Flirting token with 15, at about $10,800 [^S12]. The page does not date those sales. The lowest listing in the Art Blocks index at retrieval was 1.3 ETH [^S01]."
    },
    {
      "id": "the-bright-moments-event",
      "heading": "The Bright Moments event",
      "bodyMarkdown": "Bright Moments was then an in-person gallery that minted generative work on site. Its New York gallery opened in SoHo in the autumn of 2021 with the CryptoNewYorker series, and it followed with shows by Tyler Hobbs and Jeff Davis [^S08]. The event listing gives the details: a private minting session for token holders on Thursday 18 November 2021 from 6 to 10 pm at 150 Wooster Street, and a public exhibition night on Friday 19 November [^S05]. Bright Moments describes Reflection as binding \"collectors to the generative work at the moment of its creation by revealing and minting the 100 pieces individually in-person (IRL)\" [^S04].\n\nAccess came through a separate token. A collection of 100 \"Golden Token | Reflections\" NFTs, each described as \"a claim to mint a generative Reflections NFT art piece\", required the holder to be present at the gallery during the 18 November event [^S13]. OpenSea records that collection with six current owners and a traded volume of about $139,300, so the claims themselves were bought and sold before or after the mint [^S13].\n\nDavis's photographs show the gallery lit in violet, with Reflections on tall portrait screens along one wall, a large single-screen piece of two stacked panes, and a wide projection of a two by six grid behind a DJ table [^S02].\n\n![Installation view at Bright Moments New York: a wide wall projection of twelve horizontal rounded windows in rainbow gradients, with visitors and a DJ table in front](https://images.squarespace-cdn.com/content/v1/555cbbd2e4b01d2cfb61ccfa/8c1af393-42db-42ea-8f64-188717adf76e/Reflection8.jpg)\n*Reflection projected at Bright Moments, New York, November 2021. Photo: Jeff Davis, jeffgdavis.com.*"
    },
    {
      "id": "the-mint",
      "heading": "The mint",
      "bodyMarkdown": "Invocation 0 was minted on 15 November 2021 at 03:26:38 UTC, before the project was activated at 20:31:43 UTC the same day [^S01]. The remaining 99 were minted on the evening of 18 November, New York time. #1 was minted at 21:43:16 UTC (4.43 pm local), and 15 tokens were minted before the index's recorded start of 22:30 UTC [^S01]. Forty-two had been minted within an hour of the start, and the 100th at 03:11:08 UTC on 19 November, 10.11 pm in New York, which is also the recorded completion time [^S01]. The 99 evening mints took about five and a half hours, beginning before the listed 6 to 10 pm session and ending just after it [^S01][^S05].\n\nThe index records the price as 1 unit of a currency with the symbol `BRTRF`, not ETH [^S01]. That suggests the minter accepted a Bright Moments token as payment, consistent with the Golden Token claims, but no source found explains the currency or what was paid for a Golden Token. The earlier AB5D essay gave the price as 1 ETH, which appears to misread the field [^S14][^S01].\n\nAt retrieval the 100 tokens were held by 87 addresses. The largest holding was four, and one wallet held three [^S01]. No source inspected names any of them, and the artist's address holds none. The address `0xdd19308a9731cdecb67e0d80ca6823394208c045`, one of AB5D's, holds #64 [^S01]."
    },
    {
      "id": "copyright-and-licensing",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The index records `CC BY-NC 4.0` without a link [^S01]. On that label, the images may be shared and adapted for non-commercial purposes with attribution; commercial use needs the artist's permission. The script carries no separate code licence, and p5.js is loaded by the platform at view time [^S01]. The earlier AB5D essay made the same points and noted p5.js's own LGPL licence [^S14]. The installation photographs above belong to Jeff Davis. They are linked from his site, not re-hosted, and need his permission before any reuse beyond reference."
    },
    {
      "id": "significance-and-limitations",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Reflection is a compact program, just over 5,000 bytes, that turns a single idea into an edition: a moving gradient seen through black frames. Its five colour relationships give each output a temperament rather than a palette, and its names (Exploration, Friends, Flirting, Partners, Together) tie the maths of hue to the project's theme of relationships. It marks the point where Davis's colour work began to move, following Portal, and the start of a run of gradient pieces made for Bright Moments that ended with Culmination [^S09]. It is also a clear record of the 2021 in-person minting model: a claim token, an appointment in a gallery, and an edition completed in one evening [^S04][^S05][^S13].\n\nIts limits are those of a small Playground work. Little has been written about it, no sales are recorded by auction houses, and the traits omit two of its most visible features: square corners and the diagonal seam. Every still image misrepresents it, because the work is the motion.\n\nUnresolved research questions:\n\n1. What is the `BRTRF` currency in the index, and how were the Golden Tokens distributed and priced?\n2. Was the 10 per cent donation to the \"Art for Good\" fund made, and who runs that fund? No source for the fund was found.\n3. Was the diagonal seam in the colour field intended, and would Davis regard a corrected renderer as faithful to the work?\n4. Which Reflection was shown on which screen at Bright Moments, and were any shown as dedicated physical editions?\n5. The quotations from Bright Moments' pages, the Golden Token description and the event listing came through automated WebFetch extraction and should be checked against the pages; the Bright Moments podcast episode on Davis could not be fetched."
    }
  ],
  "codeInspection": {
    "source": "projects_metadata.script",
    "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "query": "query { projects_metadata(where:{slug:{_eq:\"reflection-by-jeff-davis\"}}){id name artist_name project_id description website script script_type_and_version license link_to_license invocations max_invocations first_token_minted_at second_token_minted_at activated_at start_datetime completed_at price_per_token_in_wei sales_notes} }",
    "variables": {},
    "retrievedAt": "2026-09-18T21:37:47.932781+00:00",
    "byteLength": 5210,
    "sha256": "9deb748682c59f9f77fc33a5b1977ce5560b5b6b2367a2afd08a024fac09e8cf",
    "runtime": "p5@1.0.0",
    "executed": false,
    "chainBlock": null,
    "coverage": "Entire 5210-byte program read: token hash bytes, setup parameters, draw elapsed-time HSB colours, relationship branches, whole-field vertex colour interpolation, aframe/bframe black masks. p5.js 1.0.0 WebGL; no custom input/audio/resize handlers. Original renderers observed separately in Chrome."
  },
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "208000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000000",
      "sourceIds": [],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Two side-by-side strongly rounded openings, shared complementary vertical gradient; lime/purple first, then purple/lime and green/magenta in two later session captures."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "208000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000001",
      "sourceIds": [],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Four tall columns in one row, slight corner rounding. Blue/cyan/red lower left gives way to lime/turquoise over blue/purple. Submitted two-row description corrected."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "208000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000010",
      "sourceIds": [],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Two horizontally elongated capsules stacked vertically; cyan/pink gradient becomes near-uniform pink across both."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "208000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000020",
      "sourceIds": [],
      "selectionNote": "Early editions selected before visual inspection",
      "observationNote": "Two-by-two sharp-cornered openings, soft purple/pink/cyan becomes warmer upper-right and cooler lower-right."
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "208000064",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000064",
      "sourceIds": [],
      "selectionNote": "Verified AB5D collection example",
      "observationNote": "Three-by-three rounded openings; green field shifts toward turquoise in upper-right and lower-left regions, centre greener."
    }
  ],
  "facts": [],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "observedAt": "2026-09-19",
      "sourceIds": [],
      "note": "Current observed label; historic terms unresolved.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": "No separate artist-code licence identified",
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-19",
      "sourceIds": [],
      "note": "Dependency licensing is not a separate grant for the artist program.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "name": "p5.js 1.0.0",
        "reportedLabel": "LGPL-2.1",
        "category": "custom",
        "termsUrl": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
        "observedAt": "2026-09-19",
        "sourceIds": [],
        "note": "Pinned dependency licence, separate from artist code.",
        "unresolvedConflicts": []
      }
    ]
  },
  "completionStatus": "reviewed-for-publication",
  "manuscriptFormat": "supplied-markdown",
  "manuscriptPreamble": "# Reflection by Jeff Davis\n\n*Art Blocks Playground, project 208 · 100 outputs · minted 18 November 2021 at Bright Moments New York · CC BY-NC 4.0*\n\n![Reflection #64: a three by three grid of rounded windows on black, glowing yellow-green along the diagonal from top left to bottom right and deeper green in the other two corners](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000064.png)\n*Reflection #64, held by AB5D: Friends, 9 Frames. Render: Art Blocks media proxy.*\n\n",
  "bibliographyMarkdown": "\n### Primary\n\n[^S01]: Art Blocks public GraphQL index, `projects_metadata` for project 208 (including the full program) and for project 6, and `tokens_metadata` for all 100 tokens. Retrieved 20 September 2026 via https://artblocks-mainnet.hasura.app/v1/graphql. Traits recomputed from the hashes. Collection page: https://www.artblocks.io/collections/playground/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208\n[^S02]: Jeff Davis, portfolio, \"2021\" (Reflection entry and eight installation views). https://www.jeffgdavis.com/2021\n[^S03]: Art Blocks, \"Reflection by Jeff Davis\", collection page, read 20 September 2026. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208\n[^S06]: Jeff Davis, CV. https://www.jeffgdavis.com/vitae\n[^S11]: p5.js 1.0.0, library source (`RendererGL.prototype.beginShape`, default shape mode `TRIANGLE_FAN`), npm package `p5@1.0.0`. https://www.npmjs.com/package/p5/v/1.0.0\n\n### Bright Moments\n\n[^S04]: Bright Moments, \"Reflections | Jeff Davis\", documentation. https://docs.brightmoments.io/artist-collaborations/new-york/reflections-or-jeff-davis\n[^S05]: Bright Moments, \"Reflections Private Minting\", event listing, Luma, 18 to 19 November 2021. https://luma.com/reflections\n[^S08]: Phil Mohun, \"Bright Moments: Abridged\", Bright Moments Quarterly, 28 May 2022. https://www.brightmoments.io/quarterly/bright-moments-abridged\n[^S09]: \"Jeff Davis: Culmination\", Bright Moments Quarterly, 2024. https://www.brightmoments.io/quarterly/jeff-davis-culmination\n[^S13]: OpenSea, \"Golden Token | Reflections\" collection page, contract `0x802c30ebd6806fce10176727a9a1874d0dc08cf7`, read 20 September 2026. https://opensea.io/collection/golden-token-reflections\n\n### Video and audio\n\nTitles and channels below are as returned by YouTube's oEmbed service on 20 September 2026. The videos were identified but not watched for this draft.\n\n- \"Art Blocks, Jeff Davis, and Bright Moments - Venice Beach to the World\", Bright Moments. https://www.youtube.com/watch?v=CuOTPshQM74\n- \"Meet Jeff Davis, of the Bright Moments Paris Collection\", Bright Moments. https://www.youtube.com/watch?v=sjS07jcQ95o\n- \"The Intertwined Paths of Bright Moments, Jeff Davis, and Art Blocks\", Bright Moments podcast (not fetched). https://creators.spotify.com/pod/profile/brightmoments/episodes/The-Intertwined-Paths-of-Bright-Moments--Jeff-Davis--and-Art-Blocks-e1vc5fc\n\n### Criticism, collecting and market\n\n[^S07]: Megan DeMatteo, \"In Conversation With Jeff Davis\", OpenSea, 24 March 2025. https://opensea.io/blog/articles/in-conversation-with-jeff-davis\n[^S10]: AB5D, \"View Card by Jeff Davis\", revised draft, 2026. https://ab5d.xyz/series/view-card-by-jeff-davis/\n[^S12]: OpenSea, \"Reflection by Jeff Davis\" collection page, read 20 September 2026. https://opensea.io/collection/reflection-by-jeff-davis\n[^S14]: AB5D, \"Reflection by Jeff Davis\", earlier essay. https://ab5d.xyz/series/reflection-by-jeff-davis/\n\n### Further reading\n\n- Alex Estorick, \"The Color of Code | Jeff Davis\", Right Click Save, 8 May 2023. https://www.rightclicksave.com/article/the-color-of-code-interview-jeff-davis\n- Art Blocks, \"Introducing Art Blocks 500\". https://www.artblocks.io/articles/art-blocks-500-complete-collection\n- Bright Moments, \"New York\". https://www.brightmoments.io/newyork\n",
  "suppliedRevision": {
    "batch": "ab500-essays-batch-03",
    "date": "2026-09-21",
    "sourceFile": "reflection-by-jeff-davis.md",
    "sourceSha256": "b5b050ebb0573b274bd35f8e10b9de749a7c2ed6aed19314184030eee8144a55",
    "sourceCount": 14,
    "imageCount": 8,
    "headerLine": "Art Blocks Playground, project 208 · 100 outputs · minted 18 November 2021 at Bright Moments New York · CC BY-NC 4.0",
    "author": null,
    "usage": null,
    "draftNoticeRemoved": true,
    "importMode": "Supplied prose preserved; footnote labels normalized for site compatibility."
  },
  "referenceOrder": [
    "S01",
    "S02",
    "S03",
    "S06",
    "S11",
    "S04",
    "S05",
    "S08",
    "S09",
    "S13",
    "S07",
    "S10",
    "S12",
    "S14"
  ],
  "presentation": {
    "editionSize": 100,
    "maximumEdition": 100,
    "mintDate": "2021-11-15T03:26:38+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-208",
      "token_id": "208000064",
      "invocation": 64,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000064.png",
      "live_view_url": "/series/reflection-by-jeff-davis/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000064",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/208000064",
      "mode": "live",
      "aspectRatio": 1.982394366197183,
      "interactionNote": "The artwork animates automatically.",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "Verified AB5D work displayed through official original renderer under named artwork licence."
    }
  },
  "observationImages": [],
  "publication": {
    "date": "2026-09-19",
    "url": "https://ab5d.xyz/series/reflection-by-jeff-davis/",
    "authorization": "Phil requested publication of the supplied essays on 2026-09-21.",
    "reviewSnapshot": "/docs/series-essays/production/reflection-by-jeff-davis/record.json",
    "unresolvedResearchQuestionsRetained": true,
    "revisionDate": "2026-09-21"
  }
}
