Repository navigation
Conversation
Keep visible / Show outfit / Wear set / Measure outfit rules, and the browser-local view document in schemas/fit-lab-view.schema.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Keep visible holds a slot's selected item in the 3D view while another slot is edited; Show outfit turns all kept slots on or off; Wear set keeps one family across every slot it has; Clear outfit forgets them. Measure outfit makes body hiding and Measure slot include kept items and adds one row per kept item. The outfit is view state only (web/outfit.mjs, schemas/fit-lab-view.schema.json): no history step, no autosave, no change to lab-adjustments.json or builds. It is remembered per browser, origin and pack in localStorage. Also keeps Measure slot's result message visible: updateBody() in the finally block used to overwrite it with the hidden-face count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
|
Converted to draft. Fable's rule is that directors review and workers build, so item 2 gets an independent build. spritemotion-worker is building it fresh from the design commit 79cfaf9, and I'll review that PR instead. This branch stays only as a fallback; Fable decides whether to close it. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a4bae13204
ℹ️ 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".
| for (const it of kept) totals[it.info.id] += pokeCount(it, others(it)).n; | ||
| if (++done % 10 === 0) { $('status').textContent = `measuring ${done}/${jobs} poses…`; await new Promise(r => setTimeout(r)); } | ||
| } | ||
| for (const id in totals) { state.baseline[id] ??= totals[id]; state.results[id] = totals[id]; } |
There was a problem hiding this comment.
Key measurement baselines by outfit context
If an item was measured previously in its own slot, then is kept while another slot is measured with Measure outfit enabled, state.baseline[id] ??= reuses the earlier solo baseline. The displayed delta therefore compares counts produced with different hidden-face sets, even though the documented behavior says a kept row gets its baseline from its first outfit measurement. Reset or separately key baselines when the measured outfit context changes.
Useful? React with 👍 / 👎.
| state.slot = slot; | ||
| state.shown = new Set([list[0].id]); state.selected = list[0]; | ||
| renderItems(); for (const it of items.values()) setVisible(it, state.shown.has(it.info.id)); | ||
| renderItems(); refreshVisible(); outfitUI(); |
There was a problem hiding this comment.
Restore the worn item when reopening a kept slot
When a kept slot is reopened after choosing a non-first item, selectSlot selects and shows list[0] but outfit.worn[slot] still points to the previously selected item. The checkbox consequently says the slot is kept while the item being edited is not the item that reappears after leaving the slot. Initialize the selection from the slot's worn item, or synchronize the worn entry with the new selection.
Useful? React with 👍 / 👎.
Sprint item 2: while you fit one slot, the other slots you have kept stay visible.
What it does
The design commit (79cfaf9) is included: the README section "Whole outfit while fitting one slot" and
schemas/fit-lab-view.schema.json.What it doesn't change
lab-adjustments.json, builds or renders.fit-lab:outfit:<origin>:<pack>.Also fixed
Checks
pytest -q: 107 passed, 1 skipped, including 4 new tests intests/unit/test_fit_lab_outfit.py(Node foroutfit.mjs, plus the schema).tools/agents/run.py --check: up to date.launchers\dev\editor-tests.bat: 125 checks, passed.Note for merging
lab.js,lab.cssandindex.html.selectSlot/selectItemlines;🤖 Generated with Claude Code