fix(review): thickness band derived from thickness_in (#88); MultiSelect shows selected names + commits on toggle settle (#90)
#88 — thickness band is now display-only, derived deterministically from thickness_in against the synced Woo thickness terms (TV-9 / QUALITY-95). Replaces the <select> with a read-only div. New pure function deriveThicknessTermId + 6 unit tests. Docs (UAT-PRACTICE, contracts/UX) updated to reflect the band is not an owner control. #90 — MultiSelect closed state now shows the selected option names (truncated to 2 + +N) instead of just a count. onCommit prop wired so multi-select changes persist + re-review immediately (250ms debounce, flush on Done, cleanup on destroy). Single-select binds use string vars (speciesSel/edgeSel/gradeSel) to fix the number/string mismatch with <option value={id}>; a tick()-deferred syncSelects() keeps the DOM option in sync after programmatic writes (AI prefill, reload hydrate) that Svelte's own select_option would otherwise reset.
This commit is contained in:
@@ -121,7 +121,10 @@ hard stop. Switch to a supported browser.
|
||||
3. **Wood categories.** Pick at least one from the synced list.
|
||||
4. **Edge type, figure, grade.** Pick from the synced lists. One edge type, at least one figure,
|
||||
exactly one grade.
|
||||
5. **Thickness band.** Pick the Woo band that the measured thickness rounds up into.
|
||||
5. **Thickness band.** Not a control — it is derived automatically from the measured
|
||||
thickness (the thickness-in rounds up into the synced Woo band, `TV-9` / `QUALITY-95`).
|
||||
It displays read-only on the Review screen; fix it upstream by correcting the thickness
|
||||
on capture/measure if the band looks wrong.
|
||||
6. **Moisture.** Keep the default (kiln-dried) or change it.
|
||||
7. **fig-* tags.** Optional; pick any from the synced list.
|
||||
8. **feat-* tags.** Zero or more. Only pick existing `feat-*` tags.
|
||||
|
||||
Reference in New Issue
Block a user