Skip to content

Feature wave: mastery, transfers, CLI, undo, PWA, classroom - #11

Merged
cozyGarage merged 2 commits into
mainfrom
cursor/feature-wave-all-2863
Jul 27, 2026
Merged

Feature wave: mastery, transfers, CLI, undo, PWA, classroom#11
cozyGarage merged 2 commits into
mainfrom
cursor/feature-wave-all-2863

Conversation

@cozyGarage

Copy link
Copy Markdown
Owner

Summary

Implements the full next-wave roadmap as MVPs:

  1. Concept mastery map on home
  2. Transfer variants for cleared stages (m1/m11/m13/m19)
  3. CLI-lite in the config panel
  4. Incident-style briefs for challenge/boss
  5. Undo + cable history
  6. Rack zoom/pan
  7. Debrief path compare
  8. RTL component tests (TipBar, Onboarding)
  9. PWA via vite-plugin-pwa
  10. Local analytics queue
  11. Shareable sandbox URLs (#lab=…)
  12. Classroom codes + downloadable handout

Test plan

  • npm run typecheck
  • npm test (129)
  • npm run build (PWA SW generated)
  • Playwright: feature wave + polish/home/m1/sandbox smoke

Trung Nguyen added 2 commits July 27, 2026 21:57
… zoom/pan, classroom, sandbox share

- MissionList: concept mastery map panel, transfer variant cards after cleared missions, classroom code/handout panel
- MissionBrief: incident-report callout for challenge/boss modes (symptom + impact)
- Debrief: pathCompare prop + Compare your path section (summary, missing, extra)
- TipBar: onUndo/canUndo button, cableLog history chips (last 4)
- ConfigPanel: CLI-lite block with parseCliCommand → onDispatchIntent; onDispatchIntent prop
- RackView: zoom/pan (scale 0.6–2, tx/ty), wheel-to-zoom-toward-pointer, background pointer-drag pan, rack-zoom-controls (−/+/↺), onUndo/canUndo/cableLog/onShareLab/onDispatchIntent props
- App: analytics track() on app_open/mission_start/mission_complete/undo/pace_change/sandbox_share/sandbox_import/classroom_unlock/cli_command/transfer_start; undoStack (max 25) push on every apply(), clear on startMission; cableLog from CONNECTED/DISCONNECTED/LINK_UP tips (max 8); readShareHash on mount → LOAD_RACK sandbox; pathCompare on complete; handleClassroomCode/handleDownloadHandout/handleShareLab/dispatchIntent wired
- app.css: .concept-map/.concept-row/.concept-level, .incident-report/.incident-kicker, .path-compare, .cable-log/.cable-log-chip, .cli-lite/.cli-input/.cli-feedback, .transfer-card, .classroom-panel, .rack-zoom-controls
- vite.config.ts: VitePWA (registerType autoUpdate, manifest colours), test include src/**/*.{test,spec}.{ts,tsx}
- src/test/setup.ts: import @testing-library/jest-dom/vitest
- src/ui/TipBar.test.tsx: armed chip / undo button / cable log render tests
- src/ui/Onboarding.test.tsx: skip button / closed / step title render tests
Add concept mastery map, transfer variants, incident briefs, CLI-lite,
undo/cable history, rack zoom/pan, path compare, shareable sandbox URLs,
classroom codes/handout, local analytics, PWA service worker, and RTL
component tests.
@cozyGarage
cozyGarage merged commit d5aa597 into main Jul 27, 2026
@cozyGarage
cozyGarage deleted the cursor/feature-wave-all-2863 branch July 27, 2026 22:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant