feat(playtest): support four and eight way directional assets - #368
feat(playtest): support four and eight way directional assets#368xyh202131 wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
9b3a953 to
9f82af8
Compare
9f82af8 to
8eb727f
Compare
8eb727f to
816649a
Compare
|
@fennoai /review |
Review submittedReviewed the fixed range
|
|
@fennoai /review 提出阻塞合并的问题 |
Review submitted已审查固定提交范围
验证:Playtest model/runtime 聚焦测试 |
4728e6b to
4398a62
Compare
|
/review |
|
/review |
|
An internal error occurred. Please try again later. |
06a53b5 to
a534bad
Compare
|
/review |
There was a problem hiding this comment.
Reviewed the directional character contract, entity mapping, playtest model, bindings, runtime movement/facing, stage rendering, and the accompanying backend/frontend tests. The runtime correctly handles directional-only assets, but the default action-binding path still assumes top-level legacy frames, so directional jump/crouch actions can be present yet unreachable from Space/Shift. Targeted test execution was attempted, but the checked-in frontend/node_modules/.bin/vitest is not executable in this workspace (Permission denied).
| actions: readonly PlaytestAction[], | ||
| predicate: (action: PlaytestAction) => boolean, | ||
| ) { | ||
| return actions.find((action) => action.frames.length > 0 && predicate(action)) |
There was a problem hiding this comment.
[P1] Bind directional-only jump and crouch actions
The playtest model intentionally leaves PlaytestAction.frames empty when an action has only directional source sequences such as north, while hasFrames/playbackForFacing correctly treat those sequences as playable. However, findAction only checks action.frames.length, so createDefaultActionBindings returns null for a directional-only jump or crouch action. The workbench then disables Space/Shift and the action cannot be triggered through the advertised default key bindings; use the same playable-frame predicate as the runtime (for example, check action.frames or any action.sequences playback) and add a regression test.
Summary
Scope
This PR contains only the Character direction contract required by Playtest and
frontend/src/pages/playtest/**. Directional asset generation, Workflow Controller, Quick Start, Workflow Editor, and export changes are intentionally split into a separate PR.Validation
npm run typechecknpm run lintworkflow-editor-route.test.tsxexceeded its existing 5-second timeoutCloses #224
Closes #367
Refs #222