Skip to content

test(physics): characterise mass-ratio + no-CCD envelope (SG-MR3, SG-X5)#184

Merged
Exoridus merged 1 commit into
mainfrom
feat/v0.15-solver-envelope-gates
Jun 25, 2026
Merged

test(physics): characterise mass-ratio + no-CCD envelope (SG-MR3, SG-X5)#184
Exoridus merged 1 commit into
mainfrom
feat/v0.15-solver-envelope-gates

Conversation

@Exoridus

Copy link
Copy Markdown
Owner

Was

Schließt die zwei optionalen Solver-Characterization-Lücken aus dem W9-Review (v015-verification.jsonconcerns): die zwei dokumentierten TGS-Soft-Grenzen, die bislang kein Gate hatten. Beide bleiben finit/stabil — es sind Accuracy/Coverage-Lücken, keine Bugs. Kein Solver-Verhalten wird geändert (reine Characterization-Tests + Doku).

Gates (dynamics.test.ts)

  • SG-MR3 — Mass-Ratio-Envelope (~100:1): ergänzt SG-MR2 (nur 10:1). Bei 100:1 setzt sich die gequetschte leichte Box eine kleine, bounded Strecke in den Floor (~1.4px gemessen — Mehrfaches der 0.25px-Slop, aber weit unter der 16px-Halbbreite); ihr Zentrum sinkt nie unter die Oberfläche. Jenseits ~100:1 lässt der velocity-capped Soft-Push-out (maxBiasVelocity) die Penetration wachsen (≈6px@500:1, komplett durch bei ~5000:1). Pinnt die Envelope-Kante → eine Regression in tiefe Penetration bei 100:1 wird gefangen.
    • Hinweis: Der Review nannte 0.017px für 100:1 — das war eine andere Szenen-Geometrie; mein zu SG-MR2 analoger Aufbau misst reproduzierbar/deterministisch 1.42px. Bound = 2px (Plattform-Puffer).
  • SG-X5 — Kein CCD / Fast-Body: ein Body, der pro Frame weiter als die Floor-Dicke reist, tunnelt durch (Detection läuft 1×/Frame, kein Swept-Test) — bleibt aber finit. Pinnt den Finitheits-Vertrag. Zuverlässiges Stoppen schneller Projektile = v0.16 CCD/Bullet-Mode.

Doku

PhysicsWorld-Klassendoku um einen „Operating envelope"-Abschnitt erweitert (Mass-Ratio-Decke, No-CCD-Tunneling, load-bearing subStepCount ≥ 2), je mit Gate-Referenz; subStepCount-Option-Doc verschärft (Werte < 2 degradieren Stacking sichtbar → Default nicht für Perf senken). Physics ist nicht in build-apikein api-mdx-Delta (docs:api:check grün).

Gates lokal grün

physics test (90 passed), typecheck, lint, format:check, docs:api:check. Kein Versions-Bump/Tag/Publish.

Pin the two TGS-Soft operating limits the W9 review flagged as undocumented and
ungated. Both stay finite/stable — they are accuracy/coverage gaps, not bugs.

- SG-MR3: at a ~100:1 mass ratio a crushed light box settles a small, bounded
  distance into the floor (~1.4px, measured here) and its centre never sinks
  below the surface. Past ~100:1 the velocity-capped soft push-out
  (maxBiasVelocity) lets penetration grow sharply (~6px at 500:1, fully through
  by ~5000:1). Pins the envelope edge so a regression into deep penetration at
  100:1 is caught.
- SG-X5: a body moving farther than the floor thickness in one frame tunnels
  through it (detection runs once per frame — no CCD) but stays finite. Pins the
  finiteness contract for fast bodies.

Document the operating envelope (mass-ratio ceiling, no-CCD tunnelling,
load-bearing subStepCount >= 2) on PhysicsWorld and tighten the subStepCount
option doc. No solver behaviour change; physics is not in build-api so there is
no api-mdx delta.

Gates green: physics test (90 passed), typecheck, lint, format, docs:api:check.

No version bump / tag / publish.
@Exoridus Exoridus enabled auto-merge (squash) June 25, 2026 21:00
@Exoridus Exoridus merged commit c08754f into main Jun 25, 2026
12 checks passed
@Exoridus Exoridus deleted the feat/v0.15-solver-envelope-gates branch June 25, 2026 21:06
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