# Research notes

Series: Panelscape 🅰🅱 by Paolo Tonon. Assignment AB5D-SERIES-085. Package status draft-for-human-review.

## Sources and access

Eleven sources were inspected and all eleven are cited.

Identity confirmed before research: chain 1, contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, project id 83, slug panelscape-by-paolo-tonon. The atlas position 85 was not used as a project id. The supplied metadata snapshot was treated as a lead and every field re-read live; refreshed values agreed with the snapshot.

The canonical title contains two enclosed alphanumeric characters, the circled A and B. These are preserved throughout the package and in the essay title line.

Access route: the cloud container has no egress to artblocks.io, the Art Blocks index, the media proxy or the generator, all failing at the outbound proxy with 403 on CONNECT. All live observation ran through the browser pane on the operator's computer, which also supplied viewport emulation for the composition test.

The artist website resolves and returns HTTP 200 but carries no project material: a title card, a page description and a copyright line. It is cited for what it does contain and is explicitly not treated as a source about the work.

No interview exists in the index and none was located. The mint-page statement is the only primary artist text.

## Full script inspection

Retrieved from `projects_metadata` filtered on the exact slug, with contract address and project id checked in the same response. Length 2,615 bytes, the smallest artist script in this batch. SHA-256 `09ac817c226d888a0b4f1b5a9f91a884fae811bf01094bc336cd589770c9a1ae`, computed over the UTF-8 bytes via the Web Crypto API in the browser. Script count 1 and the single fragment reproduces the script field exactly.

Coverage: the entire script was read in one pass. Functions and classes traced: setup in full, including canvas creation, the edge length and panel count draws, the six colour draws, the stroke weight, the origin translation and the population loop; the draw loop; the Random class and its four helpers; and the Faccia class constructor and its draw method, including the three shape branches and the alpha walk.

Direct findings recorded: the canvas is created at the live window dimensions rather than at a fixed design size; the panel count is drawn before any viewport value is used and is therefore viewport-independent, while the edge length is derived from the larger viewport dimension and is not; positions are drawn against the live viewport and snapped to a lattice; the size selector is read in three bands giving base, doubled and tripled panels; there are exactly three shape options and no rotation; the stroke weight is one eightieth of the edge length; the frame rate is pinned to five; the alpha walk increments by fifteen per frame; and the draw loop never repaints the background.

External dependencies: declared `p5@1.0.0`, external asset dependency count zero. No network requests, no audio, no event listeners, no external assets.

One cross-project observation is recorded, with its status made explicit. The xorshift generator and its four helper methods in this script are byte for byte identical to those in breathe-you-by-raregonzo and primidance-by-wuwa, two other projects in this batch by two other artists. That the code is identical is a direct observation from three retrieved scripts. That it came from a shared community template is an inference; no documentation of such a template was located and none is asserted.

No block reference was pinned; this was an index retrieval. Script content is not redistributed.

## Token identity and visual observation

Nine token identities were confirmed on the exact contract before use, plus a full sweep of all 525 rows. All four candidate identifiers supplied in the assignment exist, so no substitution was needed.

Sampling rationale beyond the supplied candidates: AB5D holds five tokens in this project, more than in any other project in the batch, so all five were retrieved and compared on their trait profiles in order to recommend a header work on visual grounds rather than by defaulting to the lowest number. Invocation 103 was chosen for saturation and contrast; the other four are recorded as alternates in presentation.json with a one-line reason each.

Token page checks: five token URLs and the collection URL were requested and all returned status 200 at 2026-09-17T23:53:42Z. No status has been fabricated.

Images: four were loaded at native 2400 by 2180 through the platform media proxy and viewed.

A trait-provenance finding is recorded because it affects how the work should be described. The edition carries 333 distinct background colour names and 326 distinct stroke colour names across only 525 tokens. The script contains no colour names at all; it draws six raw RGB channel values. The named colours are therefore produced by the platform's trait extractor mapping triples onto a colour-name list. A dossier that presented names like Royal Heath or Key Lime Pie as the artist's palette would be misrepresenting the work, and this package does not.

