Fini
33d48c10f0
feat(ai): robust design generation with node sanitization and empty frame replacement
- Remove thinking_delta SSE events from server streaming
- Add generateCompletion non-streaming fallback with timeout recovery
- Refactor JSON extraction with multi-block scoring to select best output
- Add node sanitization pipeline: unique ID enforcement, layout child
position cleanup, screen frame bounds clamping
- Progressive upsert with deep merge preserving earlier phase children
- Replace empty default frame with generated frame (preserving position)
- Enhance AI prompts for improved design output quality