Mercurial
diff infinite_canvas/docs/README.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 | 49e9e591c9bb |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/infinite_canvas/docs/README.md Mon Aug 17 22:16:14 2026 -0700 @@ -0,0 +1,46 @@ +# Infinite Canvas Agent Wiki + +Use this tree before changing rendering, entities, pinning, or context: + +```text +Infinite Canvas +├── Rendering surfaces +│ ├── Raylib world primitives and UI components +│ ├── Raylib-generated Lucide vectors +│ ├── Native CEF image/web textures +│ └── WebAssembly DOM image/iframe overlays +├── Entity model and extension path +│ ├── defaults and retained state +│ ├── picking, interaction, and drawing +│ └── semantic context serialization +├── Screen-space behavior +│ ├── camera transforms +│ ├── pinned entities +│ └── notification stacking +└── Session lineage + ├── original renderer + └── scalability, images, pinning, context, and icons +``` + +- [Rendering surfaces](rendering.md) +- [Entities and components](entities-and-components.md) +- [Pinning and visible context](pinning-and-context.md) +- [Session lineage](session-lineage.md) + +## Runtime frame order + +`main.c` owns the integration order: + +1. Update viewport dimensions. +2. Let native web surfaces translate focused input. +3. Update scene interaction and keyboard focus. +4. Apply camera pan/zoom. +5. Reproject pinned entities and notification stacks. +6. Reconcile web/image resources with visible entities. +7. Draw the Raylib world. +8. Composite native browser textures or position web overlays. +9. Draw the developer UI. + +Preserve this order. In particular, pinned positions must be synchronized before +surface bounds are calculated, and native surface textures must draw after the +Raylib entity frames.