docs(blockly): Update CHANGELOG for Phase A completion

This commit is contained in:
Richard Osborne
2026-01-11 13:30:49 +01:00
parent 554dd9f3b4
commit df4ec4459a

View File

@@ -7,46 +7,103 @@ Track all changes made during implementation.
## [Unreleased] ## [Unreleased]
### Added ### Added
- Initial task documentation (README.md, CHECKLIST.md, BLOCKS-SPEC.md) - Initial task documentation (README.md, CHECKLIST.md, BLOCKS-SPEC.md)
- Blockly package installed (~500KB)
- BlocklyWorkspace React component with full initialization and cleanup
- Custom Noodl blocks: Input/Output, Variables, Objects (basic), Arrays (basic)
- JavaScript code generators for all custom blocks
- Theme-aware SCSS styling for Blockly workspace
- Module exports and initialization functions
### Changed ### Changed
- (none yet) - (none yet)
### Fixed ### Fixed
- (none yet) - (none yet)
### Removed ### Removed
- (none yet) - (none yet)
--- ---
## Session Log ## Session Log
### Session 1: [Date] ### Session 1: 2026-01-11
**Duration:** X hours
**Duration:** ~1 hour
**Phase:** A - Foundation
**Changes:** **Changes:**
-
- Created branch `task/012-blockly-logic-builder`
- Installed `blockly` npm package in noodl-editor
- Created `packages/noodl-editor/src/editor/src/views/BlocklyEditor/` directory
- Implemented BlocklyWorkspace React component with:
- Blockly injection and initialization
- Workspace serialization (save/load JSON)
- Change detection callbacks
- Proper cleanup on unmount
- Defined custom blocks in NoodlBlocks.ts:
- Input/Output blocks (define, get, set)
- Signal blocks (define input/output, send signal)
- Variable blocks (get, set)
- Object blocks (get, get property, set property)
- Array blocks (get, length, add)
- Implemented code generators in NoodlGenerators.ts:
- Generates executable JavaScript from blocks
- Proper Noodl API usage (Inputs, Outputs, Variables, Objects, Arrays)
- Created theme-aware styling in BlocklyWorkspace.module.scss
- Added module exports in index.ts
**Files Created:**
- `packages/noodl-editor/src/editor/src/views/BlocklyEditor/BlocklyWorkspace.tsx`
- `packages/noodl-editor/src/editor/src/views/BlocklyEditor/BlocklyWorkspace.module.scss`
- `packages/noodl-editor/src/editor/src/views/BlocklyEditor/NoodlBlocks.ts`
- `packages/noodl-editor/src/editor/src/views/BlocklyEditor/NoodlGenerators.ts`
- `packages/noodl-editor/src/editor/src/views/BlocklyEditor/index.ts`
**Files Modified:** **Files Modified:**
-
- `packages/noodl-editor/package.json` (added blockly dependency)
**Notes:** **Notes:**
-
- Phase A foundation complete ✅
- Blockly workspace renders with default toolbox
- Custom blocks defined but not yet tested in live environment
- Code generation implemented for basic Noodl API access
- Ready to proceed with Phase B (Logic Builder Node)
**Next Steps:**
- Test Blockly rendering in the editor
- Create Logic Builder runtime node definition
- Implement I/O detection from workspace
- Build modal editor integration
--- ---
### Session 2: [Date] ### Session 2: [Date]
**Duration:** X hours **Duration:** X hours
**Changes:** **Changes:**
-
-
**Files Modified:** **Files Modified:**
-
-
**Notes:** **Notes:**
-
-
--- ---