## Motion, viewport dependence and audio

Motion was measured rather than inferred, which matters here because the project page does not carry the animated badge that the platform shows on other animated projects in this batch.

For invocation 103 the live renderer was opened and allowed to settle. The running sketch reported a frame rate of five, a panel count of 544 and an edge length of 73 pixels. Eight canvas samples taken 1.5 seconds apart over 10.5 seconds produced eight distinct signatures. Mean canvas luminance across those samples was 136.7, 138.5, 138.3, 136.4, 136.2, 138.9, 137.3 and 135.6, a band of about three units.

That luminance measurement was made deliberately, to answer a question the code raises. Since the background is never cleared and translucent panels accumulate, the surface might be expected to saturate. It does not, because each panel's alpha falls back to zero as often as it rises and alpha compositing approaches its limit asymptotically. The work reaches a steady state quickly and then shimmers around it.

The viewport test is the most consequential observation in this package. The same token was reloaded under an emulated 1200 by 700 viewport so that setup re-ran. The panel count held at 544, confirming that it is drawn before any viewport value is used. The edge length changed from 73 to 96, and every panel position changed with it; the first five positions in the reloaded sketch were recorded. The resulting image is not the portrait composition cropped or scaled but a different arrangement of the same panels. A capture taken shortly after that reload also showed the early state, with the stroke lattice dominant and panel fills still building, which is a second reason two captures of one token can differ.

The viewport emulation was reset to the pane default immediately after the test.

Audio: no audio or video element in the rendered document and no audio anywhere in the script. No sound was heard because there is none. Autoplay policy never engaged.

Interaction: no event listeners in the script and no documented controls. Nothing responds to input.

## Header ownership and media

The complete current AB5D wallet set was read from the platform's own profile record: `0xce6dc14c5494d8a4325a81d3b257d130fa2039d1`, `0x2247247ee0eee59557e6cd14f7e047f6a9309b5c` and `0xdd19308a9731cdecb67e0d80ca6823394208c045`. The ownership sweep returned five Panelscape tokens, all held by the third address: invocations 103, 142, 255, 281 and 301. The assignment's cached candidates named three of these five; the live check found two more and confirms the owner.

The presentation file recommends the live renderer as the header medium, with two cautions recorded for the coordinator: the embed recomputes its composition from its own dimensions, so it will not match the stored preview, and the first seconds after load show the work still building toward its steady state.

Because no still of a token is canonical, presentation.json states that any published still must be identified by the aspect ratio it was captured at.

## Mint chronology and calculations

Events distinguished: first indexed mint 2021-06-07T06:17:10Z; activation 2021-06-08T14:42:18Z; second indexed mint 2021-06-08T18:33:18Z, duplicated in `start_datetime`; completion 2021-07-23T03:30:27Z.

One calculation is performed: second indexed mint to completion, 44 days, 8 hours, 57 minutes and 9 seconds, covering invocations 1 through 524. Labelled inferred. Not presented as a public sale duration. This is the longest mint in the batch so far.

Timezone handling: the project page displays 9 June 2021 when read from a UTC+10 browser, which is the second-mint timestamp rendered locally; in UTC that timestamp is 8 June. The presentation file names the event and the timezone explicitly and warns against taking the date from the page.

Price: 100000000000000000 wei, that is 0.1 ETH, recorded as the currently configured value and as reported. No primary announcement of an original price was located. The page's present secondary floor of 0.0161 ETH is recorded as an observed figure only; no inference is drawn from it and no valuation commentary appears anywhere in this package.

## Rights and conflicts

Only one rights statement was located: the index field `license` reading "NFT License" with `link_to_license` null. The live project page publishes none, and the artist's website carries no licensing material about the work.

