Skip to content

[codex] Implement Epic 6 Blockly editor#17

Merged
PilHliP211 merged 3 commits into
mainfrom
codex/epic-6-implementation
Apr 16, 2026
Merged

[codex] Implement Epic 6 Blockly editor#17
PilHliP211 merged 3 commits into
mainfrom
codex/epic-6-implementation

Conversation

@PilHliP211
Copy link
Copy Markdown
Owner

Summary

Implements Epic 6: the Blockly-powered block editor foundation for CodeQuest.

  • Adds pinned blockly@12.5.1 and Vite dependency optimization.
  • Adds BlockEditor, RunButton, block registration, toolbox generation, and CodeQuest Blockly theme modules under src/editor/.
  • Adds focused unit/component tests for registry behavior, toolbox filtering, run button state, code generation, and workspace serialization.
  • Applies Blockly pixel rendering CSS and limits Vitest discovery to src/ tests so local worktree copies are not collected.
  • Marks all Epic 6 story checklists complete in docs/stories/E-06/.

Notes

Manual browser smoke testing caught a Blockly 12 runtime issue: blocks cannot define both colour and style. The registry now strips the content-pack colour field when applying category styles so the toolbox categories and blocks render correctly.

Validation

  • ESLint passed under Node 22.
  • tsc --noEmit passed under Node 22.
  • Vitest passed under Node 22: 18 files, 96 tests.
  • Prettier check passed.
  • Vite production build passed.
  • Temporary Chrome/Playwright smoke test verified categories render, a block can be dragged into the workspace, Run generates moveEast(), and workspace state serializes.

Environment

The repo requires Node 22. The default shell Node 20 environment hit a jsdom ESM boundary, so full validation was run with Node v22.22.2.

@PilHliP211 PilHliP211 marked this pull request as ready for review April 16, 2026 03:07
@PilHliP211 PilHliP211 merged commit a33548a into main Apr 16, 2026
1 check passed
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