Technical Documentation
Excalidraw Reuse Assessment
Excalidraw Reuse Assessment
Decision matrix for every Excalidraw capability considered for Falcon Flowmira Whiteboard Mode. Decisions are Adopt (use as-is via the official package), Adapt (wrap and modify), Rebuild (build Falcon-native), or Reject (do not use).
| Feature | Package/File | Decision | Reason |
|---|---|---|---|
| React canvas component | @excalidraw/excalidraw <Excalidraw /> | Adopt | Public, stable API, MIT, tree-shakeable, lazy-loadable. |
| Scene serialization (JSON) | @excalidraw/excalidraw/data | Adopt | Used through public helpers serializeAsJSON / restore. |
| PNG export | exportToBlob | Adopt | Public helper, meets Pro export requirement. |
| SVG export | exportToSvg | Adopt | Public helper, sanitized before persistence. |
| Undo/redo | Component internal | Adopt | Ships with the component. |
| Freehand, shapes, arrows, text | Component internal | Adopt | Meets Whiteboard core. |
Library items (.excalidrawlib) | loadLibraryFromBlob, loadSceneOrLibraryFromBlob | Adapt | Import path is public; SVGs are sanitized before insertion; import is size-, MIME-, and magic-byte-validated. |
| Frames | Component internal | Adopt | Sufficient for Pro Whiteboard organization. |
| Image handling | Component internal | Adapt | Images are lifted out of scene JSON above 200 KB and stored in private Supabase storage with signed URLs. |
| Firebase collaboration | Excalidraw app | Reject | Not part of the package; requires hosted-service coupling. Multiplayer is rebuilt on Supabase Realtime with owner-only RLS. |
| Excalidraw+ authentication | Excalidraw app | Reject | Not applicable; Falcon Flowmira uses Supabase Auth. |
| Excalidraw analytics | Excalidraw app | Reject | Not part of the package; never enabled. |
| Service worker & offline | Excalidraw app | Reject | Falcon Flowmira ships its own offline queue keyed to Supabase. |
| Localization strings | Package | Adopt (default en) | English only for launch; Falcon UI chrome is localized separately. |
| Custom themes | Package theme prop | Adapt | Wired to Falcon Onyx (dark) and Apple × Tesla (light) via prop. |
| BPMN / UML / ERD shape packs | — | Rebuild | Not provided upstream. Delivered via Falcon Industry Shape Packs. |
| Agentic AI / RAG nodes | — | Rebuild | Falcon-native. |
| True layers / pages / tags | — | Rebuild | Not provided upstream. Layered on top of scene JSON in the Falcon document envelope. |
| Rafa AI tools | — | Rebuild | Falcon-native, BYOK only, restricted tool API. |
| Firebase room links | Excalidraw app | Reject | Security risk; superseded by Supabase Realtime room-authorization design. |
Adopt / Adapt Summary
The package's public API is sufficient for Pro Whiteboard. No Excalidraw internal source is vendored or copied.
Reject Summary
Every hosted-service or Firebase-coupled capability is rejected. Collaboration is rebuilt on Supabase Realtime; storage on Supabase Storage; auth on Supabase Auth; analytics on Falcon engagement events.