Files
wechat-minigame/docs/superpowers/plans/2026-03-29-gift-zone-cityteam-mashup.md
2026-03-29 00:49:03 +08:00

2.7 KiB

Gift Zone CityTeam Mashup Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Add the MVP cat album and local cityTeam entry flow, then wire the mashup home tile into a playable standalone round with local rewards.

Architecture: Extend the existing contentSystem and scene-store contracts instead of refactoring core navigation. Reuse the current gameplay session for mashup by feeding it generated board metadata and handling mashup completion in a separate local reward path.

Tech Stack: ES modules, Node test runner, WeChat mini-game canvas shell


Task 1: Docs And Data Contracts

Files:

  • Create: docs/superpowers/specs/2026-03-29-gift-zone-cityteam-mashup-design.md

  • Create: docs/superpowers/plans/2026-03-29-gift-zone-cityteam-mashup.md

  • Modify: js/content/index.js

  • Define the MVP cat album contract in contentSystem

  • Keep animals and maps out of scope

  • Add any helper projections needed for cityTeam and mashup

Task 2: Gift Zone And CityTeam

Files:

  • Modify: tests/content-system.test.js

  • Modify: tests/scene-store.test.js

  • Modify: js/content/index.js

  • Modify: js/ui/scene-store.js

  • Modify: js/main.js

  • Write failing tests for cats album visibility and counts

  • Write failing tests for cityTeam selection flow

  • Implement cats album projections with existing city cat data

  • Implement city-team-select scene and local selection writeback

  • Render cityTeam status and entry buttons in the canvas UI

  • Re-run targeted tests until green

Task 3: Mashup Gameplay

Files:

  • Modify: tests/difficulty-generator.test.js

  • Modify: tests/scene-store.test.js

  • Modify: js/gameplay/difficulty/generate-board.js

  • Create: js/gameplay/difficulty/generate-mashup-board.js

  • Modify: js/gameplay/difficulty/index.js

  • Modify: js/gameplay/session/index.js

  • Modify: js/ui/scene-store.js

  • Modify: js/main.js

  • Write failing tests for mashup board generation

  • Write failing tests for mashup scene entry and reward writeback

  • Implement mashup board builder from unlocked city content

  • Implement mashup scene/session creation in scene-store

  • Implement mashup win reward path and result messaging

  • Re-run targeted tests until green

Task 4: Full Verification

Files:

  • Modify: tests/* as needed

  • Modify: js/* as needed

  • Run the full test suite with npm test

  • Verify no unrelated placeholders were implemented

  • Summarize remaining placeholder areas in the final report