R&D PROGRAM · 2026-07-18

image-as-program

A research thread on images becoming editable, structured, explorable programs — and a kinetic mosaic built from real recovered pieces of a Hokusai print. The pieces below are real; pick them up.

live · 47 pieces · Hokusai red fuji
円相
drag mouse · click to cycle formation · click a piece to pin · try the ambient toggle →

Pieces recovered from Hokusai's Red Fuji via SAM (Segment Anything). Each carries its semantic identity between formations — the same red shape that's part of the ensō circle becomes the sun disc in hinomaru, the mountain face in fuji. This is the thesis in miniature: pieces with persistent structure, not anonymous squares.

B3 perception test — toggle ambient in the hero controls. With it off, the medium is strictly state = F(camera): nothing moves unless you move the cursor. With it on, pieces gain a slow periodic rotation (state = F(camera, t)) — still stateless, but no longer frozen.

The essay asks: does the frozen version read as elegant (clockwork) or as dead? Does the ambient version read as alive or as undermining the purity? There's no instrumented answer — it's a perception question. Try both and notice your own reaction.
view the full 4-scene prototype →
THE RESEARCH

Two essays, six ideas, one program

The image-as-program essay

Five tiers of capability: intelligent bitmap → recovered layered document → deformable semantic surface → explorable world → universal image-program. Each tier grounded in shipping 2024–2025 systems (LayerDecomp CVPR 2025, LayerD ICCV 2025, DragDiffusion CVPR 2024, World Labs Marble, Genie 3). All named systems verified against primary sources.

The camera-field composition agenda (F)

A distinct authorable medium: vector composition whose complete state is a pure function of camera pose — state = F(x, y, logZoom, rotation). The interactive hero above is the degenerate 1D acyclic case (mouse = camera). The F agenda formalizes the general case.

Click a finding to expand ↓

A1 · SUBJECT RANGE
20 of 32 subjects survive quasi-static classification
Falsifier #6 ("thin subject range") not triggered. Mechanical systems, network equilibria, multi-scale structure all survive.
Subjects that pass: watch mechanism, water/plumbing, power flow, protocol stack, DB schema, trust/attestation graph, crystal lattice, traffic equilibrium, river network, origami, knot diagram, cosmic web.

Subjects that fail (hysteretic): cascading grid failure, current supply-chain state, gene regulation, ecosystems, climate tipping, embryonic development, recipes. The exclusions sharpen the medium's identity: it is for cross-scale coupled equilibria, not history.
▶ click to expand
PRIOR ART
PortalInk and Graphite promote from flagged to load-bearing
PortalInk (UIST 2024) already has pan/zoom/portals — F's novelty narrows to constraint graph + state purity.
PortalInk (Zhou et al., Brown HCI, UIST 2024) is the closest existing implementation of F's portal half. Standalone SVG export with embedded JS. Optimizes for intentional discontinuity (comics). F wants the opposite: invisible seams.

Graphite (24.9k★ Rust node-graph vector editor) is the architectural reference for F's runtime. Document = AST; Merkle-tree node caching; rust-gpu shaders for CPU/GPU parity.

CSS scroll-timeline is now Baseline (Chrome 115+, FF 155+, Safari 26+) — F's runtime is "scroll-timeline generalized to 2D + zoom + rotation + constraint graph."
▶ click to expand
A4 · FIELD AUTHORABILITY
Existential risk downgraded — partial answer found
A field is authorable iff: Morse function, simplified Morse-Smale complex ≤ ~12 cells, acyclic constraint graph.
TopoSmooth (Weinkauf, Gingold, Sorkine) reconstructs C¹-continuous fields from declared critical points. Solves portal-seam continuity for free.

Spatial keyframing (Igarashi, Moscovich, Hughes, SCA 2005) is the closest precedent: pose as pure function of position via RBF interpolation. F = spatial keyframing + acyclic constraint graph + reversibility.

Real expressive costs: ≤ 12 critical points per zoom band, no high-topology route spaces (Gorogoa-density out), no closed kinematic chains (see A2 below). These are the medium's identity, not bugs.
▶ click to expand
A2 · LOOP CLOSURE
Resolved — restrict to acyclic
Closed-chain branch problem is the central problem of mechanism synthesis. Try the demo below to feel why.
Resolution 1 (acyclic only) is the only choice that preserves state purity. Linkages excluded permanently. Based on Krishnamurty & Turcic 1988 (JMD), Myszka/Murray/Wampler 2013 (JMD), Bettig 2011 survey of parametric CAD constraint solvers.

Smaller loss than it sounds: none of A1's 14 full-QS subjects require closed chains. Mechanism vocabulary remains (gears, cams, sliders, belts, open levers) — only linkages lost.
▶ click to expand
WHY A2 IS RESTRICTED TO ACYCLIC

The four-bar branch problem, demonstrated

A four-bar linkage is the simplest closed kinematic chain. For any crank angle, the mechanism has two valid configurations: elbow-up and elbow-down. Drag the crank, or let it auto-rotate. Then click flip branch to switch elbows — same crank angle, different mechanism. The configuration is multi-valued. Choosing one is a stateful decision — exactly what state = F(camera) forbids.

ground (d = 180) ■ crank a=60 (input) ■ coupler b=132 ■ follower c=132 ground d=180 (Grashof) faded = alternative branch (always valid, never chosen without history)
crank θ: ° · config: · flips: 0

The faded silhouette is the other valid configuration at the same crank angle — always reachable geometrically, never reachable by continuous motion from the current state. To get there you have to disassemble and reassemble the mechanism (or click the flip button). Both configurations are correct answers to "what is the linkage doing at θ = 90°?" There is no single-valued answer.

F resolves this by excluding closed chains entirely. The cost is real — no linkages — but bounded: none of the medium's heartland subjects (networks, equilibria, multi-scale structure) require them.

STATUS

Open questions across the program

Four of six F-track questions resolved via literature alone before any engineering work. The remaining risks are empirical or design-flavored.

ItemStatusNotes
A1 subject range✓ passed20/32 survive quasi-static filter
Prior art✓ verifiedPortalInk, Graphite load-bearing; CSS scroll-timeline Baseline
A4 field authorability✓ partial answerMS-complex + TopoSmooth; existential risk downgraded
A2 loop closure✓ resolvedRestrict to acyclic; M1 milestone removed
B Re-Solve prototype⚠ visual verification pendingAnimation fix shipped; needs user eyes
M0 inter-piece couplingdeferredBlocked on B verification
A3 homotopy-class hypothesisspeculativeTestable in M2+; no urgent need
B3 frozen-world perceptionweek to answerNeeds tiny demo
D1 comprehension studyexpensiveDeferred to M4
E1 compression ratiogated on M3Gorogoa concern partially validated by hysteretic exclusions
SOURCE

Full notes and history

The complete research repo is on Gitea. It includes the source essays, idea catalog (six ideas A–F), all working documents, the prototype source, the 47-piece manifest, and the four-phase build log.

git.frrn.life/research/image-as-program

Repo structure: essays/ · ideas/ (catalog + A–F) · work/re-solve/ (prototype, manifest, build log) · work/F/ (A1 inventory, prior-art verification, A2/A4 literature findings)