# Research notes

Series: Orthogone by Pandelune. Assignment AB5D-SERIES-089 in the pack's ordering. Package status draft-for-human-review.

## Sources and access

Nine sources were inspected and all nine are cited. Source identifiers are not contiguous; one planned identifier was not reused after a source was dropped.

Identity confirmed before research: chain 1, contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, project id 88, slug orthogone-by-pandelune. The atlas position for this series is also 88, which is a coincidence and was not relied on. The supplied metadata snapshot was treated as a lead and every field re-read live. One refreshed value differs materially from the snapshot: the licence label reads "NFT License 2.0" on the live index, and that exact string is what this package records.

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.

The website recorded on the project is a Twitter profile rather than an artist site. It was not treated as a source. No interview exists in the index and none was located.

## Full script inspection

Retrieved from `projects_metadata` filtered on the exact slug, with contract address and project id checked in the same response. Length 6,118 bytes. SHA-256 `5e4f9ec537bff6927062f07acb070175f26b34b046ce97393d1923a5d5ec0de2`, 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. It is a webpack bundle, so the reading distinguishes two parts.

The first and larger part, roughly four fifths of the bytes, is a third-party colour library. What it exposes was read directly: four scheme names, four variation presets, a colour wheel table sampled every fifteen degrees carrying red, green, blue and value entries, and a mutable-colour class with hue setting, rotation, saturation and value variants and hex output. The structure, the naming and the wheel match a well-known open-source JavaScript colour-scheme package which is itself a port of the Color Scheme Designer algorithm. That identification is an inference from structure and naming; the bundle carries no licence header, no package name and no version string, so nothing in the code states what it is.

The second part, roughly the final thousand bytes, is the artist's own program. Traced in full: the inline xorshift generator and its seeding; the snapping helper; the rectangle helper that applies snapping to all four coordinates; setup, including canvas creation at window dimensions, the near-white background, the loop disable and the palette request; and the draw routine, including the single left-to-right pass, the coloured rectangle placement, the cursor advance and the echo loop with its one percent black chance.

Direct findings: the animation loop is disabled during setup; the canvas is sized from the browser window rather than to the declared aspect ratio; coordinates are snapped to a unit derived from canvas width; echoes are drawn after the cursor has advanced, so they overlap the following rectangle; and there is no per-token black count, only a per-echo one percent chance.

External dependencies: the index reports an external asset dependency count of zero and names only p5. That is true for runtime fetches and misleading about the artwork's actual composition, and it is recorded as conflicting with an explicit note.

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

## Token identity and visual observation

Five token identities were confirmed on the exact contract before use, plus a full sweep of all 777 rows. All four candidate identifiers supplied in the assignment exist.

One substitution was made at the example level. None of the four suggested tokens contains a black rectangle, and the black echo is the project's only rarity, so invocation 3, one of the eight lucky tokens carrying two black rectangles, was substituted for invocation 1. The record for invocation 1 is retained in the evidence file.

A trait relationship is recorded because it affects how the edition should be described. The luck trait and the black trait carry the same number twice: normal maps to zero black rectangles on 679 tokens, somewhat lucky to one on 85, and lucky to two on 8. A dossier that presents them as two independent rarity axes would be double counting.

Token page checks: five token URLs and the collection URL were requested and all returned status 200 at 2026-09-18T00:39:41Z. No status has been fabricated.

Images: four were loaded at native 2400 by 600 through the platform media proxy and viewed. A fifth visual observation, the live renderer at a portrait viewport, is recorded separately because it differs materially from the stored preview.

The sweep found five tokens with completely empty trait objects: 88000415, 88000446, 88000669, 88000670 and 88000671. Their hashes are present and the artworks render, so this is an indexing gap. Five in one project is the largest count found in this batch, which also contains one such token in PrimiDance and three in Panelscape.

## Motion, canvas shape and audio

Motion was tested rather than assumed, because the index claims the work animates.

