|
20 | 20 | - AceDB bootstrap/runtime migration is now complete for supported SavedVariables paths; one-way versioned legacy cutovers are in place with guarded legacy creation and post-migration cleanup to avoid stale duplicate persistence. |
21 | 21 | - **Milestone 7 (Minimap/options integration):** Completed. |
22 | 22 | - Minimap hide/angle, global frame strata, options timers/throttle, Spec dropdown positions, Hunter/Shaman quick-bar positions, Hunter pet stance state and Shaman totem choice state now run through AceDB-backed helpers with one-way versioned legacy cutover and guarded legacy fallback (no legacy table creation on pure read paths). |
23 | | -- **Milestone 8 (AceGUI UI refactor):** Not started. |
| 23 | +- **Milestone 8 (AceGUI UI refactor):** Planned (next). |
| 24 | + - Replace legacy frame construction screen-by-screen with AceGUI containers/widgets while preserving behavior and slash/open flows. |
| 25 | +- **Milestone 9 (Localization and text pipeline):** Planned. |
| 26 | + - Consolidate user-facing strings into AceLocale tables and remove duplicated inline literals where feasible. |
| 27 | +- **Milestone 10 (Data model and table lifecycle hardening):** Planned. |
| 28 | + - Normalize runtime stores and remove ad-hoc table creation paths via centralized getters/validators. |
| 29 | +- **Milestone 11 (Scheduler/timers convergence):** Planned. |
| 30 | + - Route scattered timers/OnUpdate loops to a constrained scheduler strategy (AceTimer where appropriate, existing loops retained when safer). |
| 31 | +- **Milestone 12 (Observability, diagnostics and perf guardrails):** Planned. |
| 32 | + - Add lightweight debug/perf toggles and migration diagnostics to validate behavior without chat spam. |
| 33 | +- **Milestone 13 (Release hardening and deprecation window close):** Planned. |
| 34 | + - Close migration fallback window, document upgrade path, and freeze compatibility guarantees for release. |
24 | 35 |
|
25 | 36 | --- |
26 | 37 |
|
|
91 | 102 | 2. Keep data/control flow equivalent for each migrated screen. |
92 | 103 | 3. Avoid big-bang rewrites. |
93 | 104 |
|
| 105 | +## Phase D — Full ACE3 expansion plan (post-M7) |
| 106 | + |
| 107 | +### D1. Milestone 8 — AceGUI UI refactor |
| 108 | +1. Pick one UI domain per PR (Options, Class, Quest, Raidus auxiliary panes, etc.). |
| 109 | +2. Keep slash commands and open/close behavior unchanged. |
| 110 | +3. Reuse existing persistence helpers (no duplicate save logic). |
| 111 | + |
| 112 | +**Exit criteria** |
| 113 | +- Legacy frame templates are removed only for migrated screens. |
| 114 | +- Each migrated screen reaches behavior parity before moving to the next one. |
| 115 | + |
| 116 | +### D2. Milestone 9 — Localization and text pipeline |
| 117 | +1. Inventory all user-facing strings in `Core/`, `UI/`, `Features/`. |
| 118 | +2. Route strings through locale tables (AceLocale integration when feasible with current packaging). |
| 119 | +3. Preserve fallback locale behavior and avoid nil-text regressions. |
| 120 | + |
| 121 | +**Exit criteria** |
| 122 | +- New/edited UI text no longer ships as hardcoded literals outside locale tables. |
| 123 | +- Missing keys fail gracefully with deterministic fallback. |
| 124 | + |
| 125 | +### D3. Milestone 10 — Data model and table lifecycle hardening |
| 126 | +1. Centralize table accessors for high-churn stores (`profile.ui`, runtime bot stores, quick UI caches). |
| 127 | +2. Remove duplicate validators and one-off table bootstrap snippets. |
| 128 | +3. Enforce read-only accessors that do not create tables unless explicitly requested. |
| 129 | + |
| 130 | +**Exit criteria** |
| 131 | +- No uncontrolled table creation on read paths in targeted modules. |
| 132 | +- Store normalization helpers are reused across modules. |
| 133 | + |
| 134 | +### D4. Milestone 11 — Scheduler/timers convergence |
| 135 | +1. Inventory `OnUpdate`, elapsed counters, delayed whisper/refresh loops. |
| 136 | +2. Migrate safe candidates to a centralized scheduler strategy (AceTimer where applicable). |
| 137 | +3. Keep ultra-hot paths local if conversion adds risk/regression. |
| 138 | + |
| 139 | +**Exit criteria** |
| 140 | +- Timer responsibilities are documented and mapped to one owner per feature. |
| 141 | +- Duplicate periodic loops are reduced without behavior drift. |
| 142 | + |
| 143 | +### D5. Milestone 12 — Observability and performance guardrails |
| 144 | +1. Add structured debug toggles (off by default) for migration/state transitions. |
| 145 | +2. Add lightweight perf counters around roster refresh and high-frequency handlers. |
| 146 | +3. Gate diagnostics to avoid chat spam and runtime overhead in normal mode. |
| 147 | + |
| 148 | +**Exit criteria** |
| 149 | +- Debug instrumentation can be enabled per subsystem. |
| 150 | +- No measurable baseline degradation with diagnostics disabled. |
| 151 | + |
| 152 | +### D6. Milestone 13 — Release hardening and migration window close |
| 153 | +1. Define deprecation policy for remaining legacy fallback paths. |
| 154 | +2. Add final upgrade notes and rollback instructions. |
| 155 | +3. Freeze scope and run full pre-release checklist. |
| 156 | + |
94 | 157 | **Exit criteria** |
95 | | -- Screen-by-screen functional parity before moving forward. |
| 158 | +- Fallback window closure is documented and predictable. |
| 159 | +- Release notes reflect final compatibility contract. |
96 | 160 |
|
97 | 161 | --- |
98 | 162 |
|
|
105 | 169 | 5. Legacy -> AceDB one-way migration. |
106 | 170 | 6. Runtime switch to AceDB. |
107 | 171 | 7. Minimap/options persistence finalization. |
108 | | -8. Optional per-screen AceGUI refactor. |
| 172 | +8. Milestone 8 (AceGUI screen-by-screen). |
| 173 | +9. Milestone 9 (localization pipeline). |
| 174 | +10. Milestone 10 (data model hardening). |
| 175 | +11. Milestone 11 (timer convergence). |
| 176 | +12. Milestone 12 (observability/perf guardrails). |
| 177 | +13. Milestone 13 (release hardening). |
109 | 178 |
|
110 | 179 | --- |
111 | 180 |
|
|
0 commit comments