Skip to content

[DD001] Replace the temporary "soft floor" with proper boundary physics on Metal (Ihmsen 2010) #237

Description

@slarson
  • Roadmap Phase: Phase 0
  • Required Capabilities: physics, sph, metal
  • Audit note (NEW issue surfaced by audit): The current worm_alone parity uses floor_y=2.25 as a soft proxy because the native substrate doesn't yet implement Ihmsen 2010 boundary→active SPH pressure (per docs/demos.md parity caveats). This is the real next physics step on the Metal substrate, not just an artifact-housekeeping item.
  • DD Section to Read: DD001 §Backend Stabilization Roadmap
  • Depends On: None ([DD001] Add a parity check for worm_alone (passive worm body) — depends on #236 #236 documents the caveat that motivates this)
  • Existing Code to Reuse:
    • OpenCL reference implementation of boundary pressure in src/sphFluid.cl
    • src/metal_diff/shaders.metal for the kernel layer to add to
  • Acceptance Criteria:
    • Implement boundary→active SPH pressure kernel in shaders.metal per Ihmsen 2010
    • Paired analytic backward kernel + FD validator (per DD001 Quality Criteria Configreaderwriter #7)
    • worm_alone parity test now passes with physical floor_y (not the elevated proxy value)
    • Tuned param updates committed
  • Sponsor Summary Hint: Currently the worm-alone parity test passes with a floor_y elevated above the real floor — a workaround for missing physics. This issue is the actual physics: boundary particles applying SPH pressure to active particles per Ihmsen 2010.

This issue is part of milestone v0.0.9 — Phase 0 Modernization, derived from DD001 Body Physics Engine Architecture. Related issues in this milestone are filed in the same batch.

Metadata

Metadata

Assignees

No one assigned

    Labels

    DD001Issues derived from DD001 Body Physics Engine ArchitectureL3Difficulty level 3: days to weeks, substantial workhuman-expertRequires human physics/SPH/CUDA expertisenative-gpuNative Metal / native CUDA substrate workphase-0Roadmap Phase 0 (Core Architecture / Modernization)physicsSPH / boundary / pressure / muscle physics

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions