Skip to content

Commit 8257729

Browse files
okohlbacherclaude
andcommitted
docs(999.57): mark complete after render UAT pass; split VIEW-CLEAN-02/03
UAT 2026-05-21: Model + Coloring render correctly via the relocated headless factories. VIEW-CLEAN-02 (factory relocation + render-path detachment) → done. Split out VIEW-CLEAN-03 (Phase 999.57b: scene.C Material/Light/Stage incl. the stereo render path). 999.53 deletion now gated on VIEW-CLEAN-02 + 03. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2f3fa7a commit 8257729

3 files changed

Lines changed: 10 additions & 9 deletions

File tree

.planning/REQUIREMENTS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -235,8 +235,9 @@ Added 2026-05-21 when the v1.7.x patch-cycle runway (Phases 999.51–999.56) was
235235
- [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._
236236
- [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._
237237
- [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
240241
- [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
241242
- [~] **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.
242243
- [ ] **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

.planning/ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ This roadmap mirrors the human-authored `/Users/kohlbach/Claude/BALL/ROADMAP-1.6
2929
- [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)
3030
- [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)
3131
- [ ] **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)
3333
- [ ] **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.
3434

3535
## Phase Details

.planning/STATE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
gsd_state_version: 1.0
33
milestone: v1.6.2
44
milestone_name: · 2026-05-16)
5-
status: executing
5+
status: verifying
66
stopped_at: "999.57-03 at BLOCKING checkpoint:human-verify (render UAT pending)"
7-
last_updated: "2026-05-21T20:03:37.926Z"
8-
last_activity: 2026-05-21
7+
last_updated: "2026-05-22T05:04:16.814Z"
8+
last_activity: 2026-05-22
99
progress:
1010
total_phases: 72
1111
completed_phases: 32
@@ -24,10 +24,10 @@ progress:
2424

2525
## Current Position
2626

27-
Phase: 999.57 (inspector-controller-cutover-displayproperties) — EXECUTING
28-
Plan: 3 of 3
27+
Phase: 999.57
28+
Plan: Not started
2929
Status: Plan 03 at BLOCKING checkpoint:human-verify — render-path repoint code+build+audit DONE (commits 2b87c689ea, 29d661fa8f, a44eef0ed6; BALLView.app links clean BALL_UI_V2=ON; render path grep-proven detached), running-BALLView render UAT PENDING. VIEW-CLEAN-02 stays PARTIAL (NOT complete).
30-
Last activity: 2026-05-21
30+
Last activity: 2026-05-22
3131

3232
## Performance Metrics
3333

0 commit comments

Comments
 (0)