diff --git a/.planning/PROJECT.md b/.planning/PROJECT.md index 0d62a94..e091c8b 100644 --- a/.planning/PROJECT.md +++ b/.planning/PROJECT.md @@ -72,7 +72,7 @@ security boundary. - **Release assets:** Phase 4 is complete. WordPress.org icon, banner, and screenshot graphics exist under `.wordpress-org/` and are referenced from the GitHub/wp.org readmes. User-facing documentation is published in the GitHub README, WordPress.org readme, and `docs/user-guide.md`. - **Localization:** The plugin is translation-ready with the `maestro` text domain and `Domain Path: /languages`. PHP strings use WordPress translation helpers, and JavaScript editor labels are passed through `maestroData.i18n` from PHP. The repo ships a POT template plus starter catalogs for `es_ES`, `de_DE`, `ja`, `fr_FR`, `pt_BR`, and `it_IT`; WordPress.org language packs can still override and extend them, and native-speaker/Polyglots review is welcome. - **Submit:** Phase 5 is complete. The runtime zip builds cleanly, WPCS passes, Plugin Check 2.0.0 reports no errors on the extracted build zip, npm audit reports 0 vulnerabilities after removing unused `@wordpress/scripts`, and local unit/integration/E2E tests pass. **The plugin has been submitted to WordPress.org** and is in the review queue; approval and SVN access are pending (external, out of our hands). On approval: commit to SVN `trunk`, tag `1.0.0`, and upload `.wordpress-org/` to the SVN `assets/` dir. -- **Future roadmap (post-1.0 backlog):** reparenting (top↔sub, highlighting minefield); separator management; keyboard-accessible reordering; per-item-reset UI affordance with a "modified" indicator; custom icon upload (SVG sanitization); import/export config as JSON; optional enforcement bridge (opt-in, clearly-labelled defense-in-depth); multisite/network defaults with per-site override; configurable admin-menu width (V2-09); admin-toolbar editing feasibility research (V2-10); UI/UX design polish for edit-mode hierarchy, responsive behavior, modified-state affordances, status clarity, and icon-picker scanability (V2-12); documentation link hygiene for prose references to project files (V2-13); deterministic banner source/regeneration with the "ADMIN MENU" leader line removed (V2-14). +- **Future roadmap (post-1.0 backlog):** reparenting (top↔sub, highlighting minefield); separator management; keyboard-accessible reordering; per-item-reset UI affordance with a "modified" indicator; custom icon upload (SVG sanitization); import/export config as JSON; optional enforcement bridge (opt-in, clearly-labelled defense-in-depth); multisite/network defaults with per-site override; configurable admin-menu width (V2-09); admin-toolbar editing feasibility research (V2-10); UI/UX design polish for edit-mode hierarchy, responsive behavior, modified-state affordances, status clarity, and icon-picker scanability (V2-12); documentation link hygiene for prose references to project files (V2-13); deterministic banner source/regeneration with the "ADMIN MENU" leader line removed (V2-14); role cloning / per-user cosmetic hiding (V2-15); third-party menu compatibility research, WooCommerce-first (V2-16 — pulled forward to v1.2 Phase 10, 2026-06-19); and a single-site "super-admin equivalent" / privileged editor tier research item (V2-17, 2026-06-19) — note it edges toward the Out-of-Scope "page locking" line, so an *enforced* tier likely belongs in the sibling **wp-sudo** project or a documented bridge, not Maestro core. ## Constraints diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index a0f17ba..236cf3f 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,7 +1,7 @@ # Requirements: Maestro **Defined:** 2026-06-13 -**Last updated:** 2026-06-17 — v1.2 traceability added (UX-03, UX-04, UX-07 → Phase 9) +**Last updated:** 2026-06-19 — V2-16 → Phase 10; V2-17 added; UX-08/UX-09 + BUG-06/07/08 in v1.2 backlog; REL-07/08 → Phase 12. 1.2.0 cuts after Phases 9 → 11 → 12 **Core Value:** Editing the admin menu happens directly on the menu, with zero ceremony and zero risk to access. ## v1.0 Requirements — ✅ shipped & archived @@ -39,8 +39,8 @@ backlog (origin IDs noted). - [x] **DOC-02**: Rewrite the `readme.txt` copy for clarity and discoverability — short description, full description, FAQ, and tags — via the `wp-readme-optimizer` skill. The current copy is functional but flat; the live page reads dry. — **Drafted in PR #28** (awaiting review/merge; ships with next release, Stable tag unchanged). - [x] **DOC-03**: Add the **WordPress Playground demo link** to `readme.txt` (a "Try it first" line in the intro) and the GitHub README, so visitors can trial Maestro before installing. The hosted blueprint already exists (`playground/blueprint-hosted.json`); mirror the Borges pattern (`playground.wordpress.net/?blueprint-url=…`). — **Done in PR #28** (GitHub README already had the link; readme.txt line added). -- [ ] **REL-07**: New/refreshed **banner graphic** — a stronger design iteration on the brand-first banner, regenerated through the existing REL-06 pipeline (`npm run assets:banners`); replace `.wordpress-org/banner-*.png` after visual review. **Primary design goal (2026-06-17):** get the stacked rows of text — the MAESTRO wordmark, the "THE INLINE ADMIN MENU EDITOR" subtitle, and the tagline — **and the gold underline rule to occupy approximately the same horizontal width** (balanced/justified to a common measure), rather than the current mismatched line widths. (Image work deferred — note only.) -- [ ] **REL-08**: **Refreshed screenshots** for the new core-block directory gallery (per the 2026-06-10 meta update) — higher-quality captures with captions that "explain the interface or workflow." Keep the set visually uniform (→ clean grid) or go deliberately mixed (→ masonry); update the `== Screenshots ==` captions to match. +- [ ] **REL-07**: New/refreshed **banner graphic** — a stronger design iteration on the brand-first banner, regenerated through the existing REL-06 pipeline (`npm run assets:banners`); replace `.wordpress-org/banner-*.png` after visual review. **Primary design goal (2026-06-17):** get the stacked rows of text — the MAESTRO wordmark, the "THE INLINE ADMIN MENU EDITOR" subtitle, and the tagline — **and the gold underline rule to occupy approximately the same horizontal width** (balanced/justified to a common measure), rather than the current mismatched line widths. **→ Folded into v1.2 2026-06-19: Phase 12 (Release Assets Refresh)** — was deferred from Phase 8. +- [ ] **REL-08**: **Refreshed screenshots** for the new core-block directory gallery (per the 2026-06-10 meta update) — higher-quality captures with captions that "explain the interface or workflow." Keep the set visually uniform (→ clean grid) or go deliberately mixed (→ masonry); update the `== Screenshots ==` captions to match. **→ Folded into v1.2 2026-06-19: Phase 12**, sequenced after Phases 9 + 11 so captures show the final v1.2 editor UI. ### Defects (triaged 2026-06-16 — wp-sudo thread screenshots) @@ -62,11 +62,21 @@ screenshots 2026-06-16.** Post-1.1 editor UI/UX refinements raised 2026-06-17 from hands-on use of the live editor. Several carry real **accessibility tradeoffs** — flagged inline so the implementation honours them rather than regressing a11y for visual tidiness. Candidate grouping for a small v1.2 "editor polish" milestone. -- [ ] **UX-03**: Replace the verbose idle status text "Editor active — click an item to edit." with a short, glanceable **"Menu Edit Mode"** indicator (green / highlighted). On **first run only**, draw attention to the menu — a brief flash/outline of a menu group, or a short tooltip tour. *a11y:* don't signal mode by colour alone — pair the green with an icon and/or keep the text label (WCAG 1.4.1); any flash/animation must respect `prefers-reduced-motion`; a tooltip tour must be keyboard-operable, focus-managed, dismissible, and screen-reader-announced; gate the first-run cue via localStorage like the existing first-run hint. -- [ ] **UX-04**: Move the rename field's label **inside the input as a placeholder** that clears on focus. *a11y:* a placeholder is NOT an accessible name — keep a programmatic label (visually-hidden `