{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
    "projectId": 470,
    "slug": "forecast-by-manuel-larino",
    "title": "Forecast",
    "artistCredit": "Manuel Larino",
    "artistDossierUrls": []
  },
  "revision": 2,
  "researchCutoff": "2026-09-19",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 365,
      "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": 365,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2023-10-05T20:52:11+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "reported"
    },
    {
      "id": "activated-at",
      "topic": "mint",
      "value": "2023-10-19T14:02:23+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "start-datetime",
      "topic": "mint",
      "value": "2023-11-15T18:00:00+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "completed-at",
      "topic": "mint",
      "value": "2023-11-15T19:44: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": "Forecast is project 470 on the Art Blocks V2 core contract 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, published under the canonical slug forecast-by-manuel-larino and credited to Manuel Larino. The indexed project record reports a completed edition of 365 of 365 invocations, runtime p5@1.0.0, and the official description: ##### **Forecast** abstractly captures the essence of rainfall on a stone-paved road, drawing an analogy between weather and human emotions, comparing the outcome of a weather forecast to the range of feelings a rainy day can evoke, inviting viewers to reflect on their own relationship with rain and the emotions it evokes in them. ##### ####  #### ` ` The code creatively **recreates a weather forecast** to determine where on the canvas rain will fall. It emulates barometric pressure and humidity to alter a circle packing **algorithm that acts like clouds over the canvas**, generating the necessary data to calculate the probability of precipitation for each piece and distribute rain on the canvas in a visually appealing way.  **Geometry, color, and natural forces work together to create an abstract representation of rain** that pays homage to where I was born, “Galicia, where rain is art”.  #### ####   #### ####    #### ####  ***   #### #### ` ` ###### **The Concept** ` ` In the northwest of Spain lies Galicia, a region where rain holds a special place.  **With approximately half of the year consisting of rainy days**, it's no surprise that the Galician language has evolved to encompass a rich vocabulary of over 100 words to describe its various forms and moments. **Rain has become an art form in our everyday lives**, expressed through our language and the nuances of our conversations.  It was within this setting of rich traditions and linguistic nuances that **inspiration took hold on a rainy Sunday afternoon, as I wandered through the old part of town, captivated by the movement of raindrops and mesmerizing water ripples on the stone-paved road**, nurtured by the deep connection between Galicia's cultural heritage of intricate vocabulary of rain.  This intriguing interplay between weather and language extends far beyond Galicia, languages like Japanese, Welsh, and even Hawaiian bear witness to this captivating phenomenon, where **weather molds the very fabric of our linguistic expressions.** It serves as a testament to the **profound influence of weather on our collective human experience.**  While rain and weather influencing language ignited my inspiration, I sought to explore further, embarking on a creative journey that **explores the profound impact rain has on emotions and feelings**, a shared human language that transcends borders and requires no translations.  To express the diverse range of emotions rain can evoke, I created color palettes inspired by personal memories and experiences, capturing the essence of how those moments, events, and places made me feel. To further enhance the expression of emotions, I use size and proportion symbolizing and amplifying the intensity of those feelings. This approach brings forth the emotional impact of rain in our lives, **inviting viewers to reflect on their own relationship with rain and the feelings it evokes in them.**  To add depth and significance to its compositions Forecast uses a creative approach woven into its code, that became such an important part of the piece that gave its name to the project. **The code simulates a weather forecast emulating barometric pressure, and humidity** ,  variables that dynamically influence a circle packing algorithm that symbolizes clouds over the canvas, generating the necessary data to calculate the probability of precipitation for each piece and distribute rain across the canvas in a visually appealing way. The result is a perfect balance between randomness and control that added an extra layer of depth to the artwork.  **Prints** Prints will be available for Forecast owners. For more details, [visit this link](https://www.mlarino.com/work/forecast \"order prints\").  *** \\ **Keys** **[S]** - Download image.  Press the **[LEFT ARROW]** key to explore the different elements that help build the final image.  To switch between different aspect ratios, use the following keys: **[0]** 3:4 Print (default) **[1]** 9:16 ratio **[2]** 1:1 ratio [^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.mlarino.com.\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. ##### **Forecast** abstractly captures the essence of rainfall on a stone-paved road, drawing an analogy between weather and human emotions, comparing the outcome of a weather forecast to the range of feelings a rainy day can evoke, inviting viewers to reflect on their own relationship with rain and the emotions it evokes in them. ##### ####  #### ` ` The code creatively **recreates a weather fore\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 Forecast 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 forecast-by-manuel-larino was retrieved from projects_metadata.script filtered by that exact slug. The UTF-8 payload is 37524 bytes with SHA-256 daacf4d8ff4804b28e7d19224f948937806418feb5be7f4116275b1037da3487. 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 37524 bytes, SHA-256 daacf4d8ff4804b28e7d19224f948937806418feb5be7f4116275b1037da3487, runtime p5@1.0.0. Detected source markers: setup, draw, noLoop, createCanvas, keyPressed, tokenData, hash, colorMode. Named functions include Aa, Lo, Rl, bP, cR, cRr, dFc, dN, draw, f. tokenData.hash is read in source. Output then follows the drawing path those functions implement. Token 0 observation: Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 180,197,197). File size 4934548 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 80; Color Palette Melancholy; Ripple Density Mix High + Medium + Low; Wind Direction South (S); Paving Stone Size Regular; Chance of Rain (%) 58\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: Source contains noLoop. The inspected PNG is a finished still. Live motion was not stopwatched. 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 470 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069 is as follows. First token minted_at is 2023-10-05T20:52:11+00:00. activated_at is 2023-10-19T14:02:23+00:00. start_datetime is 2023-11-15T18:00:00+00:00. completed_at is 2023-11-15T19:44:23+00:00. Invocations stand at 365 of a maximum 365, with complete=true on the retrieved row. [^S02][^S04]\n\nCalculated intervals from those timestamps: first mint to activation is 13.72 days; activation to start_datetime is 27.17 days; start_datetime to completion is 1.74 hours; first mint to completion is 40.95 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 2023-10-05T20:52:11+00:00, activated 2023-10-19T14:02:23+00:00, start 2023-11-15T18:00:00+00:00, completed 2023-11-15T19:44: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": "Forecast #0 is token 470000000 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2023-10-05T20:52:11+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 180,197,197). File size 4934548 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 80; Color Palette Melancholy; Ripple Density Mix High + Medium + Low; Wind Direction South (S); Paving Stone Size Regular; Chance of Rain (%) 58 Indexed features returned for this V2 token: Rain Type Curved; Joint Lines Invisible; Humidity (%) 80; Color Palette Melancholy; Ripple Density Mix High + Medium + Low; Wind Direction South (S); Paving Stone Size Regular; Chance of Rain (%) 58.  [^S04][^S05][^S09]\n\nForecast #1 is token 470000001 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2023-11-15T18:00:59+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 212,209,193). File size 5529950 bytes. Indexed features: Rain Type Curved; Joint Lines Visible; Humidity (%) 73; Color Palette Isas; Ripple Density High; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 47 Indexed features returned for this V2 token: Rain Type Curved; Joint Lines Visible; Humidity (%) 73; Color Palette Isas; Ripple Density High; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 47.  [^S04][^S05][^S09]\n\nForecast #10 is token 470000010 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2023-11-15T18:24: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 173,192,192). File size 5031323 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 93; Color Palette Melancholy; Ripple Density Mix High + Medium; Wind Direction Northwest (NW); Paving Stone Size Medium; Chance of Rain (%) 81 Indexed features returned for this V2 token: Rain Type Curved; Joint Lines Invisible; Humidity (%) 93; Color Palette Melancholy; Ripple Density Mix High + Medium; Wind Direction Northwest (NW); Paving Stone Size Medium; Chance of Rain (%) 81.  [^S04][^S05][^S09]\n\nForecast #20 is token 470000020 on 0x99a9b7c1116f9ceeb1652de04d5969cce509b069, minted 2023-11-15T18:41:59+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 187,204,170). File size 5821509 bytes. Indexed features: Rain Type Curved; Joint Lines Visible; Humidity (%) 88; Color Palette Unforgettable Summers; Ripple Density Mix High + Medium; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 70 Indexed features returned for this V2 token: Rain Type Curved; Joint Lines Visible; Humidity (%) 88; Color Palette Unforgettable Summers; Ripple Density Mix High + Medium; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 70.  [^S04][^S05][^S09]\n\nThe AB5D header candidate is token 470000034 (edition 34), 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, light and muted or near-neutral (mean RGB 211,230,203). File size 5066917 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 67; Color Palette Galicia; Ripple Density Mix High + Medium; Wind Direction Northwest (NW); Paving Stone Size Large; Chance of Rain (%) 100 [^S08][^S04][^S09]\n\nMotion, interaction, and audio: Source contains noLoop. The inspected PNG is a finished still. Live motion was not stopwatched. 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": "Forecast is project 470 by Manuel Larino 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": "470000000",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 180,197,197). File size 4934548 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 80; Color Palette Melancholy; Ripple Density Mix High + Medium + Low; Wind Direction South (S); Paving Stone Size Regular; Chance of Rain (%) 58"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "470000001",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 212,209,193). File size 5529950 bytes. Indexed features: Rain Type Curved; Joint Lines Visible; Humidity (%) 73; Color Palette Isas; Ripple Density High; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 47"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "470000010",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 173,192,192). File size 5031323 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 93; Color Palette Melancholy; Ripple Density Mix High + Medium; Wind Direction Northwest (NW); Paving Stone Size Medium; Chance of Rain (%) 81"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "470000020",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 187,204,170). File size 5821509 bytes. Indexed features: Rain Type Curved; Joint Lines Visible; Humidity (%) 88; Color Palette Unforgettable Summers; Ripple Density Mix High + Medium; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 70"
    }
  ],
  "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 remaining 168 complete 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 forecast-by-manuel-larino",
    "sha256": "daacf4d8ff4804b28e7d19224f948937806418feb5be7f4116275b1037da3487",
    "retrievedAt": "2026-09-19T00:00:00+00:00",
    "method": "graphql-post-full-script-read",
    "executed": false,
    "chainBlock": null
  },
  "editorialExceptions": [],
  "presentation": {
    "editionSize": 365,
    "maximumEdition": 365,
    "mintDate": "2023-10-05T20:52:11+00:00",
    "mintDateMeaning": "first indexed mint",
    "mintDateLabel": "First mint",
    "artwork": {
      "project_id": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069-470",
      "token_id": "470000034",
      "invocation": 34,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000034.png",
      "live_view_url": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000034",
      "canonicalUrl": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000034",
      "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": "470000000",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 180,197,197). File size 4934548 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 80; Color Palette Melancholy; Ripple Density Mix High + Medium + Low; Wind Direction South (S); Paving Stone Size Regular; Chance of Rain (%) 58",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "470000001",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 212,209,193). File size 5529950 bytes. Indexed features: Rain Type Curved; Joint Lines Visible; Humidity (%) 73; Color Palette Isas; Ripple Density High; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 47",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "470000010",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 173,192,192). File size 5031323 bytes. Indexed features: Rain Type Curved; Joint Lines Invisible; Humidity (%) 93; Color Palette Melancholy; Ripple Density Mix High + Medium; Wind Direction Northwest (NW); Paving Stone Size Medium; Chance of Rain (%) 81",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "tokenId": "470000020",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "Inspected media-proxy PNG is 1800x2400px, light and muted or near-neutral (mean RGB 187,204,170). File size 5821509 bytes. Indexed features: Rain Type Curved; Joint Lines Visible; Humidity (%) 88; Color Palette Unforgettable Summers; Ripple Density Mix High + Medium; Wind Direction West (W); Paving Stone Size Regular; Chance of Rain (%) 70",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000020"
    },
    {
      "tokenId": "470000034",
      "chainId": 1,
      "contract": "0x99a9b7c1116f9ceeb1652de04d5969cce509b069",
      "previewUrl": "https://media-proxy.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000034.png",
      "url": "https://www.artblocks.io/token/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000034",
      "liveUrl": "https://generator.artblocks.io/1/0x99a9b7c1116f9ceeb1652de04d5969cce509b069/470000034"
    }
  ],
  "publication": {
    "date": "2026-09-20",
    "url": "https://ab5d.xyz/series/forecast-by-manuel-larino/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/forecast-by-manuel-larino/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
