You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .planning/REQUIREMENTS.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,8 +235,9 @@ Added 2026-05-21 when the v1.7.x patch-cycle runway (Phases 999.51–999.56) was
235
235
-[x]**VIEW-INSP-01**_(✓ UAT PASS 2026-05-21 — clipping renders + visibly clips)_ (Phase 999.51 · v1.7.x-01): `ClippingController::apply()` cut over from log-only stub to functional apply (reusing the legacy Clipping dialog's parameter parsing); a `ClippingSection` added to the Inspector Representation tab mirroring the Model/Coloring/Material section pattern; `STUB` marker removed — _IMPLEMENTATION-COMPLETE / AWAITING GUI HUMAN-VERIFY (Plan 999.51-01 commits 81118c56e3/87ea5544e3/995da19d91; VIEW build green BALL_UI_V2=ON; STUB removed; legacy ClippingDialog untouched). Checkbox flips to [x] after the blocking running-BALLView human-verify confirms the section renders + visibly clips._
236
236
-[x]**VIEW-INSP-02**_(✓ UAT PASS 2026-05-21 — labels appear; surface-normal artifact traced to a pre-existing renderLabel_ blend-state leak, fixed in 8e14034b9d)_ (Phase 999.51 · v1.7.x-02): same shape for `LabelController::apply()` + a `LabelSection` in the Inspector — _IMPLEMENTATION-COMPLETE / AWAITING GUI HUMAN-VERIFY (Plan 999.51-02 commits 3d2102a5b2/8ad9fc6076/590d7d6b9e; VIEW build green BALL_UI_V2=ON; STUB removed; apply() ports LabelDialog::accept → MODEL_LABEL Representation + LabelModel + MainControl insert/update; legacy LabelDialog untouched). Checkbox flips to [x] after the blocking running-BALLView human-verify confirms the section renders + a label visibly appears._
237
237
- [x] **VIEW-INSP-03** _(✓ UAT PASS 2026-05-21 — Material transparency slider visibly works; closes GH #527)_ (Phase 999.52 · v1.7.x-30 · GH #527): a working transparency control in the Inspector `materialSection`, superseding the broken legacy `MaterialSettings` transparency slider — _IMPLEMENTATION-COMPLETE / AWAITING GUI HUMAN-VERIFY (Plan 999.52-01 commits ce4061a93d/7374d42ae8; libVIEW + BALLView.app green BALL_UI_V2=ON). MaterialController gained an int transparency (0-255) property driving `Representation::setTransparency()` + `rep_->update(false)` — the per-vertex alpha path the interactive GLRenderer honors — NOT the dead `Stage::Material.transparency` field (the #527 bug; grep-verified unwritten). MaterialSection shows a raw 0-255 Transparency slider sharing Representation state with the Model-section slider. Legacy MaterialSettings dialog untouched (Phase 999.53 deletes it). Checkbox flips to [x] after the blocking running-BALLView human-verify confirms the Material-tab slider visibly changes transparency, the Model-section slider reflects the same value, and reset works._
238
-
- [ ] **VIEW-CLEAN-02** _(PARTIAL — Plan 999.57-01 relocated `createModelProcessor`+`applySettingsTo` into the headless `ModelProcessorFactory` (no QWidget dep); the legacy `modelSettingsDialog::createModelProcessor` now delegates. Render path NOT yet detached — `displayProperties.C:451/471` + `modelController.C:159` still call the dialog; `createColorProcessor` still in `coloringSettingsDialog`. Plan 02/03 + GUI verify finish this.)_ (Phase 999.57 · prerequisite for 999.53): `createModelProcessor`/`createColorProcessor` relocated out of the legacy `modelSettingsDialog`/`coloringSettingsDialog` into the Inspector Model/Coloring sections via the Controller layer; `displayProperties.C:451/487` no longer on the render path; `scene.C` no longer constructs `MaterialSettings`/`LightSettings`/`StageSettings`; remaining `displayProperties` references (mainControl/representationManager/molecularControl/geometricControl/mainframe/pluginDialog/demoTutorialDialog) resolved; the Model/Coloring/Stage/Light Inspector sections drive the rendered scene end-to-end (GUI-verified); tri-OS green
239
-
-[ ]**VIEW-CLEAN-01** (Phase 999.53 · v1.7.x-08, depends on VIEW-CLEAN-02): the 9 superseded legacy VIEW dialog files (commit `7f56f80d89` breadcrumb) + `displayProperties.{C,h,ui,.sip}` + `lightSettings.sip` + the `Tools › Legacy Settings` submenu / `LegacySettingsHelper` deleted; `grep -r` for all 9 names in `source/`+`include/` returns 0; tri-OS CI green
238
+
-[x]**VIEW-CLEAN-02** (Phase 999.57 · prerequisite for 999.53) — _✓ UAT PASS 2026-05-21_: `createModelProcessor`/`createColorProcessor` relocated out of the legacy `modelSettingsDialog`/`coloringSettingsDialog` into headless `ModelProcessorFactory`/`ColorProcessorFactory` (MODELS layer, no QWidget dep); `displayProperties.C:451/487` + `modelController`/`coloringController` repointed onto the factories (grep-proven no legacy reach-throughs); CONFIG-01 compiled-default invariant preserved; render UAT confirmed Model + Coloring representations render correctly. _(scene.C's MaterialSettings/LightSettings/Stage + the remaining displayProperties consumers moved to VIEW-CLEAN-03 / Phase 999.57b.)_
239
+
-[ ]**VIEW-CLEAN-03** (Phase 999.57b · 2nd prerequisite for 999.53): `scene.C` no longer constructs `MaterialSettings`/`LightSettings`/`StageSettings` (lines 141/142/161) — their Preferences-stack + `applyPreferences` + **stereo render-path** (scene.C:2664-3165) responsibilities relocated into Inspector Stage/Light/Material coverage; the Material/Light/Stage Inspector sections drive lights/materials/stereo end-to-end (GUI-verified); tri-OS green
240
+
-[ ]**VIEW-CLEAN-01** (Phase 999.53 · v1.7.x-08, depends on VIEW-CLEAN-02 + VIEW-CLEAN-03): the 9 superseded legacy VIEW dialog files (commit `7f56f80d89` breadcrumb) + `displayProperties.{C,h,ui,.sip}` + `lightSettings.sip` + the `Tools › Legacy Settings` submenu / `LegacySettingsHelper` deleted; `grep -r` for all 9 names in `source/`+`include/` returns 0; tri-OS CI green
240
241
-[x]**VIEW-UX-01** (Phase 999.54 · v1.7.x-31 · GH #501): BALLView emits a `Log`/status-bar warning at startup when zero renderer plugins are discovered
241
242
-[~]**BUILD-ACCEL-08** (Phase 999.55 · v1.7.x-09 PCH half): **ATTEMPTED + REVERTED.** Extending PCH to the test build via `REUSE_FROM BALL`/`VIEW` forces test TUs to inherit the SHARED library's compile-definitions (`NDEBUG` etc.), which flipped `Debug_test`'s debug-macro behavior under GCC → Linux runtime failure (CI run 26233705613; macOS never caught it — AppleClang has PCH guarded off). Reverted in `test/CMakeLists.txt`. The **library** PCH (BUILD-ACCEL-01 / 999.16: Windows −35.6% cold, Linux −15%) already delivers the build-time win; test-suite PCH is dropped as not worth the cross-platform fragility. No further action.
242
243
-[ ]**DOCS-01** (Phase 999.56 · v1.7.x-32 · GH #560): the PDF tutorial refreshed against v1.7.x — build system (Homebrew/vcpkg), screenshots, URLs, developer list, and the GitHub Releases download path
Copy file name to clipboardExpand all lines: .planning/ROADMAP.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ This roadmap mirrors the human-authored `/Users/kohlbach/Claude/BALL/ROADMAP-1.6
29
29
-[x]**Phase 999.54: BALLView startup warning when no renderer plugins found (#501) (v1.7.x)** - Emit a Log/status-bar warning on empty renderer-plugin discovery. (completed 2026-05-21)
30
30
-[x]**Phase 999.55: Build acceleration — PCH across BALL + VIEW (v1.7.x)** - Investigated extending PCH to the test build; the library PCH (the real win) already shipped in 999.16. Test-suite `REUSE_FROM` PCH was tried and **reverted** (it injects the library's `NDEBUG` into tests, broke `Debug_test` on GCC). Net outcome: doc reconciliation + dropped the fragile test-PCH. (closed 2026-05-21)
31
31
-[ ]**Phase 999.56: Refresh the PDF tutorial for the modernized stack (#560) (v1.7.x)** - Update tutorial content/screenshots/URLs/build flow to v1.7.x.
32
-
- [ ] **Phase 999.57: Complete Inspector controller cut-over — unwire displayProperties.C from the rendering pipeline (v1.7.x) — PREREQUISITE FOR 999.53** - Relocate `createModelProcessor`/`createColorProcessor` (the rendering-path factories at displayProperties.C:451/487) out of the legacy Model/Coloring settings dialogs into the Inspector/Controller layer; and the displayProperties references in mainControl/mainframe. Highest-risk (touches the threaded renderer) — incremental + verifiable per CLAUDE.md. **Planner scope-corrected:** scene.C's MaterialSettings/LightSettings/StageSettings are NOT dead (load-bearing for the Preferences stack + the entire stereo render path) — split out as 999.57b. 3 plans created; unblocks deleting the Model/Coloring/displayProperties triples. **Code+build+audit COMPLETE 2026-05-21** (all 3 plans landed; render path grep-proven detached; BALLView.app links clean BALL_UI_V2=ON) — **but Plan 03's BLOCKING running-BALLView render UAT is PENDING**, so VIEW-CLEAN-02 stays PARTIAL and the phase is not yet closed.
32
+
- [x] **Phase 999.57: Complete Inspector controller cut-over — unwire displayProperties.C from the rendering pipeline (v1.7.x) — PREREQUISITE FOR 999.53** - Relocate `createModelProcessor`/`createColorProcessor` (the rendering-path factories at displayProperties.C:451/487) out of the legacy Model/Coloring settings dialogs into the Inspector/Controller layer; and the displayProperties references in mainControl/mainframe. Highest-risk (touches the threaded renderer) — incremental + verifiable per CLAUDE.md. **Planner scope-corrected:** scene.C's MaterialSettings/LightSettings/StageSettings are NOT dead (load-bearing for the Preferences stack + the entire stereo render path) — split out as 999.57b. 3 plans created; unblocks deleting the Model/Coloring/displayProperties triples. **Code+build+audit COMPLETE 2026-05-21** (all 3 plans landed; render path grep-proven detached; BALLView.app links clean BALL_UI_V2=ON) — **but Plan 03's BLOCKING running-BALLView render UAT is PENDING**, so VIEW-CLEAN-02 stays PARTIAL and the phase is not yet closed. (completed 2026-05-22)
33
33
-[ ]**Phase 999.57b: scene.C settings-dialog cut-over — Material/Light/Stage incl. the stereo render path (v1.7.x) — 2nd PREREQUISITE FOR 999.53** - Relocate scene.C's `MaterialSettings`/`LightSettings`/`StageSettings` (lines 141/142/161; load-bearing across ~15 sites incl. the Preferences stack, applyPreferences, and the full stereo rendering path scene.C:2664-3165) into Inspector Stage/Light/Material coverage. Independent high-risk threaded-renderer migration, comparable in size to 999.57; own GUI UAT (lights/materials/stereo must still render). Needed before 999.53 deletes those 3 dialog triples.
0 commit comments