Two conflicts are recorded rather than resolved. First, the version is ambiguous: the licence census across all 359 projects on this contract shows "NFT License", " NFT License" with a leading space, "NFT License 2.0" and "NFT 2.0" as separate strings, and another project in this same batch, Orthogone, carries "NFT License 2.0". Nothing in the field distinguishes a deliberate version choice from a typing difference. Second, the artist's website carries "Paolo Tonon © 2017-2026", which is a website copyright assertion rather than a statement about this artwork; it is recorded so that a later reviewer does not mistake it for one, and it is explicitly not treated as conflicting with the indexed label.

Artwork rights recorded as category custom, label preserved exactly, terms url null, status reported. Code rights unknown and kept separate. Third-party p5 licensing recorded separately and not inspected. NFT ownership has not been treated as an artwork permission.

## Unresolved questions and exceptions

Eight exceptions are raised, all pending, all assigned to the publication coordinator: missing and version-ambiguous licence terms; unknown code rights; the absence of any canonical image for a token; the artist record gap; the unexplained circled A and B in the title; the unverified original price; the project page's missing animated badge; and the three tokens with empty trait objects.

The title question is left genuinely open. The circled characters are part of the canonical name and nothing located explains them. Constructing a plausible reading would have been easy and is declined.

Unresolved leads not converted into sources: no interview was located; the artist website carries no work index to follow; upstream p5 licensing was not inspected; the derivation of the Panel quantity and Panel dimension buckets from the script's continuous draws was not pinned down precisely and no rule is claimed.

## Actual model, tools, elapsed time and measured usage

Model: claude-opus-5, served through the Claude desktop application in Cowork mode on the Claude Agent SDK. The batch routing label was "claude", a routing label and not a model identifier. The agent is not Astra.

Tools actually used: HTTP POST to the Art Blocks public GraphQL index; a browser pane on the operator's computer for page rendering, text extraction, image inspection, live renderer execution, viewport emulation and canvas sampling; the Web Crypto API for the SHA-256 digest; local shell and file tools for package assembly and validation. No human reviewed or edited the prose.

Word count: the coordinator waived the 1,500 to 2,500 word limit for this batch during the session. This essay runs longer than the original cap by that instruction.

Elapsed work: produced within a single continuous session on 18 September 2026, Melbourne time.

Telemetry: no token usage telemetry is exposed to the agent. All counts are null in usage.json with the reason given. Nothing estimated and labelled measured; batch totals not divided into invented per-essay figures.

## Independent full script review
OpenAI Codex read the complete 2,615-byte retrieved program on 18 September 2026. Corrected unreachable triple-size branch, eight random draws per panel, hash-prefix seed handling, strict shape boundary comparisons, alpha overshoot, and overstated independent phase behaviour. Runtime and original preview inspection remain pending. Original Claude provenance retained; review usage unavailable.

Independent original #103 renderer observation: initial plum field, then two developed multicolour states with stationary geometry and changing colours. Corrected false inference that alpha returning to zero erases accumulation or proves a permanent steady state. Exact timing and audio not measured.

Independent source discovery: artist homepage has Digital Collectibles and About navigation. NFT index links a dedicated Panelscape portfolio page repeating the statement and linking four examples. Corrected submitted claim that no portfolio/project material exists. Added S12; repetition is not independent development testimony. Other data-field versions of this claim still need reconciliation.

Fresh coordinator query confirmed 525 invocations, first mint 7 June 2021, reported NFT License label with no terms URL, and all five AB5D holdings including header #103. Reconciled structured facts for size branches, panel count upper bound, alpha overshoot, audio scope and artist portfolio. Stored submitted luminance values as reported, not independent proof.


Coordinator continuation: corrected the examples to distinguish independent views from submitted viewport measurements; removed unsupported sound-monitoring and three-token runtime claims; corrected the reachable panel count and shape-boundary explanation; inspected the versioned p5.js licence and added S13. Structural validation is not acceptance. Remaining review includes the contract-wide rights census and reconciliation of structured evidence with these prose corrections.
