100 lines
4.6 KiB
Markdown
100 lines
4.6 KiB
Markdown
# The Chamber as a Volume — acrylic stack spec & depth design
|
||
|
||
A backlit, six-plane physical piece for the eufyMake E1: three acrylic sheets,
|
||
printed front **and** back, spaced with air gaps over an LED panel. This is
|
||
roadmap Phase 3 made literal — the scene model's per-track `z` and `age` stop
|
||
being opacity tricks and become actual millimetres.
|
||
|
||
## Physical stack (proposed — buy list at bottom)
|
||
|
||
```
|
||
viewer
|
||
─ C-front the hand: grease pencil, réseau, fiducials, header, scratches
|
||
═ sheet C 3 mm clear cast acrylic
|
||
─ C-back near scatter: δ-ray curls, close cosmics
|
||
~6 mm air gap
|
||
─ B-front THE EVENT: sharp beaded track cores
|
||
═ sheet B 3 mm
|
||
─ B-back halation: the same tracks, blurred — real glow-behind-the-line
|
||
~6 mm air gap
|
||
─ A-front history: older background events, sinking
|
||
═ sheet A 3 mm
|
||
─ A-back the cause: pressure disk (CMYK-only → pure glow) + chamber optics
|
||
~12 mm gap
|
||
▤ diffuser frosted acrylic 2–3 mm (kills LED hotspots)
|
||
▦ LED panel A3 slim light pad
|
||
```
|
||
|
||
Plane depths (A-back = 0): 0 / 3 / 9 / 12 / 18 / 21 mm — two depth scales:
|
||
3 mm *within* a sheet (fine parallax: halation, moiré) and 9 mm *between*
|
||
sheets (coarse parallax: cause → event → hand).
|
||
|
||
**The depth story is causal, not just spatial**: deepest plane is the cause
|
||
(the pressure wave, pure transmitted light), then history, then the halation,
|
||
then the event itself, then the debris flying toward you, and finally — on the
|
||
front glass, where scanners actually wrote — the human hand measuring it all.
|
||
Parallax reads as *interpretation floating above evidence*.
|
||
|
||
## Sheet & print geometry
|
||
|
||
- Sheet: 330 × 420 mm (E1 full bed, A3+), portrait. 3 mm clear cast acrylic,
|
||
gloss both faces.
|
||
- Art square: 300 × 300 mm, centred horizontally (15 mm margins), top edge at
|
||
y = 20 mm. Zone below (y = 320–420) carries film furniture / data box /
|
||
caption on C-front only; other sheets stay clear there (light spills through
|
||
— the plate floats in a lit void).
|
||
- Corner mounting holes 5 mm ∅ at 8 mm insets, all sheets + diffuser, for M4
|
||
nylon standoffs (3 mm + 6 mm + 6 mm spacer stacking, or threaded rod with
|
||
nuts as spacers).
|
||
- Registration: every plane file carries corner crosses at the same four
|
||
coordinates just outside the art square; back-face files are **mirrored** at
|
||
export so they read correctly through the sheet.
|
||
|
||
## White-ink logic (backlit grammar)
|
||
|
||
| zone | channels | lit result |
|
||
|---|---|---|
|
||
| clear acrylic | none | pure light |
|
||
| glow elements (disk, halation, deep tracks) | CMYK only | stained-glass — light pours through colour |
|
||
| focal ink (event cores, grease pencil, furniture) | CMYK + white underlay | holds density against the panel — reads as ink |
|
||
| blocking (none in v1) | white + black | opaque |
|
||
|
||
Rule of thumb: **depth = transparency**. The deeper the plane, the less white
|
||
ink; the front glass is the most "solid" ink. The disk gets *zero* white — lit,
|
||
it becomes a light source (the laser-interference reference lives here, later).
|
||
|
||
## Pipeline
|
||
|
||
```
|
||
plan (fable/stack/plans/*.mjs)
|
||
→ node tools/stack-render.mjs <plan> per-plane SVGs + manifest.json
|
||
→ fable/stack/simulator.html?c=<id> parallax + backlight art-direction
|
||
→ [next] tools/stack-export.mjs print masters: mirrored backs,
|
||
white-ink masks, A3 layout @ true scale
|
||
```
|
||
|
||
`src/render/stack.js` splits one generated scene into per-plane sub-scenes
|
||
(selectors: track kind / z band / age band; disk, optics, damage, media,
|
||
fiducials, header as flags) and renders each through the untouched `renderSVG`
|
||
with `transparentPaper`. Bloom/core pairs use the *same* track selector so
|
||
bubble positions are identical on both faces (same filtered list → same salted
|
||
draws) — keep `density`/`size` equal within a pair.
|
||
|
||
Per-plane renders set `depth`/`aging` low: the physical stack now *is* the
|
||
depth model; double-encoding it as opacity would fight the medium.
|
||
|
||
## Calibration coupon (print before the hero)
|
||
|
||
One A5 sheet, double-sided: white-ink step wedge (0/25/50/75/100%, single +
|
||
double pass) · the same δ-ray at three white levels · CMYK-only vs CMYK+white
|
||
swatch pair · front/back registration cross · 6 pt / 8 pt mono type both faces.
|
||
Judge **lit on the panel**, not in hand.
|
||
|
||
## Buy list (if starting from zero)
|
||
|
||
- 3× cast clear acrylic 330 × 420 × 3 mm (+1 spare), protective film both sides
|
||
- 1× frosted/opal acrylic 330 × 420 × 2–3 mm (diffuser)
|
||
- A3 slim LED light panel (dimmable if possible)
|
||
- M4 nylon standoff kit (assorted 3/6/12 mm) or 4× M4 threaded rod + nuts
|
||
- IPA + lint-free cloths; adhesion promoter if the E1 profile recommends it
|