From 7d989b1612e2cbd2d175a7f644fc9a97e1e42886 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Mon, 16 Mar 2026 11:50:43 +0100 Subject: [PATCH] docs: create milestone v1.2 roadmap (3 phases) --- .planning/REQUIREMENTS.md | 50 +++++++++++++++--------------- .planning/ROADMAP.md | 65 +++++++++++++++++++++++++++++++++++++-- .planning/STATE.md | 29 +++++++++-------- 3 files changed, 105 insertions(+), 39 deletions(-) diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 32902e4..4fca0c0 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,7 +1,7 @@ # Requirements: GearBox v1.2 Collection Power-Ups **Defined:** 2026-03-16 -**Core Value:** Make it effortless to manage gear and plan new purchases — see how a potential buy affects your total setup weight and cost before committing. +**Core Value:** Make it effortless to manage gear and plan new purchases -- see how a potential buy affects your total setup weight and cost before committing. ## v1.2 Requirements @@ -75,13 +75,13 @@ Explicitly excluded. Documented to prevent scope creep. | Feature | Reason | |---------|--------| -| Per-item weight input in multiple units | Parsing complexity, ambiguous storage — display-only conversion is sufficient | +| Per-item weight input in multiple units | Parsing complexity, ambiguous storage -- display-only conversion is sufficient | | Interactive chart drill-down (click to zoom) | Adds significant interaction complexity for minimal value | | Weight goals / targets | Opinionated norms conflict with hobby-agnostic design | | Custom classification labels | base/worn/consumable covers 95% of use cases | | Server-side full-text search | Premature for single-user app with <1000 items | | Classification at item level (not setup level) | Same item has different roles in different setups | -| Status change timestamps | Useful but adds schema complexity — defer | +| Status change timestamps | Useful but adds schema complexity -- defer | ## Traceability @@ -89,31 +89,31 @@ Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| -| SRCH-01 | — | Pending | -| SRCH-02 | — | Pending | -| SRCH-03 | — | Pending | -| SRCH-04 | — | Pending | -| SRCH-05 | — | Pending | -| UNIT-01 | — | Pending | -| UNIT-02 | — | Pending | -| UNIT-03 | — | Pending | -| CLAS-01 | — | Pending | -| CLAS-02 | — | Pending | -| CLAS-03 | — | Pending | -| CLAS-04 | — | Pending | -| VIZZ-01 | — | Pending | -| VIZZ-02 | — | Pending | -| VIZZ-03 | — | Pending | -| CAND-01 | — | Pending | -| CAND-02 | — | Pending | -| CAND-03 | — | Pending | -| PLAN-01 | — | Pending | +| SRCH-01 | Phase 8 | Pending | +| SRCH-02 | Phase 8 | Pending | +| SRCH-03 | Phase 8 | Pending | +| SRCH-04 | Phase 8 | Pending | +| SRCH-05 | Phase 8 | Pending | +| UNIT-01 | Phase 7 | Pending | +| UNIT-02 | Phase 7 | Pending | +| UNIT-03 | Phase 7 | Pending | +| CLAS-01 | Phase 9 | Pending | +| CLAS-02 | Phase 9 | Pending | +| CLAS-03 | Phase 9 | Pending | +| CLAS-04 | Phase 9 | Pending | +| VIZZ-01 | Phase 9 | Pending | +| VIZZ-02 | Phase 9 | Pending | +| VIZZ-03 | Phase 9 | Pending | +| CAND-01 | Phase 8 | Pending | +| CAND-02 | Phase 8 | Pending | +| CAND-03 | Phase 8 | Pending | +| PLAN-01 | Phase 8 | Pending | **Coverage:** - v1.2 requirements: 19 total -- Mapped to phases: 0 -- Unmapped: 19 ⚠️ +- Mapped to phases: 19 +- Unmapped: 0 --- *Requirements defined: 2026-03-16* -*Last updated: 2026-03-16 after initial definition* +*Last updated: 2026-03-16 after roadmap creation* diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 1009ba6..7bc703b 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -2,8 +2,9 @@ ## Milestones -- ✅ **v1.0 MVP** -- Phases 1-3 (shipped 2026-03-15) -- ✅ **v1.1 Fixes & Polish** -- Phases 4-6 (shipped 2026-03-15) +- v1.0 MVP -- Phases 1-3 (shipped 2026-03-15) +- v1.1 Fixes & Polish -- Phases 4-6 (shipped 2026-03-15) +- **v1.2 Collection Power-Ups** -- Phases 7-9 (in progress) ## Phases @@ -25,8 +26,65 @@ +### v1.2 Collection Power-Ups (In Progress) + +**Milestone Goal:** Make core gear management significantly more useful as collections grow -- better search, proper weight classification, richer planning threads. + +- [ ] **Phase 7: Weight Unit Selection** - Users see all weights in their preferred unit across the entire app +- [ ] **Phase 8: Search, Filter, and Candidate Status** - Users can find items quickly and track candidate purchase progress +- [ ] **Phase 9: Weight Classification and Visualization** - Users can classify gear by role and visualize weight distribution in setups + +## Phase Details + +### Phase 7: Weight Unit Selection +**Goal**: Users see all weights in their preferred unit across the entire app +**Depends on**: Nothing (first phase of v1.2) +**Requirements**: UNIT-01, UNIT-02, UNIT-03 +**Success Criteria** (what must be TRUE): + 1. User can select a weight unit (g, oz, lb, kg) from a visible control and the selection persists after closing and reopening the app + 2. Every weight value in the app (item cards, candidate cards, category headers, totals bar, setup details) displays in the selected unit with appropriate precision + 3. Weight input fields accept values and store them correctly regardless of display unit (no rounding drift across edit cycles) +**Plans**: TBD + +Plans: +- [ ] 07-01: TBD +- [ ] 07-02: TBD + +### Phase 8: Search, Filter, and Candidate Status +**Goal**: Users can find items quickly and track candidate purchase progress +**Depends on**: Phase 7 +**Requirements**: SRCH-01, SRCH-02, SRCH-03, SRCH-04, SRCH-05, PLAN-01, CAND-01, CAND-02, CAND-03 +**Success Criteria** (what must be TRUE): + 1. User can type in a search field on the collection page and see items filtered instantly by name as they type + 2. User can select a category from a dropdown (showing Lucide icons alongside names) to filter items in both collection and planning views + 3. User can see how many items match active filters (e.g., "showing 12 of 47 items") and clear all filters with one action + 4. Each candidate in a planning thread displays a status badge (researching, ordered, or arrived) that the user can change by clicking + 5. New candidates automatically start with "researching" status +**Plans**: TBD + +Plans: +- [ ] 08-01: TBD +- [ ] 08-02: TBD + +### Phase 9: Weight Classification and Visualization +**Goal**: Users can classify gear by role and visualize weight distribution in setups +**Depends on**: Phase 7, Phase 8 +**Requirements**: CLAS-01, CLAS-02, CLAS-03, CLAS-04, VIZZ-01, VIZZ-02, VIZZ-03 +**Success Criteria** (what must be TRUE): + 1. User can classify each item within a setup as base weight, worn, or consumable, and the same item can have different classifications in different setups + 2. Setup detail view shows separate weight subtotals for base weight, worn weight, and consumable weight in addition to the overall total + 3. User can view a donut chart in a setup showing weight distribution, and toggle between category breakdown and classification breakdown + 4. User can hover chart segments to see the category/classification name, weight (in selected unit), and percentage +**Plans**: TBD + +Plans: +- [ ] 09-01: TBD +- [ ] 09-02: TBD + ## Progress +**Execution Order:** Phase 7 -> Phase 8 -> Phase 9 + | Phase | Milestone | Plans Complete | Status | Completed | |-------|-----------|----------------|--------|-----------| | 1. Foundation and Collection | v1.0 | 4/4 | Complete | 2026-03-14 | @@ -35,3 +93,6 @@ | 4. Database & Planning Fixes | v1.1 | 2/2 | Complete | 2026-03-15 | | 5. Image Handling | v1.1 | 2/2 | Complete | 2026-03-15 | | 6. Category Icons | v1.1 | 3/3 | Complete | 2026-03-15 | +| 7. Weight Unit Selection | v1.2 | 0/? | Not started | - | +| 8. Search, Filter, and Candidate Status | v1.2 | 0/? | Not started | - | +| 9. Weight Classification and Visualization | v1.2 | 0/? | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index aafcfc1..537c25c 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -2,12 +2,12 @@ gsd_state_version: 1.0 milestone: v1.2 milestone_name: Collection Power-Ups -status: defining_requirements -stopped_at: Defining requirements for v1.2 +status: ready_to_plan +stopped_at: Roadmap created for v1.2 last_updated: "2026-03-16T00:00:00.000Z" -last_activity: 2026-03-16 -- Milestone v1.2 started +last_activity: 2026-03-16 -- Roadmap created with 3 phases (7-9) progress: - total_phases: 0 + total_phases: 3 completed_phases: 0 total_plans: 0 completed_plans: 0 @@ -21,14 +21,14 @@ progress: See: .planning/PROJECT.md (updated 2026-03-16) **Core value:** Make it effortless to manage gear and plan new purchases -- see how a potential buy affects your total setup weight and cost before committing. -**Current focus:** v1.2 Collection Power-Ups +**Current focus:** Phase 7 - Weight Unit Selection ## Current Position -Phase: Not started (defining requirements) -Plan: — -Status: Defining requirements -Last activity: 2026-03-16 — Milestone v1.2 started +Phase: 7 of 9 (Weight Unit Selection) +Plan: -- +Status: Ready to plan +Last activity: 2026-03-16 -- Roadmap created for v1.2 Progress: [░░░░░░░░░░] 0% @@ -36,11 +36,16 @@ Progress: [░░░░░░░░░░] 0% ### Decisions -(Full decision log archived in PROJECT.md Key Decisions table) +(Full decision log in PROJECT.md Key Decisions table) + +- Coarse granularity: 19 requirements compressed into 3 phases (7-9) +- Weight unit selection must be Phase 7 (formatWeight refactor touches all weight displays) +- Classification belongs on setup_items join table, NOT items table +- Candidate status and classification schema migrations in separate phases (sequential) ### Pending Todos -- Replace planning category filter select with icon-aware dropdown (ui) — folded into v1.2 +- Replace planning category filter select with icon-aware dropdown (ui) -- covered by PLAN-01 in Phase 8 ### Blockers/Concerns @@ -49,5 +54,5 @@ None active. ## Session Continuity Last session: 2026-03-16T00:00:00.000Z -Stopped at: Defining requirements for v1.2 +Stopped at: Roadmap created for v1.2 Resume file: None