# Dreams by Joshua Bagley

## The work and its context

Dreams makes ordered bands appear to buckle, hesitate and change direction. Its colours are flat and its edges remain sharply drawn, yet the arrangements can suggest a material under pressure. A narrow stripe bends beside its neighbour, a horizontal block interrupts the run, and a repeated pattern suddenly becomes a larger unbroken area. In the four outputs examined here, the impression of movement comes entirely from a still composition. Nothing needs to slide across the screen for the structure to feel unsettled. [^S05] [^S06] [^S07] [^S08]

Joshua Bagley released Dreams as a 700-work Art Blocks Curated series in June 2021. The project description identifies uneven subdivision as its subject: regular and crooked lines interact as simple rules produce complicated arrangements. The [Joshua Bagley dossier](https://ab5d.xyz/artists/joshua-bagley/) supplies the wider practice. This essay examines how the particular rules of Dreams turn a square field into regions that appear related without becoming uniform. [^S01]

The title leaves space for association, but the pictures do not illustrate specific dream narratives. Their suggestiveness comes from uncertain scale and depth. A small block might resemble a window, a patch or an interruption in woven fabric. Those readings remain visual interpretations. The inspected program divides and colours geometric regions; it contains no model of a building, textile or sleeping mind. [^S02] [^S06]

## Conception and development

In the release interview, Bagley explained that he began teaching himself Python for engineering work in spring 2020. Experiments with emergent systems led him towards generative art and Processing. For Dreams, he wanted a still composition that felt alive and a wide range of results held together by a recognisable style. He described months of development and continued surprise at the outputs. The account supports an interest in hidden technical structure, rather than simply a decorative use of bright colour. [^S03]

A later interview gives a useful view back into the project. Bagley recalled that some Dreams tests suggested crooked cityscapes and became a starting point for Ecumenopolis. He also distinguished an output resembling his early experiments, #629, from #268, which surprised him even after extensive testing. These are the artist's retrospective examples, not additional works visually analysed in the four-output sample below. The distinction matters because an account of development can document the artist's discoveries without turning every possible resemblance into an intended subject. [^S12]

Bagley's feature guide separates programmed attributes from the overall appearance that their interaction produces. Its palette discussion connects chosen colours to science-fiction imagery, comics, posters and objects around the artist. The guide gives names to methods of colouring, structural patterns and distortion. Its companion account of emergent styles identifies recognisable combinations, including building-like bands and long-legged blocks. These descriptions show an artist continuing to organise what the system revealed, rather than treating a feature table as an exhaustive explanation of the work. [^S04] [^S13]

## How the work was constructed

The complete inspected script contains 4,260 characters and uses p5.js 1.0.0. Four groups of eight hexadecimal characters from the token hash initialise an unsigned integer state. Bitwise operations update that state to supply repeatable pseudorandom values, while the first state value seeds the noise function. A short acknowledgement names Piter Pasma near this generator. It is a credit in the source, not a separate licensing grant. The script was read from the Art Blocks index rather than reconstructed at a pinned chain block. [^S01] [^S02]

The canvas is square, with a logical working field running from minus 500 to plus 500 on each axis. A scale factor fits that field to the available window dimensions. Setup selects from thirteen stored palettes and several ways of using them: a shuffled palette, two selected colours, two palettes distributed across the picture, or a branch drawing from the broader palette collection. The palette is therefore only part of the colour decision. Placement and alternation also determine whether a viewer perceives stripes, patches or larger zones. [^S02]

The central function, sd, receives four corners describing a region. It finds two points on opposite edges and uses the line between them to divide the region into two smaller quadrilaterals. The dividing positions begin around the midpoint and are displaced by seeded noise. Because the two edge positions can differ, a division need not remain perpendicular to the outer boundary. Repeated subdivisions amplify these small departures into bands that appear to bend across the image. [^S02]

The same operation is applied recursively: a child region becomes the input for another division. Several rules decide the direction. One compares the region's larger width and height; another uses a prepared sequence of binary choices; another alternates orientation through the descent. The prepared sequence prevents an indefinitely long run of identical choices. These constraints establish an underlying order even when the final field appears crowded or crooked. [^S02]

Subdivision does not proceed equally far everywhere. A chosen initial depth forces both branches to continue before later rules can stop one branch while continuing the other. Noise can base those decisions on dimensions or positions; another branch uses a preselected sequence. The program also checks maximum depth and, in applicable branches, a minimum size. Consequently a broad solid region can sit beside many small strips without requiring a second, unrelated drawing system. Both result from different stopping points in the same branching procedure. [^S02]

Colours are assigned while this hierarchy is traversed. Depth, a changing offset and the selected colouring method affect the two child colours. Some branches alter the active palette according to spatial noise. It would be misleading to describe the result as a finished black outline subsequently filled by an independent colouring tool. Geometry and colour are linked through the order in which the subdivisions are visited. The particular combination determines whether a region reads as a continuous band or as a chain of interruptions. [^S02]

Once the regions have been collected, the program draws them in two passes. It first outlines each polygon with its own colour, then fills the polygons without strokes. These outlines can cover narrow seams at the joins, but they are not a separate contrasting line drawing. The apparent lines in the finished work are usually long coloured regions themselves. Their relative widths, changes of direction and adjacent colours produce the sense of pressure and rhythm. [^S02]

The drawing routine ends with noLoop. There are no keyboard or pointer controls and no sound routine in the inspected source. A window-resize handler adjusts the canvas dimensions, but the normal artwork is a static output. This matches both the artist's stated intention and the four original renderers inspected here. Feature names associated with flight or paralysis should therefore be understood through the artist's guide and drawing rules, not mistaken for animation switches. [^S02] [^S03] [^S04]

## The mint

Art Blocks records 18 June 2021 as the release date. The current index identifies the first token on 15 June at 22:15:22 and activation on 17 June at 18:12:17. The second mint and scheduled start both read 18 June at 16:01:13; completion reads 16:09:29 that day. The evidence record preserves their full timestamps and offsets. These are different recorded events, so the earlier first token is not substituted for the announced public release. [^S01] [^S05] [^S06]

The freshly retrieved record reports 700 invocations against a current maximum of 700. It also shows a price setting of 0.13 ETH. This is an observed configuration, not independent proof of the opening sale price or the amount paid by every recipient. No complete reconstruction of changes to the maximum, reserved allocations or public purchases was performed. The present supply agrees with the edition described by the official collection, while the history behind each configuration remains a separate question. [^S01]

The interval between the indexed second mint and completion is short, but an exact public sellout duration would require establishing what those endpoints represent. This essay does not convert them into such a claim. Nor does it infer a mint price from later listings. The release interview, dated 15 June, is contemporary evidence of the artist's thinking, rather than a transaction ledger. [^S01] [^S03]

## Copyright and licensing

The current artist-set artwork label in the index is CC BY-NC 4.0. Although the project record supplies no terms URL, the named Creative Commons deed was inspected separately. It permits sharing and adaptation with attribution, identification of changes and a noncommercial restriction. The record establishes the label observed during this research, not the complete history of terms attached to the project. [^S01] [^S09]

No distinct reuse grant for Bagley's artist script was found in the inspected code. Its public availability and its brief credit to another programmer do not establish such permission. The p5.js dependency has a separate LGPL version 2.1 licence in its tagged 1.0.0 repository. Artwork, artist software and library rights remain separate, and the original code is not redistributed in this package. AB5D's CC0 dedication covers this original essay prose. [^S02] [^S10]

## Close reading of four outputs

Editions 0, 1, 10 and 20 were chosen in advance as a small early-edition comparison. Their full token identifiers are 89000000, 89000001, 89000010 and 89000020 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. All four original renderers were viewed. The selection supports close analysis of these pictures; it does not establish the frequency or typicality of their features across the edition. [^S05] [^S06] [^S07] [^S08]

In #0, closely spaced dark red and brownish-red bands run vertically across the field. Their coordinated bends create a broad change of direction around the middle, followed by further turns lower down. A few muted violet blocks and one nearly black patch interrupt the rhythm. Because the main colours are close in value, the geometry is initially subdued. Looking longer reveals how a small interruption becomes forceful against such sustained repetition. The blocks feel inserted, although the subdivision procedure gives them the same structural origin as the surrounding bands. [^S05]

In #1, much wider blue regions alternate with narrow red and dark green stripes. Purple crossbars create ladder-like sections, while broad grey bars interrupt several neighbouring bands at once. Small yellow patches sharpen particular junctions. The composition appears more architectural than #0 because the eye can group its thicker vertical and horizontal members into a framework. Yet those members bend, and their changing widths prevent a stable perspective from forming. The image keeps suggesting an organised structure while refusing the regularity that would make it easily diagrammed. [^S06]

In #10, violet stripes stand against a dark green-grey field, with pale lavender crosspieces at intervals. A single muted red block near the upper centre becomes a conspicuous interruption. The bends propagate across many neighbouring stripes, making the surface seem folded even though every region is flat. Comparing it with #0 is particularly useful: both rely on a strong vertical rhythm, but the brighter contrast in #10 makes each directional change more immediate. The red patch also supplies a local weight that resists the prevailing upward and downward flow. [^S07]

In #20, the bands remain straight. Pale yellow, salmon, muted green and dark narrow intervals form a regular vertical system, while changes in the colour grouping divide the field into larger rectangular areas. Tiny short accents repeat within the bands. Without the bending of the other examples, attention moves towards the boundaries between those larger colour zones. The result demonstrates that the series can retain its identity through subdivision and colour relationships even when the most visibly crooked behaviour is absent. [^S08]

The separately inspected AB5D holding, #419, uses pink and ochre in a more maze-like arrangement. Narrow passages alternate horizontal and vertical directions, interrupted by broad angular areas of colour. Its current token owner was verified in the index, and the work was also visible in AB5D's current Art Blocks profile. Its still arrangement provides a collection-specific comparison with the four early outputs. [^S11]

## Significance and limitations

Dreams makes subdivision legible as both order and disturbance. Its regions share a procedure, yet their unequal scales and angled boundaries repeatedly change how they appear to join. The four inspected outputs show that this effect does not depend on one palette or degree of distortion. A quiet red field, a colourful framework, a violet striped surface and a straight chromatic arrangement each make the same underlying operation visible in a different way. [^S02] [^S05] [^S06] [^S07] [^S08]

Its particular achievement is a stillness that remains active to the eye. The viewer supplies movement while following lines that do not quite behave as expected. That reading concerns observable relationships, rather than a claim that the code simulates living growth or reproduces a specific dream. [^S02]

Unresolved research questions:

- Recover original price and maximum-edition announcements and classify reserved versus public mint transactions.
- Compare the indexed script with a pinned chain retrieval.
- Establish any separate artist-code grant and earlier artwork terms.
- Inspect a wider sample of palette combinations and structural branches without treating feature counts as an aesthetic ranking.

[^S01]: Art Blocks / Joshua Bagley. [Dreams project record and Art Blocks index](https://www.artblocks.io/collection/dreams-by-joshua-bagley). Accessed 2026-09-17.
[^S02]: Joshua Bagley. [Dreams artist script](https://artblocks-mainnet.hasura.app/v1/graphql). Accessed 2026-09-17.
[^S03]: Jeff Davis / Joshua Bagley. [In Conversation with Joshua Bagley on Dreams](https://www.artblocks.io/articles/in-conversation-with-joshua-bagley-on-dreams). Published 2021-06-15. Accessed 2026-09-17.
[^S04]: Joshua Bagley. [Dreams: Features](https://joshua-bagley.com/dreams-art-blocks-curated/). Accessed 2026-09-17.
[^S05]: Joshua Bagley. [Dreams #0](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/89000000). Accessed 2026-09-17.
[^S06]: Joshua Bagley. [Dreams #1](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/89000001). Accessed 2026-09-17.
[^S07]: Joshua Bagley. [Dreams #10](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/89000010). Accessed 2026-09-17.
[^S08]: Joshua Bagley. [Dreams #20](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/89000020). Accessed 2026-09-17.
[^S09]: Creative Commons. [CC BY-NC 4.0 deed](https://creativecommons.org/licenses/by-nc/4.0/). Accessed 2026-09-17.
[^S10]: p5.js contributors / Free Software Foundation. [p5.js 1.0.0 licence](https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt). Accessed 2026-09-17.
[^S11]: Joshua Bagley. [Dreams #419](https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/89000419). Accessed 2026-09-17.
[^S12]: Jordan Kantor / Joshua Bagley. [In Conversation with Joshua Bagley on Spaghetti Bones](https://www.artblocks.io/articles/in-conversation-with-joshua-bagley-on-spaghetti-bones). Published 2023-07-31. Accessed 2026-09-17.
[^S13]: Joshua Bagley. [Dreams: Emergent Styles](https://joshua-bagley.com/dreams-emergent-styles/). Accessed 2026-09-17.
