E512 — Duncan Fewkes reel analysis digest
- 20 reels ingested (`reels-ingest/{shortcode}/`): - DT-prefix (E500–E521 era): DT0G7SyCtGg E519, DT2tfJzip8A E520, DT6IlEfig-k E521, DTbJvnKCrHO E509, DTBUJiDCvPQ E500, DTEEQNnCvHh E501, DThrF5Miq0- E512, DTmyro9CqUa E514, DTQRPBFiu2v E504, DTr5TQfCpG4 E516 - DS-prefix (E475–E494 era): DSLMOE6iuFH E479, DSA7b7MClVf E475, DScEatyilnk E489, DSDVSJ0itoN E476, DSfZYMUChIi E490, DShj9nlivqf E491, DSkpKC_iie8 E491, DSPfEuWCmTg E483, DSvasHCCiSX E494, DSZmIhOCrTv E488 - 4 Gemini visual analyses successful (DT0G7SyCtGg, D
Full Public Reader
E512 — Duncan Fewkes reel analysis digest
Source video: `../reels/E512-DThrF5Miq0-.mp4` (symlink to `[home-path]`)
Caption: `../reels/E512-DThrF5Miq0-.txt`
This file aggregates every playbook chunk section that cites E512. Sections are de-duplicated by heading.
Source data
_From `lume-duncan-playbook-chunk-DT-DS.md`_
- 20 reels ingested (`reels-ingest/{shortcode}/`):
- DT-prefix (E500–E521 era): DT0G7SyCtGg E519, DT2tfJzip8A E520, DT6IlEfig-k E521, DTbJvnKCrHO E509, DTBUJiDCvPQ E500, DTEEQNnCvHh E501, DThrF5Miq0- E512, DTmyro9CqUa E514, DTQRPBFiu2v E504, DTr5TQfCpG4 E516
- DS-prefix (E475–E494 era): DSLMOE6iuFH E479, DSA7b7MClVf E475, DScEatyilnk E489, DSDVSJ0itoN E476, DSfZYMUChIi E490, DShj9nlivqf E491, DSkpKC_iie8 E491, DSPfEuWCmTg E483, DSvasHCCiSX E494, DSZmIhOCrTv E488
- 4 Gemini visual analyses successful (DT0G7SyCtGg, DT6IlEfig-k, DTBUJiDCvPQ, DScEatyilnk). DSfZYMUChIi + DSZmIhOCrTv hit Gemini 429 quota exhaustion; captions on those are still detailed.
---
NEW preset taxonomy (revealed by E521 visual analysis text overlays)
_From `lume-duncan-playbook-chunk-DT-DS.md`_
The recent playbook only exposed `Multiparticle_Spine_FX` and `slime/water/chrome` material names. E521's screen recording shows the actual UI panel cycling through every preset. Update the LUME `LumeVfxEditor.cs` slot enums to match:
### `Depth:` slot (the surface visual on the human silhouette)
- `GhostChromatic2` — translucent particle-filled ghost, chromatic aberration on edges
- `GlassThin` — thin refractive glass sculpture
- `GlassThick` — solid heavy glass form
- `GlassScan1` / `GlassScan2` / `GlassScan3` — three styles of scan-line / fragmented glass
- (E520 reveals) `DepthCubes` with a runtime LOD randomizer — VFX Graph mesh particles fed by live depth buffer, audio-reactive trigger script flips LOD level on beat
### `VFX:` slot (the additional particle layer on top)
- `Clones Audio Drop Bright` — beat-snapshot clone with gravity drop + speed-to-brightness boost (the headliner)
- `Particle Clone` (single colour, mirror silhouette only)
- `Particle Clones Audio` (multi-clone audio variant — what gets ringed in E479's kaleidoscope)
- `Swirly Particles` family (E509, E512, E514, E516) — floor-spawn vortex particles around the user
### `Lighting:` slot (every lighting rig has a name — copy these)
- `FogSpotLeftRight1` — two fog spotlights, sides
- `FogSpotLeftRight2` — variant of the above (different colour/intensity)
- `FogSpotRight` — single fog spot from right
- `FogSpotOverhead` — single fog spot from above
- `FogPointOrbitPulse` — pulsating point lights orbiting the figure (E521 shows a strong red orbiting one)
- `BrightRoom` — neutral bright fill
- `SpotsLeftRightWithFill` — dual side spots + fill
- `None` — no realtime lights, only emissive particles + depth projection (E516 verbatim: "looked interesting without any realtime lights because the emissive particles and live 3D depth projection makes it look like solid shadow/negative space punch through.")
### `Background:` slot
- `TestRoomDark` — dark gridded test environment
- `StudioBG_Grey` (from prior playbook)
- (sunset / salt flats — recent only)
### Critical UX rule: every preset list ENDS with "None" / "Off"
> E516 verbatim: "Cycling through test lighting presets and the last is always 'None' (same for the script for cycling through depth visuals, VFX, backgrounds etc — always allow for 'Off' to be an option)"
→ For LUME `LumeVfxEditor.cs`: every preset enum's last entry MUST be `None`. The "Off" state is a feature, not a bug. The negative-space look that emerges from `Lighting=None + emissive depth particles` is its own aesthetic.
---
`VFX:` slot (the additional particle layer on top)
_From `lume-duncan-playbook-chunk-DT-DS.md`_
- `Clones Audio Drop Bright` — beat-snapshot clone with gravity drop + speed-to-brightness boost (the headliner)
- `Particle Clone` (single colour, mirror silhouette only)
- `Particle Clones Audio` (multi-clone audio variant — what gets ringed in E479's kaleidoscope)
- `Swirly Particles` family (E509, E512, E514, E516) — floor-spawn vortex particles around the user
---
NEW: Concrete audio→VFX parameter mapping (E512 verbatim)
_From `lume-duncan-playbook-chunk-DT-DS.md`_
This is the most actionable engineering note in the entire 20-reel set. From E512 (DThrF5Miq0-):
> 1) Fluid sim preset with shorter range (lower velocity propagation) works better at full screen scale — and also for multiple people.
> 2) Audio response boosting position directly (rather than feeding into force levels) makes it nice and snappy without blowing up the fluid sim.
> 3) Audio response still needs work. Need to EQ before auto-gain (or fixed dynamic range with no auto-gain) to tame bass level but give natural response where louder parts make particles react more than quieter.
> 4) Bass should affect sim large low-freq positional offsets, mid range and highs work nicely when the timer cycle causes higher-freq position offsets.
→ For `LumeAudioReactor.cs`:
- 4 frequency bands (bass / low-mid / high-mid / treble) NOT just RMS+3
- Bass band → low-freq large positional offset (slow wave bulges)
- Mid + high bands → high-freq small positional offsets (timer-cycled)
- Audio drives position directly, not force/velocity
- EQ stage BEFORE auto-gain (or use fixed dynamic range)
- Multi-person fluid sim uses shorter-range velocity propagation preset
E514 adds the noise-axis mapping:
> One variant has minimal upwards motion and mostly does a medium freq "twist" in the XZ axes. Another variant pushes particles mostly upwards (with some XZ axis motion) with low freq noise for "large waves/bulges".
→ For LUME: add a `noiseAxisMode` enum: `XZ_Twist` vs `Y_Lift_With_LowFreqBulges`. The first feels gentle/contained, the second feels overflowing.
---
Three-channel reactivity philosophy
_From `lume-duncan-playbook.md`_
v1 had two channels (outline=audio, inner=motion). v2 elevates this to three with the audio-transient discovery (E535):
| Channel | Drives | Source signal | Visual purpose |
|---|---|---|---|
| Outline (form) | Fresnel power × audio RMS, with `flash = step(beat_threshold, audio_rms)`. Emissive bright color on outline edge. | RMS + 4 EQ'd bands | "Where you are" — silhouette pulses on beat |
| Inner (action) | Motion-magnitude (from optical flow on linearised depth) modulates fresnel-power inverse — high motion drops fresnel (color spreads), low motion concentrates to silhouette | Optical flow from depth-camera frames | "What you're doing" — motion paints color |
| Impulse (kick) | `AddForce` event in VFX Graph, fires on transient onset only. Velocity kick to existing particles. | Audio transient detector (peak / onset, NOT smoothed RMS) | "When it hits" — particles react to drum hits, not to overall loudness |
Verbatim from E579:
> Outline (form) reacts to audio: brightness flashes on beat — shows you "where you are."
> Inner color (action) reacts to motion: hue/spread driven by motion vectors — shows you "what you're doing."
Verbatim from E535 (the third channel):
> WIP testing quick "overamp" method for audio transients to add a kick to the particle motion. Not very noticeable so needs more definite/large change in motion, but without it going crazy and losing coherence.
Concrete audio→VFX rules from E512 (most actionable engineering note in entire corpus)
> 1) Fluid sim preset with shorter range (lower velocity propagation) works better at full screen scale — and also for multiple people.
> 2) Audio response boosting position directly (rather than feeding into force levels) makes it nice and snappy without blowing up the fluid sim.
> 3) Audio response still needs work. Need to EQ before auto-gain (or fixed dynamic range with no auto-gain) to tame bass level but give natural response where louder parts make particles react more than quieter.
> 4) Bass should affect sim large low-freq positional offsets, mid range and highs work nicely when the timer cycle causes higher-freq position offsets.
For `LumeAudioReactor.cs`:
- 4 frequency bands (bass / low-mid / high-mid / treble) NOT just RMS+3 generic
- Bass band → low-freq large positional offset (slow wave bulges)
- Mid + high bands → high-freq small positional offsets (timer-cycled)
- Audio drives position directly, NOT force/velocity (avoids sim blowup)
- EQ stage BEFORE auto-gain (or use fixed dynamic range entirely)
- Speed→brightness as the "twinkle" parameter (E490) — power curve with threshold, tune live by ear (no preset)
Per-particle hue inputs (3 stacked sources)
1. Global slow cycle — 1 rev / 30s, applied to all particles
2. Per-particle hue from RGB luma at spawn — each particle takes color from where on the body it spawned (RGB texture binding alongside depth)
3. Per-particle speed-driven hue shift each frame — `hue = baseHue + speedScalar * shiftAmount` (E568)
---
Concrete audio→VFX rules from E512 (most actionable engineering note in entire corpus)
_From `lume-duncan-playbook.md`_
> 1) Fluid sim preset with shorter range (lower velocity propagation) works better at full screen scale — and also for multiple people.
> 2) Audio response boosting position directly (rather than feeding into force levels) makes it nice and snappy without blowing up the fluid sim.
> 3) Audio response still needs work. Need to EQ before auto-gain (or fixed dynamic range with no auto-gain) to tame bass level but give natural response where louder parts make particles react more than quieter.
> 4) Bass should affect sim large low-freq positional offsets, mid range and highs work nicely when the timer cycle causes higher-freq position offsets.
For `LumeAudioReactor.cs`:
- 4 frequency bands (bass / low-mid / high-mid / treble) NOT just RMS+3 generic
- Bass band → low-freq large positional offset (slow wave bulges)
- Mid + high bands → high-freq small positional offsets (timer-cycled)
- Audio drives position directly, NOT force/velocity (avoids sim blowup)
- EQ stage BEFORE auto-gain (or use fixed dynamic range entirely)
- Speed→brightness as the "twinkle" parameter (E490) — power curve with threshold, tune live by ear (no preset)
---
Promotion Decision
Keep in the searchable backlog until it intersects a live paper or system.
Source Anchor
lume-commerce/hardware/reference/duncan/analyses/E512-DThrF5Miq0-.md
Detected Structure
Method · Figures