Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer, web workflow engine and protocol, tooling, docs and task records. Large generated evidence, user-testing archives, build snapshots and imported test assets remain untracked. Co-Authored-By: Claude Code <noreply@anthropic.com>
37 lines
1.9 KiB
Markdown
37 lines
1.9 KiB
Markdown
# WBV2-P1118-000: UI input interaction module
|
|
|
|
- task: `WBV2-P1118-000`
|
|
- parent: `WBV2-P1117-000`
|
|
- status: `in_progress`
|
|
- gap: `workflow:module_ui_input_interaction`
|
|
- ownerFamily: `EDITOR`
|
|
- targetImplementationClass: `LOCAL_BOUNDED`
|
|
|
|
## 目标
|
|
|
|
按功能模块验证 keyboard-only 用户操作、Main mutation/save/reopen、project action mutex、IME/pointer state 和部署 CSP 下的响应式 UI。
|
|
|
|
## 输入与范围
|
|
|
|
- App/CSP CSS entry: `web/app/index.html`, `web/app/src/app/App.tsx`, `web/app/src/app/app-shell.css`
|
|
- Worker: `web/app/src/workers/web-engine.worker.ts`
|
|
- Protocol: `web/protocol/user-action-state.ts`, `web/protocol/project-action-mutex.ts`, `web/protocol/ime-composition.ts`, `web/protocol/input-modal.ts`, `web/protocol/pointer-contract.ts`, `web/protocol/worker-fault.ts`
|
|
- Unit contracts: `web/tests/unit/user-action-state.test.mjs`, `web/tests/unit/project-action-mutex.test.mjs`, `web/tests/unit/ime-composition.test.mjs`, `web/tests/unit/input-modal.test.mjs`, `web/tests/unit/pointer-contract.test.mjs`
|
|
|
|
## 验收
|
|
|
|
```bash
|
|
node --test web/tests/unit/user-action-state.test.mjs web/tests/unit/project-action-mutex.test.mjs web/tests/unit/ime-composition.test.mjs web/tests/unit/input-modal.test.mjs web/tests/unit/pointer-contract.test.mjs
|
|
npm --prefix web run test:e2e -- --workers=1 tests/e2e/user-action-state.spec.ts tests/e2e/project-action-mutex.spec.ts tests/e2e/keyboard-accessibility.spec.ts tests/e2e/responsive-layout.spec.ts
|
|
npm --prefix web run typecheck
|
|
```
|
|
|
|
必须记录 keyboard-only Add Cube/save/reopen/GLB export 正例、mutex/IME/pointer cancel 负例、worker/recovery、CSP-safe external CSS、desktop/mobile layout 和 Chromium。UI 交互切片不宣称完整编辑器 parity。
|
|
|
|
## 交付与回滚
|
|
|
|
- Receipt: `tests/golden/WBV2-P1118-000/module-receipt.json`
|
|
- Manifest: `tests/golden/WBV2-P1118-000/manifest.json`
|
|
- Status: `docs/status/WBV2-P1118-000.md`
|
|
- 回滚:恢复 P1117 manifest 为 queue parent。
|