E534 — Duncan Fewkes reel analysis digest
- 20 reels ingested at `[home]/.openclaw/browser/reels-ingest/{DU,DV}*/` - Episodes covered: **E485 (Pt2 Jason Derulo World Tour), E525-E536, E543-E549, E556-E557, E560, E567-E568, E570** - 5 Gemini visual analyses: DU-52fcinww (E544 Blocky Pinscreen), DUleGWZisrH (E534 Fluid Presets), DV6A04wislr (E568 SuperHot Cubes), DUSui7PioUD (E527 Holovis branded), DUgoDHlipPu (E532 Depth Cubes vs Fluid Presets) — rest rate-limited - All on **HDRP + VFX Graph + Shader Graph** (confirmed every caption)
Full Public Reader
E534 — Duncan Fewkes reel analysis digest
Source video: `../reels/E534-DUleGWZisrH.mp4` (symlink to `[home-path]`)
Caption: `../reels/E534-DUleGWZisrH.txt`
This file aggregates every playbook chunk section that cites E534. Sections are de-duplicated by heading.
Source
_From `lume-duncan-playbook-chunk-DV-DU.md`_
- 20 reels ingested at `[home]/.openclaw/browser/reels-ingest/{DU,DV}*/`
- Episodes covered: E485 (Pt2 Jason Derulo World Tour), E525-E536, E543-E549, E556-E557, E560, E567-E568, E570
- 5 Gemini visual analyses: DU-52fcinww (E544 Blocky Pinscreen), DUleGWZisrH (E534 Fluid Presets), DV6A04wislr (E568 SuperHot Cubes), DUSui7PioUD (E527 Holovis branded), DUgoDHlipPu (E532 Depth Cubes vs Fluid Presets) — rest rate-limited
- All on HDRP + VFX Graph + Shader Graph (confirmed every caption)
---
NEW — FluidSim preset taxonomy (E534 + E529-E532)
_From `lume-duncan-playbook-chunk-DV-DU.md`_
Verbatim from his caption (E534) — these are the actual preset names in his FluidSim slot:
| Preset | Caption description | Best for |
|---|---|---|
| Default | "nice swishy pressure wave, but does sometimes look too large a motion" | general use |
| Default_Smooth | (named in E534 visual analysis UI panel) | smoothed Default |
| LongThrow | "lot of velocity propagation so it continues onwards, but tendency to thin down over distance, lacks the vorticity/swirls and pressure wave wobble" | long arc throws |
| MidThrow | "puts more vorticity back in which helps it not drop downwards to ground level" | balanced |
| ShortThrow | "very local, helps if you want to leave trails/particle clones lingering in space" | trail residue, cymatic-on-logo |
| InvertedObstacle | "made for E522 Internal Swishy Stuff to keep fluid flow inside the offscreen reprojected depth render" | fluid INSIDE the body silhouette only |
LUME mapping: ship these exact 6 named FluidSim presets in `LumeFluidSimPresets.cs`. Naming is a clean borrowed taxonomy — no reason to invent our own.
---
NEW — VFX Editor extra fields (from E532, E534, E568 visual analyses)
_From `lume-duncan-playbook-chunk-DV-DU.md`_
Augments the prior playbook's VFX Editor data model:
- Depth: <preset> — new field. Observed values: `HolePunch` (renders silhouette on top of all particles, no z-test, hurts depth cues but never lose track of yourself), `GhostChromatic`. Add to `LumeVfxEditor.cs`.
- Painting: <preset> — new field. Observed: `SpotsLeftRightWithFill`, `Bounce_Frosted`, `Bounce, Plastic`. Probably the surface-shader / material slot.
- Background: <preset> — already had it. New observed values: `Gallery2`, plus the prior `StudioBG_Grey`.
- FX: <preset> — observed values: `Clones Snapshot Red`, `Clones Snapshot Red Plexus` (= same effect with plexus links between particle pairs).
- BodySim: <preset> — observed in E532. Same value set as FluidSim (Default / Default_Smooth / LongThrow / MidThrow / ShortThrow). This implies a separate sim slot specifically for body-driven motion, distinct from the global fluid sim.
- HUD overlay: the FX name itself is rendered on screen in the lower-left area as text. "only the last one (shows as 'Clones Red' in screen text on the lower left) is audio-reactive" — operator sees the active preset live.
---
NEW — Plexus links brightness gotcha (E534)
_From `lume-duncan-playbook-chunk-DV-DU.md`_
> "Plexus links almost invisible so I need to figure out how to match brightness with the source/linked particles."
If LUME does plexus (lines between near-particle pairs), the line emissive must be derived from average of endpoints' emissive, not flat. Otherwise lines disappear under bloom. Cheap fix: in the line shader, sample both endpoint colors and lerp 0.5.
---
Self-critique quotes worth borrowing as LUME design principles
_From `lume-duncan-playbook-chunk-DV-DU.md`_
- E534: "Plexus links almost invisible so I need to figure out how to match brightness with the source/linked particles." → emissive consistency between primitives is its own bug class
- E535: "Not very noticeable so needs more definite/large change in motion, but without it going crazy and losing coherence." → audio-transient response: needs to read clearly without losing form coherence
- E548: "Pretty huge fail when I finally check some footage of real kelp and realise mine looks bugger all like an actual kelp forest. I think I must have had some kind of Spongebob cartoony swishy stuff in mind." → reference-check before lookdev
- E556: "Otherwise it would feedback and he'd go apeshit." → coupled sim systems: pick one direction
- E567/E568: "Probably easiest to expose in settings and debug menu to allow for tweak values for each install individually." → ship per-install settings as first-class architecture, not afterthought
---
Complete VFX Editor data model (v2 — supersedes v1)
_From `lume-duncan-playbook.md`_
The v1 model had ~7 slots with placeholder names. v2 has 9 slots with verbatim preset names from his UI overlays (E516, E521, E532, E534, E568):
VFX Editor
├── Auto Cycle VFX [checkbox] # BPM/16-bar phrase auto-transition
│
├── Depth: <preset> # surface treatment of human silhouette
│ options: GhostChromatic2, GlassThin, GlassThick, GlassScan1/2/3, DepthCubes, HolePunch, None
│
├── VFX 01: <preset> # additional particle layer
│ options: ClonesAudioDropBright, ParticleClone, ParticleClonesAudio,
│ SwirlyParticles, KaleidoscopeRing16, Multiparticle_Spine_FX, None
│
├── VFX 02: <preset> # second layer (compositional)
│ options: ParticleSystem_Spine_Trail, ClonesSnapshotRed, ClonesSnapshotRedPlexus, None
│
├── Painting: <preset> # surface-shader / material slot
│ options: SpotsLeftRightWithFill, Bounce_Frosted, Bounce_Plastic, None
│
├── Lighting: <preset> # named lighting rigs
│ options: FogSpotLeftRight1, FogSpotLeftRight2, FogSpotRight, FogSpotOverhead,
│ FogPointOrbitPulse, BrightRoom, SpotsLeftRightWithFill, EmissiveOnly, None
│
├── LightingProfile: <enum> # NEW from E473 — perf vs cinematic toggle
│ options: EmissiveOnly (160-170 fps, no shadows), SpotShadows (70-110 fps, 7x cast)
│
├── Environment: <preset> # 3D scene around the figure
│ options: Studio_Sky_Sphere, Sunset, BolivianSaltFlats, TestRoomDark, None
│
├── Background: <preset> # 2D backdrop layer
│ options: StudioBG_Grey, Gallery2, TestRoomDark, None
│
├── Logo: <preset> # brand overlay slot — also acts as VFX volume
│ options: HOLOVIS_Letters_AudioBlendshape, KOATJI/LUME_equivalent, Off
│
├── FluidSim: <preset> # 6 verbatim names from E534
│ options: Default, Default_Smooth, LongThrow, MidThrow, ShortThrow, InvertedObstacle
│
├── BodySim: <preset> # NEW from E532 — separate sim slot for body-driven motion
│ options: same value set as FluidSim
│
├── FX: <preset> # additional one-shot effects
│ options: ClonesSnapshotRed, ClonesSnapshotRedPlexus, None
│
├── SpawnTopology: <enum> # NEW from E509 floor-spawn discovery
│ options: FloorPlane, BodyVolume, CeilingPlane, WallPlanes, MidPlane
│
├── NoiseAxisMode: <enum> # NEW from E514
│ options: XZ_Twist_Contained, Y_Lift_With_LowFreqBulges
│
├── Auto Load Default Scene [button]
├── Update Settings Default Scene [button]
│
├── Camera Settings: FOV slider + Sensitivity slider
├── VFX Settings: Intensity, Density, Count, Gravity, InitialVelocity, Lifetime, SpawnRate
├── Render Settings: Exposure, Gamma, AmbientOcclusion, Bloom
├── VFX Color: RGB sliders + hex + color picker
└── FX LiveOnColorClear [checkbox]Critical UX rule (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).
Every preset enum's last entry MUST be `None`. The negative-space look that emerges from `Lighting=None + emissive depth particles` is its own aesthetic, not a bug. From E516: "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."
Depth ≠ VFX: 4×4=16 combos for free
Prior assumption (v1): "depth particles" was one thing. v2 reveals they are two independent slots — `Depth:` (surface treatment of the silhouette) + `VFX:` (the additional particle layer on top). They cycle independently.
Depth: Ghost / Glass / Cubes / Off (~4-6 surface treatments)
VFX: Clones / Particles / Swirl / Off (~4-6 particle layers)= 16+ distinct combinations before lighting/colour/background variation. Operator gets massive variety from a small preset library.
Performance HUD (top-right, persistent in every reel)
avg min max
38 39 60 16.6ms
FPS: 60Build `LumePerfHud.cs` with same layout. F8 toggle. Useful both for dev and operator confidence the install is healthy.
---
Self-critiques worth borrowing as LUME design principles
_From `lume-duncan-playbook.md`_
- E534: "Plexus links almost invisible so I need to figure out how to match brightness with the source/linked particles." → emissive consistency between primitives is its own bug class
- E535: "Not very noticeable so needs more definite/large change in motion, but without it going crazy and losing coherence." → audio-transient response: read clearly without losing form coherence
- E548: "Pretty huge fail when I finally check some footage of real kelp and realise mine looks bugger all like an actual kelp forest. I think I must have had some kind of Spongebob cartoony swishy stuff in mind." → reference-check before lookdev
- E556: "Otherwise it would feedback and he'd go apeshit." → coupled sim systems: pick one direction
- E567/E568: "Probably easiest to expose in settings and debug menu to allow for tweak values for each install individually." → ship per-install settings as first-class architecture, not afterthought
- E516: "Always allow for 'Off' to be an option." → every preset enum ends with `None`
- E488: "Another lesson to myself to push past the disappointing failures and keep digging to see if there's anything there." → don't quit at first disappointing test
- E521 / E479 evolution arc: Duncan transitioned from bespoke per-reel demos to a swappable preset matrix (Depth × VFX × Lighting × Background). LUME should target this pattern from Wave 2 onwards. Earlier work was bespoke; later work is a control surface.
- #normalizefailure — he tags failures and shows them. Authenticity move worth borrowing for LUME devlog culture.
---
Promotion Decision
Keep in the searchable backlog until it intersects a live paper or system.
Source Anchor
lume-commerce/hardware/reference/duncan/analyses/E534-DUleGWZisrH.md
Detected Structure
Method · Figures · Code Anchors · Architecture