{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
    "projectId": 375,
    "slug": "wabi-sabi-by-kazuhiro-tanimoto",
    "title": "Wabi Sabi",
    "artistCredit": "Kazuhiro Tanimoto",
    "artistDossierUrls": []
  },
  "revision": 2,
  "researchCutoff": "2026-09-19",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 205,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Current index invocations, equal to maximum on this completed project."
    },
    {
      "id": "max-invocations",
      "topic": "mint",
      "value": 205,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2022-10-24T20:36:47+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "reported"
    },
    {
      "id": "activated-at",
      "topic": "mint",
      "value": "2022-10-27T20:59:11+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "start-datetime",
      "topic": "mint",
      "value": "2022-11-07T18:00:00+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "completed-at",
      "topic": "mint",
      "value": "2022-11-07T18:13:23+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": null
    },
    {
      "id": "license-label",
      "topic": "rights",
      "value": "CC BY-NC 4.0",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "reported"
    },
    {
      "id": "script-type",
      "topic": "construction",
      "value": "p5@1.0.0",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified"
    },
    {
      "id": "historic-unit-price-eth",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S01",
        "S02"
      ],
      "status": "unknown",
      "note": "No contemporaneous primary price table recovered this session."
    }
  ],
  "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": [
        "S02",
        "S06"
      ],
      "note": "Label copied from projects_metadata.license. Unversioned CC strings are not inferred as 4.0.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "note": "No separate artist-code licence field was present on the project record.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "name": "p5.js 1.0.0",
        "reportedLabel": "LGPL-2.1 (p5.js project license; confirm version-specific notice)",
        "category": "custom",
        "termsUrl": "https://github.com/processing/p5.js/blob/main/license.txt",
        "observedAt": "2026-09-19",
        "sourceIds": [
          "S03"
        ],
        "note": "Runtime declared script_type_and_version p5@1.0.0. p5.js is third-party; the artist program is a separate rights object.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Wabi Sabi is project 375 on the Art Blocks V2 core contract 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, published under the canonical slug wabi-sabi-by-kazuhiro-tanimoto and credited to Kazuhiro Tanimoto. The indexed project record reports a completed edition of 205 of 205 invocations, runtime p5@1.0.0, and the official description: Wabi-sabi, an ancient Japanese aesthetic sense, refers to finding beauty in imperfect and lonely things. Life is irrational and ephemeral.  Peace and happiness are illusory, built on a fragile balance.  Wabi-sabi is an immersion of the quality of loneliness within ourselves that accepts various nuances to be beautiful, through a sophisticated lens. This work attempts to store the compelling concept of Wabi-sabi on the blockchain as the code dynamically generates brushstrokes based on motifs of Shodo (Japanese calligraphy)  Wabi-sabi begins with a deliberate movement in which an ink-soaked brush is plopped down onto the paper, causing the ink to splatter. Thereafter, a unique algorithm assists in drawing brushstrokes.  The various forms that emerge from the balance of lines that are straight or curved, regular or irregular, strong or slight, complex or delicate, with varying speeds analogize a person’s will through the brushstrokes. The bleeding, scratching, and splattering of ink lend the modelling even more complexity. Wabi-sabi does not impose precision in creating Shodo strokes. You may notice how the colors always bleed in the same direction, which is impossible to generate in our physical reality. This is because even if the brush is impregnated with multiple hues of ink, the bristles rotate as the brushstrokes are drawn. It may also generate three-dimensional patterns, a feature that is absent in physical practice, offering the impression of depth, as if brushstrokes were drawn arbitrarily in space. This is achieved by controlling the focus.  A key feature of each artwork is that it can be edited. A piece of art is usually completed by the artist and presented to the viewer. I intended to make this work as imperfect as the concept of Wabi-sabi, which can be infinitely edited by the viewer. This is impossible with conventional NFTs, with generated image data uploaded to a server. Such is the luxury in art created with on-chain generative art by code.  For each composition, the blank space as the foreground and background is a conscious and elemental choice in this work. Wabi-sabi is to accept the lacking. Some artworks can have much of the space as blank, which may seem odd but is consistent with the narrative. Digitally native art often takes full advantage of the computing power to lay out complex patterns across the entire canvas. Wabi-sabi is minimal as a contemporary take on that trend. Through the bleeding and scratching of ink in each brushstroke along with the blank space represented in this work, we welcome imperfection. Conceptually, contrasts between movement and stillness, strength and weakness, audacity and delicacy, complexity and simplicity, vividness and fadedness reveal a melancholic beauty.  The search for beauty through imitation and slight modification, and the exploration of the techniques used to create traditional or innovative shapes, is akin to the training in Shodo.  Simply said, you cannot do it well the first time. The Japanese word for Shodo (\"do\") means \"road\". It is by travelling down the long road involving hours of training and exploration, that the sensitive concept of Wabi-sabi may be understood.  The underlying intention is to facilitate partaking in the process of the artist's exploration. The viewer is the artist and the artist is the viewer, sharing a sense of camaraderie that lives forever on the blockchain  [NOTE] -Move the mouse over the left edge of the canvas and press the Edit button.  -To edit, press the ‘S’ key -To save the image press the ‘R’ key. -To redraw, modern hardware and browser hardware acceleration is recommended. The Chrome browser on a desktop with a high-end GPU is optimal. On iOS, the best experience is available on iOS 12 or later. [^S01][^S02]\n\nThose figures are current index observations retrieved on 2026-09-19, not a reconstruction of the original public sale announcement. Atlas position is a catalogue ordinal and is not the on-chain project ID. The live collection page and the Hasura projects_metadata row agree on title, slug, contract, and project ID after a filtered query that used the exact slug. [^S01][^S02]\n\nContract 0x99a9b7c1116f9ceeb1652de04d5969cce509b069. Aspect ratio indexed as 0.75. Website https://www.kazuhirotanimoto.com/works/wabi_sabi/.\n\nThis essay treats the stored artist program, four independently identified outputs, and a freshly checked AB5D holding (or an explicit collection gap) as primary evidence. Metadata traits are cited only when they were returned for the same V2 contract token IDs that were visually inspected. They do not replace looking at the pictures. [^S04][^S09]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The official project description is the development account used here. Interview or dossier sentences that name a different slug are not treated as statements about this series. Wabi-sabi, an ancient Japanese aesthetic sense, refers to finding beauty in imperfect and lonely things. Life is irrational and ephemeral.  Peace and happiness are illusory, built on a fragile balance.  Wabi-sabi is an immersion of the quality of loneliness within ourselves that accepts various nuances to be beautiful, through a sophisticated lens. This work attempts to store the compelling concep\n\nThe development account used here is the specific source named in the citations, not a paraphrase of an artist-dossier page. Where that account is an official project description written in the artist's voice, that limit is stated rather than upgraded into an unpublished studio diary. Where an interview exists, the sentences that actually name Wabi Sabi are the ones relied on. [^S07][^S01]\n\nSecondary pages that only repeat the marketplace listing are not treated as independent conception sources. [^S02][^S07]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete artist program for slug wabi-sabi-by-kazuhiro-tanimoto was retrieved from projects_metadata.script filtered by that exact slug. The UTF-8 payload is 16688 bytes with SHA-256 061c9b25e36b4418b5f1f0f24225413cb22f238914f03721f07823fa06de562d. Runtime on the project record is p5@1.0.0. The script was read in full; it was not executed in this research session. [^S03]\n\nThe stored generator is 16688 bytes, SHA-256 061c9b25e36b4418b5f1f0f24225413cb22f238914f03721f07823fa06de562d, runtime p5@1.0.0. Detected source markers: setup, draw, WEBGL, createCanvas, mousePressed, mouseClicked, keyPressed, tokenData, hash, colorMode. Named functions include btCmpltC, btDrawC, btRdDrawC, btSaveC, btnEditC, btnEditHide, btnEditShow, cMB, cPk, cfw. tokenData.hash is read in source. Output then follows the drawing path those functions implement. Token 0 observation: Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 162,160,138). File size 6725697 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Medium; Ink color Spectrum-Sabi; linearity 0.4; Disturbance 0; Brush spread 0.7; Broken stroke True\n\nVisual claims come from inspected media-proxy PNGs plus indexed token features.\n\nSeed handling is visible in the retrieved program: tokenData.hash is read in source. Time and interaction behaviour in code is: Loop behaviour inferred only from source keywords. The inspected PNG is a static frame. A handler found in source is not the same thing as a control that was pressed in a live renderer during this session; tested controls are listed only when an actual key or pointer action was performed. [^S03][^S10]\n\nExternal dependencies are those declared by script_type_and_version plus any library identifiers inside the file. Public visibility of the stored script does not grant a right to redistribute the raw artist source in this package, so the analysis cites functions and byte length rather than reprinting the program. [^S03][^S06]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "Indexed chronology for project 375 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069 is as follows. First token minted_at is 2022-10-24T20:36:47+00:00. activated_at is 2022-10-27T20:59:11+00:00. start_datetime is 2022-11-07T18:00:00+00:00. completed_at is 2022-11-07T18:13:23+00:00. Invocations stand at 205 of a maximum 205, with complete=true on the retrieved row. [^S02][^S04]\n\nCalculated intervals from those timestamps: first mint to activation is 3.02 days; activation to start_datetime is 10.88 days; start_datetime to completion is 13.4 minutes; first mint to completion is 13.90 days. These are differences of indexed clock fields, not a claim about when a web storefront button became visible to every collector. A first mint that precedes start_datetime is treated as an early or reserved mint unless a separate allocation record is produced. [^S02][^S04]\n\nIndexed clocks: first 2022-10-24T20:36:47+00:00, activated 2022-10-27T20:59:11+00:00, start 2022-11-07T18:00:00+00:00, completed 2022-11-07T18:13:23+00:00. Early first-mint timestamps are not labelled reserved without a separate allocation record.\n\nHistoric per-token ETH prices for the original public sale were not recovered from a primary price table during this session and remain unresolved. Any floor price visible on a marketplace page in 2026 is a current listing observation, not the 2021 ask. [^S01][^S02]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The project record stores the artwork licence label 'CC BY-NC 4.0'. That string includes an explicit 4.0 version and is treated as Creative Commons version 4.0. Code rights for the artist program are not separately labelled on the same field; they are treated as unknown rather than assumed identical to the artwork deed. [^S02][^S06]\n\nArtwork label copied exactly as 'CC BY-NC 4.0'.\n\nThird-party runtime p5@1.0.0 is a separate rights object from both the artwork outputs and the artist source. p5.js, three.js, and ordinary browser JavaScript each keep their own licence texts. This package does not redistribute those libraries. [^S03][^S06]\n\nOriginal essay prose in this package is dedicated CC0-1.0 by the research operator. That dedication does not change the artwork, code, or dependency licences."
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "Wabi Sabi #0 is token 375000000 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2022-10-24T20:36:47+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 162,160,138). File size 6725697 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Medium; Ink color Spectrum-Sabi; linearity 0.4; Disturbance 0; Brush spread 0.7; Broken stroke True Indexed features returned for this V2 token: Broil False; Paper Washi; Ink bleed Medium; Ink color Spectrum-Sabi; linearity 0.4; Disturbance 0; Brush spread 0.7; Broken stroke True.  [^S04][^S05][^S09]\n\nWabi Sabi #1 is token 375000001 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2022-10-25T11:37:23+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 172,170,154). File size 6468303 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Strong; Ink color Spectrum-Azayaka; linearity 0.5; Disturbance 0; Brush spread 0.9; Broken stroke True Indexed features returned for this V2 token: Broil False; Paper Washi; Ink bleed Strong; Ink color Spectrum-Azayaka; linearity 0.5; Disturbance 0; Brush spread 0.9; Broken stroke True.  [^S04][^S05][^S09]\n\nWabi Sabi #10 is token 375000010 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2022-11-07T18:12:47+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 188,186,177). File size 5412847 bytes. Indexed features: Broil True; Paper Washi; Ink bleed Strong; Ink color Spectrum-Wabi; linearity 0.5; Disturbance 0; Brush spread 0.5; Broken stroke True Indexed features returned for this V2 token: Broil True; Paper Washi; Ink bleed Strong; Ink color Spectrum-Wabi; linearity 0.5; Disturbance 0; Brush spread 0.5; Broken stroke True.  [^S04][^S05][^S09]\n\nWabi Sabi #20 is token 375000020 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2022-11-07T18:12:47+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 172,170,141). File size 6402439 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Weak; Ink color Bicolor-Azayaka; linearity 0.7; Disturbance 0.5; Brush spread 0.8; Broken stroke True Indexed features returned for this V2 token: Broil False; Paper Washi; Ink bleed Weak; Ink color Bicolor-Azayaka; linearity 0.7; Disturbance 0.5; Brush spread 0.8; Broken stroke True.  [^S04][^S05][^S09]\n\nThe AB5D header candidate is token 375000089 (edition 89), currently indexed to 0xdd19308a9731cdecb67e0d80ca6823394208c045, which is one of the three linked addresses returned for username ab5d on 2026-09-19. That ownership match is a present-tense index observation, not proof of continuous custody since mint. Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 174,170,151). File size 6804963 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Strong; Ink color Bicolor-Sabi; linearity 0.3; Disturbance 1; Brush spread 0.9; Broken stroke False [^S08][^S04][^S09]\n\nMotion, interaction, and audio: Loop behaviour inferred only from source keywords. The inspected PNG is a static frame. The static PNGs document halt or preview states. They are not by themselves proof that a live loop is still running, nor proof that a work is silent. No soundtrack was heard from these pages during this session. [^S09][^S10][^S03]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Wabi Sabi is project 375 by Kazuhiro Tanimoto on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069. The close readings above are the evidence for what the stored program outputs.\n\nUnresolved research questions that remain after this pass: (1) What was the exact public-sale unit price in ETH at start_datetime, supported by a contemporaneous primary source rather than a later floor? (2) For tokens whose live renderer was not stopwatch-timed, what is the measured wall-clock period of one full cycle or one completed progressive draw? (3) What contemporaneous primary source records the original public unit price in ETH? (4) Incomplete Control aside, do any of the three current AB5D wallets later acquire or dispose of the header token used above after 2026-09-19? [^S02][^S08][^S10]\n\nThis package is a draft for human review. Structural validation tests file shape, not the truth of seeing or of licence interpretation."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000000",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 162,160,138). File size 6725697 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Medium; Ink color Spectrum-Sabi; linearity 0.4; Disturbance 0; Brush spread 0.7; Broken stroke True"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000001",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 172,170,154). File size 6468303 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Strong; Ink color Spectrum-Azayaka; linearity 0.5; Disturbance 0; Brush spread 0.9; Broken stroke True"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000010",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 188,186,177). File size 5412847 bytes. Indexed features: Broil True; Paper Washi; Ink bleed Strong; Ink color Spectrum-Wabi; linearity 0.5; Disturbance 0; Brush spread 0.5; Broken stroke True"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000020",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 172,170,141). File size 6402439 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Weak; Ink color Bicolor-Azayaka; linearity 0.7; Disturbance 0.5; Brush spread 0.8; Broken stroke True"
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Grok research session for coordinator handoff",
    "agent": "Grok",
    "model": "Grok 4.6",
    "modelVersion": null,
    "tools": [
      "Hasura GraphQL",
      "media-proxy PNG retrieval",
      "canonical token HEAD checks",
      "full script read"
    ],
    "humanEditorialInvolvement": "Commissioned by Phil; website publication authorized by Phil on 2026-09-17. No claim of line-by-line human fact checking.",
    "originalProseLicense": "CC0-1.0",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "Grok 4.6",
      "displayName": "Grok 4.6",
      "scope": "Supplied Grok first 60 of remaining 168 essay package",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Model name is the actual operator. Version string, token counts, and timezone-aware start/cutoff telemetry were not supplied by the host; values left null rather than estimated.",
      "submittedUsage": {
        "provider": "xAI",
        "model": "Grok 4.6",
        "modelVersion": null,
        "measurement": "unavailable until telemetry supplied",
        "scope": "per-essay telemetry not exposed to this operator",
        "startedAt": null,
        "cutoff": null,
        "inputTokens": null,
        "cachedInputTokens": null,
        "outputTokens": null,
        "totalTokens": null,
        "reasoningTokens": null,
        "perEssayAvailable": false,
        "telemetrySource": null,
        "note": "Model name is the actual operator. Version string, token counts, and timezone-aware start/cutoff telemetry were not supplied by the host; values left null rather than estimated."
      },
      "importReview": "Structural package, identity, citation and build compatibility checks. Supplied prose preserved; no independent research audit."
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script where slug=_eq wabi-sabi-by-kazuhiro-tanimoto",
    "sha256": "061c9b25e36b4418b5f1f0f24225413cb22f238914f03721f07823fa06de562d",
    "retrievedAt": "2026-09-19T00:00:00+00:00",
    "method": "graphql-post-full-script-read",
    "executed": false,
    "chainBlock": null
  },
  "editorialExceptions": [],
  "presentation": {
    "editionSize": 205,
    "maximumEdition": 205,
    "mintDate": "2022-10-24T20:36:47+00:00",
    "mintDateMeaning": "first indexed mint",
    "mintDateLabel": "First mint",
    "artwork": {
      "project_id": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069-375",
      "token_id": "375000089",
      "invocation": 89,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000089.png",
      "live_view_url": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000089",
      "canonicalUrl": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000089",
      "mode": "image",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "displayBasis": "AB5D collection example under the artwork licence label stored on the project record; not a newly created derivative."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000000",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 162,160,138). File size 6725697 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Medium; Ink color Spectrum-Sabi; linearity 0.4; Disturbance 0; Brush spread 0.7; Broken stroke True",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000001",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 172,170,154). File size 6468303 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Strong; Ink color Spectrum-Azayaka; linearity 0.5; Disturbance 0; Brush spread 0.9; Broken stroke True",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000010",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 188,186,177). File size 5412847 bytes. Indexed features: Broil True; Paper Washi; Ink bleed Strong; Ink color Spectrum-Wabi; linearity 0.5; Disturbance 0; Brush spread 0.5; Broken stroke True",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "375000020",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, mid-tone and muted or near-neutral (mean RGB 172,170,141). File size 6402439 bytes. Indexed features: Broil False; Paper Washi; Ink bleed Weak; Ink color Bicolor-Azayaka; linearity 0.7; Disturbance 0.5; Brush spread 0.8; Broken stroke True",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000020"
    },
    {
      "tokenId": "375000089",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000089.png",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000089",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/375000089"
    }
  ],
  "publication": {
    "date": "2026-09-20",
    "url": "https://ab5d.xyz/series/wabi-sabi-by-kazuhiro-tanimoto/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/wabi-sabi-by-kazuhiro-tanimoto/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
