# Ensō research

Initial collection source read: https://www.artblocks.io/collection/enso-by-matto . Factory, fixed 1000-work edition, release 22 March 2021, marked interactive. Artist description explicitly names sumi-e inspiration and modelling paper, brush, ink, individual bristle ink quantities and flow, selected from transaction hash. These are artist-description claims pending full-code inspection, not verified implementation yet. Keep derived account of this page below 200 words. No development interview located in initial focused Art Blocks search. Do not confuse artist Matto with unrelated people in broad search results or transfer another project's development history.

Next: retrieve full indexed script and four token records, inspect complete code and live outputs, find material independent practice or development sources, establish held example and rights, then write the seven-section essay. Not yet a manuscript or validated package.

## Full indexed script inspection

Complete 7392-character script read. Token hash split bytes consumed in order through getVal (hash.shift), max reduced .001 then floor; upper range labels are exclusive in normal integer interpretation, do not claim inclusive endpoints. Pseudorandom seed derives hash.slice(50,66), later coerced by bitwise xorshift. rnd uses absolute-like seed expression modulo1000, divided1000, and max-.001; not p5 random.

Square canvas min window width/height, delta1600, m=dim/(4delta), HSB, degrees. Initial draw while isDrawn false creates paper, brush, ink distribution and circular stroke, then sets true. Canvas draw callback continues for signature handling, but main mark is generated once. Do not label the circle an ongoing animation just because draw exists.

Paper: low saturation hue chosen in sixty-degree increments, occasional neutral condition, 2400 pale transparent random Bezier strokes. Brush: central point plus concentric rings; ringCount integer9..14, density1..7, points per ring and radial distance increase with ring index. Ink: each bristle has1600 sampled quantities; initial load falls with ring index and varies randomly. State machine depletes ink; small random branch after threshold can replenish once then deplete, otherwise zeroes. This is a stylised depletion model, not solved fluid mechanics.

Path rotates in eighteen-degree increments, radius dim/getVal(4,7), independent stretch factors; circumferencePoints exchanges named stretch axes in actual x/y assignments and selects direction on stroke path. Path closes circularly through samples; dry-bristle gaps arise from ink progression. paintStroke nests path/ring/bristle, initial point inclusion conditional rnd<j/10 (certain after first few steps); ink alpha divides by61-10*inkDensity, point weight tapers35m toward25m.

mouseClicked toggles showSig. Signature consists of lines and circle near lower-right coordinates. Code uses get/set/updatePixels in unusual ways: get result discarded, set called without image argument. sigInk var is inside draw and initially assigned only within one-time loop, so later callback state requires live testing. Do not assert toggle cleanly restores paper without observing. No explicit resize handler. Full script inspection completed, canonical visual inspection still required.

## Primary development source and live inspection

https://matto.xyz/project/enso/ read in full. Artist describes long-standing art/programming, college martial arts/Eastern spirituality and sumi-e as meditative practice, then experiments with Solidity and other languages before Ensō/Zenerative. Project-specific first-person source. Limit derived discussion to200 words including other claims drawn from page. Artist describes signature click toggle, separate100 water-painting gifts determined by recorded dice and10 physical-print giveaway of139. These are separate works/events, not evidence that on-chain digital images were scanned brush paintings. Artist's 5.75KB and .75ETH deployment claim not independently verified and need not enter essay. Source gives no dated opening-price announcement;1.08ETH ten-purchase comparison suggestive but not enough for exact launch-price claim.

Tagged p5.js1.0.0 license.txt read: LGPL2.1. Artwork CC BY-NC4.0 with explicit terms link in index, not null. Prior generic unknown-code qualification applies to artist code only.

Canonical renderer outputs visually inspected: #0 broad black left/top arc, fine grey right/lower return, nearly closed oval on cream paper texture, yellow-green lower-right stamp. Click canvas removed stamp; second click restored it, circle unaffected. This resolves tentative code concern for observed renderer, do not claim broken toggle.

#1 smaller circular form, dark lower/right stroke tapering around left and top into barely visible upper-right gap, pale green paper and green stamp. #10 larger open ring, heavy black upper-right start/right arc, grey lower section and very faint upper-left endpoint, blue/lilac ground and blue stamp. #20 large almost-closed circular ring, dark left/top with thinner right and grey bottom return, light lavender ground, magenta stamp. All have dense fine pale paper-like crossing fibres. Canonical live inspection supports static main image with signature interaction, not continuously animated brush motion.

Four token records and complete7392-character indexed program retained in ignored cache. Still require held token fresh ownership and rendering, manuscript/package and publication.

Held token34000513 fresh indexed owner confirmed as AB5D0xdd19308a9731cdecb67e0d80ca6823394208c045. Canonical render inspected: thick dark lower arc from blunt lower-left start, thinning right/top into faint upper-left trace on pale green paper with green stamp. Manuscript drafted, package pending validation/publication.
