# Frammenti by Stefano Contiero

## The work and its context

Frammenti places small, internally divided shapes in orderly rows, then makes that order unstable. A polygon can look like a compact object, a bundle of coloured strips, or a collection of fragments travelling away from one another. The pale blue field of #281, the AB5D-held example shown here, initially separates twenty such bodies. After repeated clicks, pieces spread across the intervening spaces; a later view shows the bodies gathered again. The work asks to be watched through changes, rather than treated as a finished arrangement of shards.[^S09][^S10]

Stefano Contiero released the 555-edition project through Art Blocks Curated in May 2021. The official collection dates its release to 21 May, while the first indexed token was minted on 19 May. Those dates describe different events. The current collection biography identifies Frammenti as his first Art Blocks release. Further biographical context is available in the [AB5D artist dossier](https://ab5d.xyz/artists/stefano-contiero/), but the project is best approached through its particular combination of repeated cells and unstable internal boundaries.[^S01][^S02]

In #0, red, tan, pale and dark teal pieces form eight fractured bodies against a nearly white background. In #10, eight rounder bodies sit against saturated orange, with larger blue, cream and coral areas. This is not a single composition recoloured repeatedly. Shape construction, division, spacing and subsequent movement all participate in the difference between editions. The common grid provides something against which their divergences can be seen.[^S04][^S13][^S03]

## Conception and development

In Jeff Davis's interview published on 19 May 2021, Contiero describes memories as the subject of Frammenti. Individual fragments represent memories; their combination stands for a life, and their explosion for death, while memories continue in other people. He specifically directs attention to differing explosions and fragment movements. This is a contemporaneous account of intention, rather than an interpretation deduced from the appearance of broken polygons.[^S07]

The same interview places his deliberate generative practice in summer 2018 and describes a previous habit of making about a hundred hashes, then selecting favourites. Art Blocks offered a different way to release the algorithm's variety. His account emphasises intuition and experiment, not a mathematical model of human memory. The distinctions matter: a fragment can carry that metaphor without claiming that its trajectory reproduces how recollection or grief actually works.[^S07]

Contiero's present artist statement offers a broader, undated account of code as a dialogue between emotional experience and logical order. It describes iteration as the means by which a fleeting feeling acquires form. That statement helps situate Frammenti within his continuing concerns, but it does not establish the project's development schedule or the origin of any particular parameter. The visible tension between a disciplined grid and restless fragments is consistent with that account; consistency is not evidence of a documented design sequence.[^S08]

## How the work was constructed

The complete indexed artist program is 4,704 UTF-8 bytes and targets p5.js 1.0.0. It begins by separating the token hash into thirty-two byte values. Those values select a palette, fill or outline treatment, margins, row and column counts, subdivision settings and motion parameters. This direct parameter mapping precedes the seeded random operations. Consequently, the hash controls both broad compositional decisions and the many smaller decisions made while constructing individual shapes.[^S03]

The palette mechanism includes a luminance calculation. A loop searches the selected palette for a sufficiently contrasting colour relative to the background candidate. Additional Gaussian variation changes hue, saturation and brightness, so the small planes need not look like mechanically identical swatches. The program can leave shapes unfilled or paint their interiors. Stroke width also responds to construction settings, which connects the scale of outlines to the scale and density of the fragments.[^S03]

The canvas uses the browser window's width and height, rather than imposing a square bitmap. Shape size is based on the smaller dimension, while the locations are distributed into rows and columns across the available field. A wide viewing window therefore makes the empty intervals conspicuous. Each initial body is a polygon with vertices around a circle. A large vertex-count setting can make its boundary appear rounded, but the program still builds it from straight segments.[^S03]

Subdivision is the central construction operation. The program selects positions along a polygon's linked sequence of vertices, interpolates new points on two edges, and divides the boundary into two closed polygons. Repeated rounds produce increasingly numerous pieces. Some proposed cuts are rejected when their endpoints are too close. Individual fragments retain their initial vertex positions as well as changing displacement and motion values. This stored geometry makes later reassembly possible; the work does not simply discard an original form when it breaks apart.[^S03]

There is a useful technical qualification to the seeding. The helper passed to randomSeed extracts a portion of the token hash. Its call for noiseSeed, however, supplies slice endpoints in reverse order, producing an empty substring and therefore NaN after parsing. In the inspected p5.js 1.0.0 implementation, unsigned integer conversion reduces that value to zero. The noise field is consequently not independently seeded from another hash segment as one might assume from the two calls. Token-specific parameters and the seeded random stream still vary how fragments use that field.[^S03][^S16]

Every draw call clears the field and redraws the fragments, so their paths are not accumulated as permanent trails. Between major changes, small random displacements keep the pieces restless. A state controller periodically increases or decreases a motion value and switches between ordinary drift, dispersal and return. In the return state, displacement and vertices interpolate towards their stored starting values. The program requests 120 frames per second and updates the controller every 120 frames; neither number establishes a measured one-second interval on a particular device.[^S03]

Mouse presses modify that control value and call the same state controller. They can hasten a transition, rather than functioning as a simple start button for an otherwise frozen picture. In the live held example, four presses in total were followed by widespread dispersal, and a later observation showed the twenty bodies reassembled. The interval was not stopwatch-measured. No audio code was found, and audio was not auditioned. The inspected program uses p5 vector, noise, random and drawing facilities; it does not load external photographs or sound files.[^S03][^S09]

## The mint

The indexed first mint is #0 on 19 May 2021 at 06:31:20 UTC. Activation followed on 20 May at 16:35:59 UTC. The second token, #1, was minted on 21 May at 16:01:46 UTC, also the project's indexed start time. The official collection's 21 May release date aligns with that later event, not the earlier first token. The purpose and recipient role of the pre-activation mint have not been established from a transaction audit.[^S02][^S04][^S12][^S01]

The sample shows #10 minted at 16:02:22 UTC and #20 at 16:02:47 UTC on 21 May. The two currently verified AB5D holdings were minted later: #173 at 17:49:57 UTC that day, and #281 at 04:56:51 UTC on 22 May. The index records completion on 24 May at 17:41:24 UTC. The interval from the second mint to that completion field is three days, one hour, thirty-nine minutes and thirty-eight seconds. It is an interval between indexed events, not proof of an uninterrupted public sale of that duration.[^S02]

The refreshed record reports 555 invocations against a maximum of 555. It also reports a current price setting of 0.12 ETH. That field does not establish the opening price, any subsequent price changes, reserved allocation or the contract's sale configuration in May 2021. Those historical details remain unresolved. Present secondary listings likewise cannot supply the missing primary sale evidence.[^S02]

## Copyright and licensing

The current artist-set metadata reports CC BY-NC 4.0, with no project-specific licence URL. The named standard permits noncommercial sharing and adaptation subject to its conditions. Those include attribution, retention of supplied notices, a licence reference and indication of modifications. Its noncommercial restriction concerns the purpose of the use, rather than a blanket distinction between collectors and non-collectors. It does not turn NFT ownership into copyright ownership.[^S02][^S06]

The artwork label, the artist's program and its dependency require separate treatment. No separate permission to redistribute the complete Frammenti source was established in this research. The exact p5.js 1.0.0 licence is GNU LGPL 2.1, whose terms distinguish the library from works using it and do not automatically apply to every image produced by a program. This package therefore records code findings and a digest without distributing the artist's program. AB5D's CC0 dedication covers the essay's original prose, not third-party artworks or software.[^S03][^S15]

## Close reading of examples

The comparison uses verified editions #0, #1, #10 and #20, chosen to revisit the assignment's early-edition sample. All four original renderers were viewed, rather than relying on their preview images; #281 supplies an additional interaction study. This small selection demonstrates several visible differences without establishing their rarity or statistical distribution across 555 works.[^S04][^S12][^S13][^S14][^S09]

In #0, two rows of four bodies occupy a nearly white field. The upper-left cluster has a triangular outline, but its interior resembles compressed folds: tan slivers, a red horizontal strip and a dark teal wedge are separated by fine boundaries. Other cells are denser or more open. The second body in the upper row narrows towards a low point, while the rightmost tilts like a fractured lozenge. Although every cell has similar space available, the fragments make them feel unequal in weight and direction.[^S04]

The spaces between these bodies are as consequential as their crowded interiors. They allow the eye to finish one cluster before finding the next. In the subsequent view, fine edges and internal gaps shift slightly while the eight-cell arrangement remains recognisable. The result is neither a completely fixed diagram nor an immediately overwhelming explosion. In this observed phase, the large structure supplies continuity while small movements disturb the apparent solidity of each object.[^S04]

Edition #1 uses five rows of three smaller bodies. Its red, tan, dark and pale pieces recall #0's colour family, but fifteen compact units produce a more insistent vertical rhythm. Some clusters resemble triangles; others have ragged square or fan-like outlines. The later observation retains that arrangement with small edge changes. Increasing the number of cells does not simply crowd the canvas: it changes how quickly attention passes between complete groups and their internal cuts.[^S12]

Edition #10 is a stronger departure. Saturated orange occupies nearly the entire field, framing two widely separated columns of four roughly circular bodies. Large blue, cream, coral and green planes make the individual subdivisions easy to distinguish. The upper-right body is dominated by a broad blue region, whereas the upper-left is crossed by narrow bands. The lower-left combines a large coral section with a compressed bundle of thin coloured pieces. These differences occur within similarly rounded boundaries, making internal division more salient than overall silhouette.[^S13]

A second view of #10 shows small slivers shifted around the rims and changes in the narrow gaps between pieces. The circles remain readable, but they are assembled circles rather than continuous disks. Compared with #0, broad colour planes offer pauses inside the objects themselves. The orange background also joins the composition more forcefully than the nearly white field: it is an active colour surrounding every fragment, not merely unmarked space.[^S13]

Edition #20 places twelve bodies in three rows of four on a muted pink-beige ground. Broad red, tan, pale and dark teal regions are divided by crisp dark lines. Many outer forms remain triangular, although the upper-left is more many-sided and a neighbouring body is quadrilateral. The repeated view looked closely similar at this scale; it does not establish that this edition never moves. Its comparatively intact boundaries and larger internal regions provide a quieter counterpoint to #0's numerous thin shards.[^S14]

## Significance and limitations

Frammenti makes fragmentation a process with several degrees of visibility. A viewer can encounter compact arrangements, local instability or pieces scattered beyond their former cells. In #281, the observed return to recognisable groups after dispersal gives the experience a different character from a one-way destruction effect. The underlying storage of original vertices explains how that recovery happens, while the artist's memory metaphor supplies a possible emotional reading without turning the animation into a scientific account of memory.[^S09][^S03][^S07]

The original renderer matters because a still selects one phase and suppresses the transition between phases. Equally, the code matters because a brief viewing cannot establish every possible trajectory or an exact recurrence period. Reading both supports a specific account: repeated geometric groups retain identifiable structure while their constituent pieces are allowed to wander, disperse and return. Their temporary instability is part of the work, not a fault to remove from its presentation.[^S03][^S09]

Unresolved research questions:

- What were the original sale price, price changes and reserved allocations?[^S02]
- What role did the pre-activation first mint serve?[^S02]
- Is a separate licence for the complete artist program available?[^S03]
- How do measured cycle durations vary with edition, interaction and browser performance? No fixed duration was established here.[^S03][^S09]

[^S01]: Art Blocks / Stefano Contiero. [Frammenti official collection](https://www.artblocks.io/collection/frammenti-by-stefano-contiero). Accessed 2026-09-18.
[^S02]: Art Blocks. [Frammenti exact indexed project and token records](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-18.
[^S03]: Stefano Contiero. [Frammenti complete artist program](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-18.
[^S04]: Stefano Contiero. [Frammenti #0](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/72000000). Accessed 2026-09-18.
[^S06]: Creative Commons. [CC BY-NC4.0 operative terms](https://creativecommons.org/licenses/by-nc/4.0/legalcode.en). Accessed 2026-09-18.
[^S07]: Jeff Davis / Art Blocks. [In Conversation with Stefano Contiero](https://www.artblocks.io/articles/in-conversation-with-stefano-contiero). Published 2021-05-19. Accessed 2026-09-18.
[^S08]: Stefano Contiero. [Artist Statement](https://stefanocontiero.com/statement). Accessed 2026-09-18.
[^S09]: Stefano Contiero. [Frammenti #281 live interaction](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/72000281). Accessed 2026-09-18.
[^S10]: Art Blocks / AB5D. [AB5D current linked-wallet profile and holdings](https://www.artblocks.io/profile/ab5d). Accessed 2026-09-18.
[^S12]: Stefano Contiero. [Frammenti #1](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/72000001). Accessed 2026-09-18.
[^S13]: Stefano Contiero. [Frammenti #10](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/72000010). Accessed 2026-09-18.
[^S14]: Stefano Contiero. [Frammenti #20](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/72000020). Accessed 2026-09-18.
[^S15]: Processing Foundation / p5.js. [p5.js1.0.0 licence](https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt). Accessed 2026-09-18.
[^S16]: p5.js contributors. [p5.js1.0.0 noiseSeed implementation](https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.0.0/p5.js). Accessed 2026-09-18.
