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.