The live renderer for invocation 476 was opened and allowed to settle, then the canvas was read directly three times at four second intervals. All three signatures were identical, each sampling 80,000 non-transparent pixels, so the readback was of a genuinely drawn canvas. That matches the script, which disables the animation loop during setup. The work is static and the `display_static` value of false is wrong. The project page carries no animated badge and is correct. The same pattern appears on Stroming in this batch.

The same session produced a second finding that matters more for presentation. The viewport was 662 by 910 and the canvas came out 1324 by 1820, a portrait shape, in a project whose declared aspect ratio is 4. The capture shows the row of rectangles correctly proportioned across the vertical middle with roughly three times as much empty ground above and below as the row occupies. The declared ratio and the 2400 by 600 preview describe the platform's capture. The artwork takes the shape of the window it is given. For a work whose identity is a horizontal succession this is not a cropping difference, and the presentation file records that any embed must be given a wide container deliberately.

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, 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 token 88000476 held by the third address. The assignment's cached candidate named the same token and owner; the live check confirms rather than repeats it.

Because the work is static and its shape is viewport-dependent, the presentation file recommends the 2400 by 600 still rather than the live renderer, with the wide-container caution recorded for the case where an embed is used anyway.

## Mint chronology and calculations

Events distinguished: first indexed mint 2021-06-12T06:05:56Z; activation 2021-06-14T16:10:55Z; second indexed mint 2021-06-14T20:24:03Z, duplicated in `start_datetime`; completion 2021-08-01T15:02:13Z.

The owner of invocation 0 is the artist address on the project. This is one of three projects in the batch where that is true.

One calculation is performed: second indexed mint to completion, 47 days, 18 hours, 38 minutes and 10 seconds, covering invocations 1 through 776. Labelled inferred. The longest mint in this batch. Not presented as a public sale duration.

The sampled mint times are recorded because they document the pace directly: invocation 1 on 14 June, invocation 10 on 24 June, invocation 20 on 27 June, and the AB5D holding at invocation 476 on 1 August, about nine hours before completion. Twenty invocations took a fortnight.

Timezone handling: the project page displays 15 June 2021 when read from a UTC+10 browser, which is the second-mint timestamp rendered locally; in UTC that timestamp is 14 June.

Price: 110000000000000000 wei, that is 0.11 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.0192 ETH is recorded as an observed figure only, with no inference drawn and no valuation commentary anywhere in this package.

## Rights and conflicts

The only artwork rights statement located is the index field `license` reading "NFT License 2.0" with `link_to_license` null. The project page publishes none and the website of record is a social profile.

One conflict is recorded: the same contract carries "NFT License", " NFT License" with a leading space, "NFT License 2.0" and "NFT 2.0" as separate strings, and Panelscape in this same batch carries the bare form where this project carries the 2.0 form. Nothing in the field distinguishes a deliberate version choice from a typing difference.

Two third-party components are recorded. p5, declared and used for the canvas and drawing primitives, upstream licensing not inspected. And the bundled colour library, recorded with a deliberately careful note: no allegation is made, no legal conclusion is drawn, the identification of the specific package is flagged as an inference, and the point recorded is that third-party code is permanently embedded in the artwork, undeclared in the project metadata, with no licence located. This is raised as the first editorial exception in the package.

## Unresolved questions and exceptions

Eight exceptions are raised, all pending, all assigned to the publication coordinator: the undeclared bundled library; the wrong index static flag; the aspect ratio describing the preview rather than the artwork; missing and version-ambiguous licence terms; unknown code rights for the artist's own portion; the artist record gap; the unverified original price; and the five tokens with empty trait objects.

Unresolved leads not converted into sources: no interview or artist writing was located; the website of record is a social profile and was not pursued; the bundled library's identity and licence were not confirmed against a published package; upstream p5 licensing was not inspected; and the trait extractor producing the density and luck labels is not in the retrieved script and was not located.

## 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 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 coordinator code review: complete 6118-byte indexed script inspected. Corrected palette distance flooring to zero, scheme-dependent entry counts, additive width/height ranges, and per-group rather than per-echo black choice. Further review must reconcile evidence.codeFindings, verify library provenance and rights, observe four outputs, refresh holdings, and remove unsupported population/runtime claims. Not publication-ready.
