diff infinite_canvas/README.md @ 282:6bd4a3990696 default tip

Add cross-platform canvas orchestration and typed composer Enable native ARM dependencies, macOS Copilot orchestration, portable service supervision, CPU dictation, and a shared N-key speak-or-type composer. Co-authored-by: Copilot <[email protected]> Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
author MrJuneJune <me@mrjunejune.com>
date Thu, 20 Aug 2026 20:45:25 -0700
parents c57149ad216e
children
line wrap: on
line diff
--- a/infinite_canvas/README.md	Tue Aug 18 22:18:15 2026 -0700
+++ b/infinite_canvas/README.md	Thu Aug 20 20:45:25 2026 -0700
@@ -6,7 +6,8 @@
 ## Build and run
 
 ```bash
-# Native development build with Raygui controls
+# Native development build with Raygui controls. This automatically selects
+# Linux, macOS, or Windows and the host CPU architecture.
 bazel run //infinite_canvas:dev
 
 # Start directly in the ten-browser stress scene
@@ -20,6 +21,31 @@
 bazel run //infinite_canvas:serve
 ```
 
+### Native platform support
+
+| Host | Canvas and CEF | Copilot orchestration |
+| --- | --- | --- |
+| Linux x86-64 | Supported | Supported |
+| macOS Apple Silicon | Supported | Supported |
+| macOS Intel | Supported | Supported |
+| Windows ARM64 | Supported | Not yet; uses the explicit unavailable-service response |
+| Windows x86-64 | Supported | Not yet; uses the explicit unavailable-service response |
+
+The default `//infinite_canvas:dev` and `//infinite_canvas:app` targets select
+the current host automatically. The explicit `//config:macos_arm64` and
+`//config:windows_arm64` platform targets are intended for CI and reproducible
+build selection:
+
+```bash
+bazel build //infinite_canvas:dev_bin --platforms=//config:macos_arm64
+bazel build //infinite_canvas:dev_bin --platforms=//config:windows_arm64
+```
+
+These commands require a matching native C/C++ toolchain. They do not imply
+cross-compilation from Linux. Raylib 6.0 and CEF 151 are selected by both OS
+and CPU, so an ARM64 host no longer links x86-64 browser or rendering
+libraries.
+
 Open `http://127.0.0.1:4343/index.html` after starting the server. Pass a
 different port as an argument only when needed.
 
@@ -42,7 +68,9 @@
 - `P`: pin or unpin the selected entity in screen space so it remains visible
   while the camera pans and zooms; pinned entities show a Lucide pin glyph
 - `M`: show centered live dictation text and toggle microphone capture
-- `Enter`: send visible dictation text to the spatial agent
+- `N`: open and focus the same Dictation entity for keyboard input
+- `Enter`: send the shared spoken or typed thought to the spatial agent
+- `Shift+Enter`: insert a newline while typing in the Dictation entity
 - `Ctrl/Cmd+Enter`: submit the selected text area's thought to Copilot
 - `Delete`/`Backspace`: fade out and remove the selected entity
 - Development toolbar: spawn/clear entities, reset the camera, or restore the
@@ -107,7 +135,9 @@
 ```
 
 `//infinite_canvas:agent_dev` remains an alias. Closing the canvas stops the
-supervised local services.
+supervised local services. The target selects the matching Copilot CLI and
+Python toolchain automatically. Dictation uses CUDA with `int8_float16` on
+Linux and CPU inference with `int8` on macOS.
 
 Press `M` to start or stop the local WebRTC microphone session. The browser
 transport is prewarmed and remains hidden: it acquires the native microphone