Skip to content

Rust: screen — cross-body force attenuation (quiet zones) #1040

Description

@zachshallbetter

Parent: #1036.

Port screen (extended.ts, workover v0.3) — a quiet zone / shield (truth mode: designed). A visible body carrying screen damps the magnitude of other bodies' forces on matter inside its range, by screenFactor(d, range, strength, min).

Cross-body by definition, so the work is in the integrator's force pass (the only place per-particle, per-body forces compose): collect the screen bodies once per frame; per particle compute each screen's factor once; multiply the factor into the effective-strength mul for every other body's applies (a screen never damps its own siblings). screen.apply is a no-op modifier.

Files: math/ (add screen_factor, already in swift Math.swift), forces/extended.rs (the no-op token), engine/integrator.rs (the cross-body attenuation, alongside the modifier pass).

Acceptance: a screen body measurably reduces a neighbouring attract's pull on matter inside its radius; a field with no screens is byte-identical (the pass is skipped); parity count → 35; gate green.

Metadata

Metadata

Assignees

No one assigned

    Labels

    track-a-nativeRelease Track A — native plane (Swift/Three cross-platform engine)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions