openpencil/packages/core
Danila Poyarkov fee44ebdb7 feat(components): add variant property data model and core actions
Data model:
- Add ComponentPropertyDefinition and ComponentPropertyType to SceneNode
- Add componentPropertyValues for per-variant property values
- Populate from .fig import via componentPropDefs kiwi field
- Parse variant name=value syntax from component names on import

Core actions (packages/core/src/editor/components/variants.ts):
- Add/remove/rename variant property definitions with undo
- Collect variant options from component set children
- Find variant by property values
- Switch instance variant by changing a property value
- Parse and build variant name strings

Combine as variants:
- Parse slash-naming (Button/Primary/Large) into variant properties
- Auto-detect property columns from consistent slash counts
- Populate componentPropertyValues on each variant component

Ref #239
2026-05-07 16:12:46 +03:00
..
assets fix(kiwi): improve figma export fidelity 2026-04-25 15:57:15 +03:00
src feat(components): add variant property data model and core actions 2026-05-07 16:12:46 +03:00
package.json Refactor architecture boundaries across core, app, and packages (#234) 2026-04-30 15:14:19 +03:00
tsconfig.json Refactor architecture boundaries across core, app, and packages (#234) 2026-04-30 15:14:19 +03:00
tsdown.config.ts Refactor architecture boundaries across core, app, and packages (#234) 2026-04-30 15:14:19 +03:00