openpencil/packages/core/src/render
Danila Poyarkov e3ab8dab38 AI chat rendering, undo, visual verification, and provider compatibility
Rendering & layout:
- Fix COUNTER_ALIGN_MAP stretch mapping
- Direction-aware fill sizing based on parent flex direction
- Text without explicit width defaults to WIDTH_AND_HEIGHT auto-resize
- Padding auto-enables vertical auto-layout
- clipsContent propagated as Overflow.Hidden to Yoga
- Text height measurement for HEIGHT auto-resize mode
- Export x/y for absolute children, text w/h per textAutoResize
- Export STRETCH as fill on cross axis

Undo system:
- Undo for auto-layout and layer tree reorder
- Atomic undo for drag + reparent
- Page snapshot undo for AI tool operations
- mouseleave no longer terminates active drag

AI tools & vision:
- Add get_jsx, diff_jsx, and describe tools
- export_image returns image via toModelOutput
- Chunked uint8ArrayToBase64 (stack overflow fix)
- computeAllLayouts after AI tool execution
- onBeforeExecute/onAfterExecute receive ToolDef

Provider & UI:
- Add anthropic-compatible provider
- API type toggle for OpenAI-compatible
- Debug toolbar (dev only)
- Preserve chat on UI toggle
- Enhanced system prompt with JSX reference

Co-authored-by: Anton A S <eddclyde@yandex.ru>
2026-03-09 15:49:29 +03:00
..
components.ts Eliminate as Record<string, unknown> casts 2026-03-06 21:43:32 +03:00
export-jsx.ts AI chat rendering, undo, visual verification, and provider compatibility 2026-03-09 15:49:29 +03:00
index.ts Pre-process render JSX in bridge where esbuild is available 2026-03-07 20:10:48 +03:00
jsx-runtime.ts Eliminate as Record<string, unknown> casts 2026-03-06 21:43:32 +03:00
mini-react.ts Lint all packages: fix 193 errors across core, mcp, acp 2026-03-09 13:18:08 +03:00
render-jsx.ts Multi-provider AI, sucrase JSX, Figma zoom shortcuts (#72) 2026-03-08 22:05:18 +03:00
renderer.ts AI chat rendering, undo, visual verification, and provider compatibility 2026-03-09 15:49:29 +03:00
tailwind.ts Tailwind CSS v4 JSX export (#54) 2026-03-06 18:04:11 +03:00
tree.ts Eliminate as Record<string, unknown> casts 2026-03-06 21:43:32 +03:00