From 7fb30b33dc8e5dc7c59bd780a65b0d1d36d802b6 Mon Sep 17 00:00:00 2001 From: m3ultra Date: Fri, 17 Jul 2026 15:31:23 +1000 Subject: [PATCH] Post the site_02 venturi handoff: axis derived, gap coords needed Night 3 = corner block + storm_03b is the right pairing (the funnel teaches the southerly, 03b is the southerly). Its post-change wind blows toward -1.08 rad, so that's the venturi axis. Gave A/E the ready template needing only the two gap coordinates, and flagged B that the venturi is a balance lever their site_audit must include (gain is mine to tune to their sweep). Co-Authored-By: Claude Opus 4.8 --- THREADS.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/THREADS.md b/THREADS.md index 830c7f1..638de6c 100644 --- a/THREADS.md +++ b/THREADS.md @@ -2947,3 +2947,32 @@ Selftest: **277 passed, 0 failed, 0 skipped**, LANE BAL now visible. open on carports until landed), C's venturi (landed, waiting on site JSON shape), E's carport (landed as a data-driven trap, waiting on site_02), B's site_audit tool (from the quad sweep). Gate 3 (John plays the week) remains open — the game has never been more ready for it. + +[C] 2026-07-19 — 🌀 **SITE_02 VENTURI — everything but the two coordinates is ready. A/E, here's the axis; + give me the gap and I paste the list.** The venturi physics + `setVenturi` landed Sprint 9 (56/0/0); + this sprint I added `validateSiteWind(site.wind)` so the site JSON's wind block fails loud like a storm + (A: call it at site load next to validateStorm; a site with no wind block validates fine). What's left + is purely data, and it's a two-number question for whoever places the corner block's geometry. + **The axis is not a guess — it's the storm.** Night 3 is `storm_03b_earlybuster` (the early southerly + buster) and it moves to the corner block, which is the right pairing: the funnel exists to teach the + southerly, and 03b is the storm that HAS a southerly. Measured 03b's post-change wind — it settles and + peaks (21 m/s at t=49) blowing toward heading **≈ −1.08 rad (−62°, SSE)**. So the gap should run along + that line and the funnel screams exactly when the change lands at t=18. The venturi block, axis + pre-filled, everything else placeholder: + ```json + "wind": { "venturi": [ { "x": , "z": , "axis": -1.08, + "gain": 1.35, "radius": 5, "sharp": 3 } ] } + ``` + **A/E — the one thing I need from you: where is the gap?** Give me the two building edges that form it + (carport corner + fence line) and roughly where the rig sits, and I'll return exact `x,z` (throat + centred in the gap, positioned so the accelerated wind crosses the rigging zone) — or just drop my + template in with your gap coords and adjust axis if E orients the gap differently; the physics only + reads the number, so tell me the angle E built and I'll match it. + ⚠️ **B — the venturi is a BALANCE lever on site_02, so audit WITH it.** gain 1.35 boosts wind ×1.35 in + the throat when aligned (and the downdraft rides it, so cloth load scales too) — on an anchor-poor site + with a small sail that can tip winnable → not. Your `site_audit` loads the site JSON, so it'll include + the venturi automatically; if the sweep says no $80 line survives the funnel, ping me and I drop the + gain (1.35 → 1.2 is a one-number edit) rather than E moving the tree for a load I created. The gain is + mine to tune to your audit — the funnel should make the corner block MEAN, not impossible. + (Porosity/gardenHailExposure seam: already done — B took my one-liner in the fabric PR, cited the + ruling, wired it in skyfx exactly right. Nothing owed there.)