Mercurial
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 277:1d99147f520c | 278:8d560f50ed4c |
|---|---|
| 1 # Infinite Canvas Agent Wiki | |
| 2 | |
| 3 Use this tree before changing rendering, entities, pinning, or context: | |
| 4 | |
| 5 ```text | |
| 6 Infinite Canvas | |
| 7 ├── Rendering surfaces | |
| 8 │ ├── Raylib world primitives and UI components | |
| 9 │ ├── Raylib-generated Lucide vectors | |
| 10 │ ├── Native CEF image/web textures | |
| 11 │ └── WebAssembly DOM image/iframe overlays | |
| 12 ├── Entity model and extension path | |
| 13 │ ├── defaults and retained state | |
| 14 │ ├── picking, interaction, and drawing | |
| 15 │ └── semantic context serialization | |
| 16 ├── Screen-space behavior | |
| 17 │ ├── camera transforms | |
| 18 │ ├── pinned entities | |
| 19 │ └── notification stacking | |
| 20 └── Session lineage | |
| 21 ├── original renderer | |
| 22 └── scalability, images, pinning, context, and icons | |
| 23 ``` | |
| 24 | |
| 25 - [Rendering surfaces](rendering.md) | |
| 26 - [Entities and components](entities-and-components.md) | |
| 27 - [Pinning and visible context](pinning-and-context.md) | |
| 28 - [Session lineage](session-lineage.md) | |
| 29 | |
| 30 ## Runtime frame order | |
| 31 | |
| 32 `main.c` owns the integration order: | |
| 33 | |
| 34 1. Update viewport dimensions. | |
| 35 2. Let native web surfaces translate focused input. | |
| 36 3. Update scene interaction and keyboard focus. | |
| 37 4. Apply camera pan/zoom. | |
| 38 5. Reproject pinned entities and notification stacks. | |
| 39 6. Reconcile web/image resources with visible entities. | |
| 40 7. Draw the Raylib world. | |
| 41 8. Composite native browser textures or position web overlays. | |
| 42 9. Draw the developer UI. | |
| 43 | |
| 44 Preserve this order. In particular, pinned positions must be synchronized before | |
| 45 surface bounds are calculated, and native surface textures must draw after the | |
| 46 Raylib entity frames. |