Mercurial
diff infinite_canvas/docs/session-lineage.md @ 278:8d560f50ed4c
Improve infinite canvas interactions and browser chrome
Render Lucide icons directly with Raylib, add searchable icon browsing, robust text editing, entity lifecycle animations, z-order-safe input, semantic themes, and animated editable browser controls. Document rendering, pinning, context, and component extension for future agents.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Mon, 17 Aug 2026 22:16:14 -0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/infinite_canvas/docs/session-lineage.md Mon Aug 17 22:16:14 2026 -0700 @@ -0,0 +1,25 @@ +# Session Lineage + +The implementation history is concentrated in two Copilot sessions: + +| Session | Summary | Important decisions | +| --- | --- | --- | +| `f3a732a6-960a-4e9d-9da7-a0c7393a9e6b` | Implement Infinite Canvas Rendering | Raylib 6 native/WASM foundation, arena-owned retained scene, immediate drawing, camera transforms, draggable primitives, component interaction, and the first embedded web-content path | +| `237a4b4c-b05b-4d42-a80c-19bd3e364ec6` | Add Scalability to Browser Views | pooled/scaled browser views, resizing, screen-space pinning, image URL/file rendering, richer components, notification stacking, themes, visible-camera context, and the Lucide gallery | + +Key later-session decisions: + +- Browser and image resources are keyed by entity ID and their resolution follows + displayed pixel size in buckets. +- Pinning preserves screen position and size while continuing to use the normal + world entity model. +- Images reuse the web-surface abstraction: native uses CEF-to-Raylib textures, + while WebAssembly uses DOM images. +- Context is derived from current camera visibility and current semantic values, + not a hidden conversation store. +- The icon gallery should be one scalable canvas region. The current + implementation completes that intent with generated Raylib vectors rather + than a browser-backed HTML gallery. + +These session IDs are historical pointers. The source files and the other wiki +pages are authoritative when behavior changes.