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.