Skip to content

feat: Ferrum Studio — core project, timeline, tokens, export - #11

Open
Roy-Wanyoike wants to merge 1 commit into
mainfrom
feat/ferrum-studio-scaffolding
Open

feat: Ferrum Studio — core project, timeline, tokens, export#11
Roy-Wanyoike wants to merge 1 commit into
mainfrom
feat/ferrum-studio-scaffolding

Conversation

@Roy-Wanyoike

Copy link
Copy Markdown
Owner

Summary

Implements the Ferrum Studio foundation (Planned → functional core).

Modules

Module Description
types 11 types: StudioProject, CanvasElement, ElementType, TimelineKeyframe, AnimationTimeline, DesignToken, TokenType, Breakpoint
project Element CRUD, hit testing, z-ordering, duplication
timeline Keyframe management, linear interpolation, time-clamped resolution
tokens 45 default design tokens, CSS custom property generation
export HTML, CSS, React JSX, @Keyframes generation
breakpoints 4 breakpoints (mobile/tablet/desktop/wide)

Key Design

  • Immutable project state (structural changes return new objects)
  • Bounding-box collision for findElementAt
  • Linear interpolation for numeric animation properties
  • Clean, formatted export output (HTML, CSS, JSX)

Tests

  • 76 unit tests covering all modules

Files Added

  • src/lib/ferrum-studio/ — 7 source files
  • __tests__/ferrum-studio.test.ts — 76 tests

Closes roadmap item: Ferrum Studio Planned → Alpha ✅

Implements the Ferrum Studio scaffolding (Planned → foundation):

Core Data Model (types.ts):
- StudioProject, CanvasElement, ElementType
- TimelineKeyframe, AnimationTimeline
- DesignToken, TokenType, Breakpoint

Project Management (project.ts):
- Create/delete/move/resize/duplicate elements
- Bounding-box hit testing (findElementAt)
- Z-ordering (bringToFront, sendToBack)

Timeline (timeline.ts):
- Keyframe CRUD with sorting
- Linear interpolation for number properties
- Time-clamped property resolution

Design Tokens (tokens.ts):
- 45 default tokens (colors, spacing, typography, borders)
- CSS custom property generation

Export (export.ts):
- HTML, CSS, React JSX generation
- @Keyframes from timeline data

Responsive (breakpoints.ts):
- 4 breakpoints (mobile/tablet/desktop/wide)

76 unit tests covering all modules.
@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ferrum-engine Error Error Aug 31, 2026 7:02pm

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