Repository navigation
feat: step 10's page blows a gentle breeze; the cloth answers the world (#15) - #17
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Card bar ≥ 3 px not met: 1.24 / 1.33 px; the limiting seam is face|hair_front, the same one step 12 closes at edge strength 100. Shipped as is by HQ's decision (no stronger idle-only breeze, no bar change); the README's step-10 sentence now says the hair moves faintly and why (commit on this branch). |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d0f74cef0b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // trail the hello's head turn onto her cheek, below 0.5 the skirt leaves the | ||
| // thigh in the settle (docs/REFERENCE.md, step 10). Off is the runtime's own | ||
| // world, wind [1, 0] (environment(null)): the one the rig was built and checked in. | ||
| const BASE = 0.75, GUST = 0.25, HZ = 0.2; |
There was a problem hiding this comment.
Meet the documented 3 px breeze bar
For the default anim=idle scenario, this 0.5–1 wind range does not produce the required visible motion: docs/REFERENCE.md records only 1.24 and 1.33 px of lock-tip movement while the stated bar is at least 3 px. The new adapter check then replaces that absolute requirement with a relative 2× comparison, so CI reports PASS despite the feature failing its own acceptance bar. Adjust the breeze or cloth behavior so it meets both the displacement and seam constraints, and retain the 3 px assertion.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Rejected (P2), judged by the PR's opener. The 3 px card bar is unmet on purpose: any stronger wind opens the face|hair_front seam on the hello, and that seam bar outranks visible motion. The shortfall (1.24 / 1.33 px) and the reason are recorded on this PR and in the README's step-10 sentence. A 3 px assertion in CI would encode a requirement the guide deliberately does not meet. The relative check (breeze moves the locks at least 2× still air) guards what step 10 does claim: that the breeze reaches the cloth.
55b529c to
ca40ed9
Compare
…ld (#15) The rig answers, the page supplies the world. scripts/play.html calls RigPlayer.environment({ wind: [0.75 + 0.25 sin(2 pi 0.2 t), 0] }) before every frame (play 1.12.0: "It is the player's, not a track's: every track and layer answers the same world"), with a "breeze" checkbox on by default and &wind=0 for the runtime's start values (environment(null), wind (1, 0)). loadModel gets setsUrl: null so the page logs no 404. The rig, config, recipe and motion are untouched. Values: wind x 0.5-1. Stronger gusts break the hello's seam bars at one phase or another (1 +- 1: face|hair_front ghost 70, topwear|bottomwear 57; 1 +- 0.25: face|hair_front 52), and still air (0, 0) opens the hem (thigh_l gap 46) — the skirt was tuned in the runtime's default wind. At 0.75 +- 0.25, rigc render --environment over four gust phases: all pairs inside (tightest thigh_l|bottomwear 24/6, face|hair_front 7/47), pass-through 0, no folds. Browser (bone reads in the head's frame): the idle's lock tips move 1.24 / 1.33 px over 5 s with the breeze, 0.25 / 0.27 without — the card's >= 3 px bar is NOT met at a seam-safe wind. check-adapters [bar:tutorial-breeze]: the wind the page sets, the checkbox following &wind=, no console errors, lock tips >= 2x with the breeze than without. Closes #15 Co-Authored-By: Roa <342598975+fj-roa[bot]@users.noreply.github.com>
…o stronger (#15) Co-Authored-By: Roa <342598975+fj-roa[bot]@users.noreply.github.com>
Closes #15. Stacked on #16 → #14 (base
gs-13-stance). One card bar is not met — decision needed (see below).What
scripts/play.html: before every frame,player.environment({ wind: [0.75 + 0.25·sin(2π·0.2·t), 0] })—@rig-c/play1.12.0RigPlayer.environment(environment?: Partial<RigEnvironment> | null): "x to the right and y down … The runtime's start values are{ wind: [1, 0], gravity: [0, 1] }…nullreturns both to the start values … It is the player's, not a track's: every track and layer answers the same world."tis seconds played (holds while paused). A breeze checkbox (on by default);&wind=0starts calm =environment(null)= the runtime's (1, 0).loadModel({ …, setsUrl: null })stops asets.json404 in the console. Rig, config, recipe and motion untouched.&wind=0for the body alone; the breeze belongs to the page, not the rig. REFERENCE "Step 10, the breeze": API quote, values and why, bars (stated first), schedule approximation, tables, browser readings.check-adapters.ts[bar:tutorial-breeze](fake clock, 1/24 s steps): the wind set (x 0.5–1, y 0 on; exactly (1, 0) with&wind=0), the checkbox follows&wind=, 0 console errors, lock tips move ≥ 2× with the breeze than without. Exit 0 (467 s).Why so gentle — at one gust phase or another, stronger wind breaks the hello's seams:
null, not zero.Bars at 0.75 ± 0.25 (rigc 2.64.1
render --environment, one step per frame at (k − 0.5)/24, four gust phases): all 15 pairs +shin_r|foot_rinside on idle and hello (tightestthigh_l|bottomwear24/6,face|hair_front7/47), pass-through 0, no folds.Not met: the browser bar "lock tips ≥ 3 px over 5 s with the breeze on" (idle) — bone reads in the head's frame: 1.24 / 1.33 px on, 0.25 / 0.27 off (≈5×). At 1 ± 1 they read 4.3 / 4.7 px but break three seam pairs. In
hello&under=idlethey read 3.3 / 3.5 (the motion dominates). Options: accept this breeze (the cloth visibly-but-faintly answers; nothing tears); restate the bar after measuring (not done); or a stronger idle-only breeze (would reach the hello's seams through&under=). Bar not changed; check-adapters asserts ratio, not the 3 px.Candid look (
before-after.mp4, zoom clips): at full-figure size the drift is a pixel or two per gust — calm, never stormy, easy to miss.🤖 Generated with Claude Code