38 lines
997 B
Markdown
38 lines
997 B
Markdown
---
|
|
id: task-2
|
|
title: 'Phase 1: FolkJS Foundation - Port Simple Shapes'
|
|
status: To Do
|
|
assignee: []
|
|
created_date: '2026-01-02 14:42'
|
|
labels:
|
|
- foundation
|
|
- migration
|
|
- shapes
|
|
dependencies: []
|
|
priority: high
|
|
---
|
|
|
|
## Description
|
|
|
|
<!-- SECTION:DESCRIPTION:BEGIN -->
|
|
Port the 4 simplest shapes from canvas-website to FolkJS web components:
|
|
- SlideShapeUtil (passive display)
|
|
- ChatBoxShapeUtil (real-time chat)
|
|
- GoogleItemShapeUtil (data display)
|
|
- SharedPianoShapeUtil (interactive music)
|
|
|
|
Key simplifications vs tldraw:
|
|
- No BaseBoxShapeUtil inheritance, use FolkShape directly
|
|
- No React - pure web components with lit-style templates
|
|
- Hooks become class methods or standalone utilities
|
|
- StandardizedToolWrapper already ported as FolkWrapper
|
|
<!-- SECTION:DESCRIPTION:END -->
|
|
|
|
## Acceptance Criteria
|
|
<!-- AC:BEGIN -->
|
|
- [ ] #1 folk-slide component created
|
|
- [ ] #2 folk-chat component created
|
|
- [ ] #3 folk-google-item component created
|
|
- [ ] #4 folk-piano component created
|
|
<!-- AC:END -->
|