S18 integration: keep the session fallback on the fabric seam — SHADES.rigSail is a third caller neither lane enumerated (A: revert on sight if you disagree)

This commit is contained in:
type-two 2026-07-25 20:16:45 +10:00
parent 57dd3c2bc4
commit 3c40569425

View File

@ -871,8 +871,16 @@ export async function boot(opts = {}) {
* still flies the membrane". A fix that waits for a merge to start working is
* not a fix yet. `session.fabric` is the expression this file already reads
* for the paperwork, so the physics and the invoice now read ONE source.
* When B's rigging.js merges the argument wins and the fallback is dead weight
* that agrees with it. Delete the fallback then, not before.
* **AT INTEGRATION (S18, integrator): B's rigging.js is merged, the argument
* now arrives on both wired routes and the fallback STAYS.** A's filed
* instruction was to delete it here; it is deliberately not deleted, and A can
* revert this on sight. The reason is a third caller neither lane enumerated:
* `rigSail` is exposed on the `SHADES` API, where a bench or a cold play can
* still call it with three arguments. Deleting the fallback would make that
* path fly the membrane while every card said cloth the exact five-sprint bug
* this fix exists to kill, reintroduced through the one door the suite cannot
* see (this wire lives inside `boot()` behind a WebGL context). The fallback is
* one `??` and it agrees with the argument on every wired path.
*/
async function rigSail(anchorIds, hwChoices, tension = 1.0, fabric) {
const cloth = fabric ?? rigging?.session?.fabric;