@@ -19,13 +19,13 @@ replacing the former flat `src/MeshCraft/MeshCraftApplication_*.cpp` layout.
1919a compatibility forwarder. Actual UI components currently cover Validation,
2020Registry results, Toolbar tools/display/snap-surface/proportional/grid controls,
2121Properties delegation, and the View-menu panel/overlay/direction/focus/
22- Camera-Bookmarks/Walk-Mode presentation, plus the Add/CSG and Help menu
22+ Camera-Bookmarks/Walk-Mode/Bloom-SSAO presentation, plus the Add/CSG and Help menu
2323presentation and the Edit-history, clipboard, object-action, and
2424selection-action groups, the Select-by-Type/Tag/Material, Align-Selection,
2525Distribute-Selection, and Mirror-Selection submenus, and the Copy-Properties,
2626Convert-to-Definition, Export-Subtree, Break-Instance, Drop-to-Ground,
2727Snap-to-Grid, Group-Scale, Linear-Array, and Scatter-Along-Curve items plus the
28- Group/Ungroup pair, plus every File-menu action through Open Recent. The detailed
28+ Group/Ungroup pair and every File-menu action through Open Recent. The detailed
2929toolbar Snap interval contents and the remaining MenuBar sections are still
3030application-owned. Camera bookmark, walk,
3131document, undo, clipboard, selection, grid, and dialog state have ** not** moved
@@ -100,11 +100,12 @@ before when explicitly requested (`SYS-W14-##` rows).
100100
101101## 2. Current status
102102
103- - ** Last full build: clean after the current Phase 13 File-exit
104- slice .** Testing is enabled in the current Ninja Release tree, and
103+ - ** Last full build: clean after the current Phase 13 File-open-recent and
104+ View-Bloom/SSAO slices .** Testing is enabled in the current Ninja Release tree, and
105105 ` CCACHE_DISABLE=1 cmake --build b-release -j4 ` linked all targets successfully
106106 on EASYGL. Alternate-backend runtime qualification remains blocked.
107- - ** Tests:** the fresh Release tree registers 181 tests. All passed in two
107+ - ** Tests:** the fresh Release tree registers 181 tests. All passed again after
108+ the current Phase 13 slices in two
108109 disjoint groups: 147/147 non-render tests and 34/34 render-labelled tests
109110 under Xvfb (with local loopback/X11 socket access). SVG-specific
110111 verification passes with ` -j4 ` : external and inline SVG export to glTF PNGs,
@@ -170,7 +171,7 @@ before when explicitly requested (`SYS-W14-##` rows).
170171 by application/UI ownership, and is extracting UI presentation through
171172 narrow contexts. Validation, Registry results, Toolbar controls, Properties
172173 delegation, and the View-menu directions/focus/overlays/panels/
173- Camera-Bookmarks/Walk-Mode presentation, plus the Add/CSG and Help menu
174+ Camera-Bookmarks/Walk-Mode/Bloom-SSAO presentation, plus the Add/CSG and Help menu
174175 presentation and the Edit-history, clipboard, object-action, and
175176 selection-action groups, the Select-by-Type/Tag/Material, Align-Selection,
176177 Distribute-Selection, and Mirror-Selection submenus, and the Copy-Properties,
@@ -191,6 +192,17 @@ before when explicitly requested (`SYS-W14-##` rows).
191192 --target MeshCraft` and ` ctest --test-dir b-release -R '^mc3_commands$'
192193 --output-on-failure` passed; the latter already exercises recent-files'
193194 load, save, MRU de-duplication, cap, and restart round-trip contract.
195+ - ** Recently implemented (2026-07-25):** ` SYS-W3-01 ` Phase 13 moved the
196+ ` View → Bloom/SSAO ` controls into ` Application::UI::MenuBar ` through
197+ ` ViewPostProcessingContext ` . It receives the application-computed
198+ ShaderEffect-capability gate and value snapshots, then reports changes only
199+ through five setters; renderer capability checks and all post-processing
200+ state remain application-owned. The supported/unsupported presentation,
201+ labels, slider ranges, 140px widths, and ` AlwaysClamp ` safety guards are
202+ unchanged. ` CCACHE_DISABLE=1 cmake --build b-release -j4 --target MeshCraft `
203+ and the Xvfb-hosted ` bloom_test ` render regression passed. The test-hook
204+ comments now also correctly state that ` MESHCRAFT_TEST_FORCE_POSTFX ` forces
205+ only Bloom; SSAO has its own ` MESHCRAFT_TEST_FORCE_SSAO ` hook.
194206- ** Recently implemented (2026-07-20 through 2026-07-25):** all 7
195207 raw-OpenGL(ES)-vs-CNA migrations, ` AUD-082 ` through ` AUD-088 ` — full
196208 detail with file: line evidence and
@@ -792,9 +804,9 @@ git stash pop && cmake --build b-release -j4 --target <affected-target>
792804No actionable follow-up audit task remains: ` AUD-089 ` through ` AUD-091 ` are
793805complete, while Android (` AUD-042 ` ) is environment/owner deferred.
794806` SYS-W3-01 ` has 12 completed subsystem phases and an active Phase 13 for
795- application/UI ownership. The authorized Camera Bookmarks, Walk Mode, Help,
796- Add/CSG, Edit-history, Edit-clipboard, and Edit-object-actions menu slices are
797- implemented and verified, together with Edit-selection-actions,
807+ application/UI ownership. The authorized Camera Bookmarks, Walk Mode, View
808+ Bloom/SSAO, Help, Add/CSG, Edit-history, Edit-clipboard, and Edit-object-actions
809+ menu slices are implemented and verified, together with Edit-selection-actions,
798810Edit-select-by-type/tag/material, Edit-copy-properties, Edit-grouping,
799811Edit-convert-to-definition, Edit-export-subtree, Edit-break-instance,
800812Edit-align-selection, Edit-distribute-selection, Edit-drop-to-ground,
@@ -1009,6 +1021,11 @@ pending-action state, dialog buffers and state, file loading, document
10091021replacement, selection and undo initialization, title and status updates, error
10101022handling, and the Ctrl+O keyboard route remain in their existing owners;
10111023` MenuBar ` owns only the unchanged label, shortcut, and click dispatch.
1024+ ` ViewPostProcessingContext ` exposes only the application-computed text-shader
1025+ capability, Bloom/SSAO value snapshots, and setters. The application retains
1026+ the capability check, effect state, CNA targets/effects, and rendering; the UI
1027+ component preserves the supported/unsupported text, labels, ranges, widths,
1028+ ` AlwaysClamp ` flags, and callback dispatch.
10121029` FileOpenRecentContext ` exposes only current availability, a lazy recent-files
10131030provider, one open callback, and one clear callback. Recent-file storage and
10141031persistence, unsaved-change handling, pending-action state, file loading,
@@ -1027,13 +1044,8 @@ The sequence below is planning only. Per `CLAUDE.md`, each item must be
10271044described and explicitly confirmed immediately before implementation; finishing
10281045one item does not authorize the next.
10291046
1030- 1 . ** View → Bloom/SSAO controls.** Audit and extract only the text-shader
1031- effects block, including its supported and unsupported presentation. Preserve
1032- the conditional controls, labels, slider ranges, ` AlwaysClamp ` flags, and
1033- existing state changes; renderer-capability checks and effect state remain
1034- application-owned.
1035- 2 . ** Post-menu boundary audit.** Once the remaining File and View blocks are
1036- complete, identify one new narrow presentation boundary before changing
1047+ 1 . ** Post-menu boundary audit.** The remaining File and View blocks are
1048+ complete; identify one new narrow presentation boundary before changing
10371049 ` MeshCraftApplication ` . Do not start a broad application refactor.
10381050
10391051### Tracked work that is not implementation-ready
0 commit comments