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