Skip to content

Add Pavel visual controls, presets, and Augmenta debug overlays - #6

Merged
Lyptik merged 12 commits into
mainfrom
feat/visual-controls-presets-debug-overlay
Oct 2, 2026
Merged

Lyptik merged 12 commits into
mainfrom
feat/visual-controls-presets-debug-overlay

Conversation

@Lyptik

@Lyptik Lyptik commented Oct 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Expands the Visuals section around the PavelDoGreat fluid renderer and reorganizes the former Display / Live debug controls.

Visuals

  • adds the same interactive controls exposed by the Pavel web demo, excluding Capture:
    • Quality / dye resolution
    • Sim resolution
    • Density diffusion
    • Velocity diffusion
    • Pressure
    • Vorticity
    • Splat radius
    • Shading
    • Colorful
    • Paused
    • Random splats
    • Bloom enabled / intensity / threshold
    • Sunrays enabled / weight
  • adds a preset system
    • current values are Default
    • edited values automatically become Custom
    • selector is data-driven so future named presets can be added without changing UI logic

Augmenta splat input

Adds Visuals → Augmenta → Splat input:

  • Centroid: one standard-radius splat per cluster centroid
  • Point clouds: current bounded/subsampled multi-splat point-cloud input
  • Bounding box: one centroid splat with a radius derived from the projected bounding-box footprint

All modes use the same Pavel splat pipeline and point/centroid motion, with cluster velocity as fallback when correspondence is unstable.

Augmenta data

  • removes the standalone Display section
  • renames Live debug data to Augmenta data
  • moves scene selection, Reset camera, Clusters, Point clouds, Scenes, Zones and Velocity vectors into that section
  • renders the Three.js debug viewer transparently above the fluid canvas so enabled data overlays remain visible without replacing the fluid visuals
  • scene grid/axes now follow the Scenes toggle too

Persistence / compatibility

  • persists the full visual configuration
  • migrates old display preferences into the new data preference block
  • preserves the old debug-section open state
  • keeps device-specific Pavel defaults (e.g. mobile/no-linear-filtering fallbacks) as the runtime Default preset

Validation

  • adds tests for bounding-box radius mapping, control presence, splat-input modes, fluid control API, and transparent debug layering
  • version bumped to 0.4.0

@Lyptik
Lyptik merged commit fcef5a4 into main Oct 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant