view 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 source

# 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.