feat: simplify AI design for young creators
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
# Task: Implement youth-facing AI Design experience
|
||||
|
||||
## Identity
|
||||
|
||||
- Task ID: 20260902-design-youth-client-7c5e3a82
|
||||
- Mode: Feature
|
||||
- Branch: codex/20260902-design-youth-client-7c5e3a82-design-youth-client
|
||||
- Worktree: D:\Datas\OthersProjects\makelore-design-youth-client-7c5e3a82
|
||||
- Base commit: 841273b43354b2237a52a7081a9fceb647ef4e3f
|
||||
- Owner: codex-root
|
||||
- Status: Ready for integration
|
||||
|
||||
## Scope
|
||||
|
||||
- Replace the default comprehensive AI Design form with conversation plus a compact
|
||||
“我的创作” Creation Card projected from the canonical Current Specification.
|
||||
- Add a reviewed A/B/C field-presentation catalog, pure youth projection, contextual
|
||||
“精细调整” controls, responsive desktop/mobile composition, and youth-facing
|
||||
conversation/Quote/Task/result copy.
|
||||
- Reuse the existing V2 typed reducer, Quote confirmation, Task/Asset reconciliation,
|
||||
upload and local-draft behavior; do not add another state store or API contract.
|
||||
|
||||
## Intent And Constraints
|
||||
|
||||
- One understandable default serves creators aged 8-16; there are no age or expert
|
||||
modes. Advanced control is contextual progressive disclosure.
|
||||
- Conversation is the default mobile surface. Desktop gives conversation visual
|
||||
priority and keeps the concise Creation Card visible.
|
||||
- Direct choices use existing typed semantic commands and never synthesize chat
|
||||
turns. Readiness is derived from concrete blockers/questions, not field counts.
|
||||
- Preserve Main ownership of Works credentials and V2 transport, Chinese-only UI,
|
||||
existing light visual language, 44 px targets, keyboard focus and reduced motion.
|
||||
- No database/DTO change, second brief/store, compatibility layer, broad redesign,
|
||||
package, deployment, publication, push or paid generation is in scope.
|
||||
|
||||
## Concurrent Task Gate
|
||||
|
||||
- Task ID: `20260902-design-youth-client-7c5e3a82`
|
||||
- Mode: Feature
|
||||
- Branch/worktree: `codex/20260902-design-youth-client-7c5e3a82-design-youth-client` /
|
||||
`D:\Datas\OthersProjects\makelore-design-youth-client-7c5e3a82`
|
||||
- Base commit: `841273b43354b2237a52a7081a9fceb647ef4e3f`
|
||||
- Ownership result: Isolated and claimed by `codex-root`.
|
||||
- Other active work: Model Tools owns a separate integration worktree and Plugin/Pi
|
||||
files; it does not own the ImageCanvas Design surface.
|
||||
- Gate result: Passed.
|
||||
|
||||
## Project Context Loaded
|
||||
|
||||
- Read the startup memory set, current state, architecture, business rules, success
|
||||
criteria, ADR-007, commitments, peer task scope, and the accepted youth
|
||||
experience/implementation specifications.
|
||||
- The Current Specification remains the single semantic authority; Renderer drafts,
|
||||
Task events and assistant deltas cannot become Creation Card truth.
|
||||
- The UI reference library reinforced progressive disclosure and accessibility; its
|
||||
parallax/dark-mode direction was rejected as inconsistent with MakeLore.
|
||||
- Planning Gate result: Passed.
|
||||
|
||||
## Outcome
|
||||
|
||||
- Replaced the default professional field matrix with a conversation-first AI Design
|
||||
surface and one compact “我的创作” card. The card is a pure projection of the
|
||||
canonical Workspace Specification, Quote, Task and Asset state; the existing V2
|
||||
reducer and typed commands remain the only write path.
|
||||
- Added an exhaustive A/B/C presentation catalog for every current Specification
|
||||
field, one active creative choice with an additional “你帮我选” option, contextual
|
||||
“精细调整”, and a responsive single-mounted card that becomes a mobile bottom
|
||||
sheet at narrow widths.
|
||||
- Reworded conversation, Quote, Task, recovery and result states for creators aged
|
||||
8–16. Compiler and Provider issue messages now cross a code-based youth-copy
|
||||
boundary with safe unknown fallbacks, so raw English or technical messages are
|
||||
not rendered in the youth UI.
|
||||
- Kept video story editing on stable canonical Shot identities. The drawer supports
|
||||
the server contract of up to 24 Shots and preserves timing, camera, framing,
|
||||
motion, focus and transition data while a creator edits only a story beat.
|
||||
- Bound transient Quote blockers to the canonical Specification revision: same-
|
||||
revision refreshes preserve useful feedback, while a successful semantic change
|
||||
clears stale blockers and enables a fresh Quote check. A terminal
|
||||
`design_quote_blocked` response or event also settles its pending operation, so an
|
||||
old Quote request cannot remain as a misleading “unknown” recovery action.
|
||||
- No database migration, public DTO/API change, compatibility layer, second semantic
|
||||
store, Provider activation or paid generation was added.
|
||||
|
||||
## Verification
|
||||
|
||||
- `pnpm exec vitest run tests/unit/youth-form-projection.test.ts tests/unit/youth-creation-card.test.tsx tests/unit/youth-issue-copy.test.ts tests/unit/fine-tune-drawer.test.tsx tests/unit/image-workspace-store.test.ts tests/unit/image-canvas-page.test.tsx` — 40 passed, including terminal Quote-blocked settlement, blocked-event recovery into a revised Quote, 24-Shot preservation, and explicit deletion of a cleared Shot.
|
||||
- Broad client suite — 1802 passed and 2 skipped; two Electron binary-preparation
|
||||
cases initially reported transient Windows `spawn EBUSY`, then their focused
|
||||
rerun passed 3/3. The separate pressure suite passed 1/1.
|
||||
- `pnpm exec tsc --noEmit` — passed.
|
||||
- Scoped ESLint over every changed/new source and test file — passed.
|
||||
- `pnpm run build:vite` — passed; only pre-existing chunk-size and mixed static/
|
||||
dynamic import warnings were reported.
|
||||
- `pnpm exec playwright test tests/e2e/image-workspace-v2.spec.ts` — 2 passed,
|
||||
covering 375 px, 768 px and desktop composition plus direct edit, chat, Quote,
|
||||
confirmation and Task flow.
|
||||
|
||||
## Follow-ups
|
||||
|
||||
- Run moderated usability sessions with creators aged 8–16 after integration.
|
||||
- Paid Provider activation and live paid-generation acceptance remain a separate
|
||||
release gate.
|
||||
|
||||
## Promotion Candidates
|
||||
|
||||
- None. This task implements the already accepted youth Design experience and does
|
||||
not introduce a new canonical architecture or product decision.
|
||||
Reference in New Issue
Block a user