comparison 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
comparison
equal deleted inserted replaced
281:c57149ad216e 282:6bd4a3990696
4 infinite canvas. 4 infinite canvas.
5 5
6 ## Build and run 6 ## Build and run
7 7
8 ```bash 8 ```bash
9 # Native development build with Raygui controls 9 # Native development build with Raygui controls. This automatically selects
10 # Linux, macOS, or Windows and the host CPU architecture.
10 bazel run //infinite_canvas:dev 11 bazel run //infinite_canvas:dev
11 12
12 # Start directly in the ten-browser stress scene 13 # Start directly in the ten-browser stress scene
13 INFINITE_CANVAS_BROWSER_STRESS=1 bazel run //infinite_canvas:dev 14 INFINITE_CANVAS_BROWSER_STRESS=1 bazel run //infinite_canvas:dev
14 15
17 18
18 # Browser build and local server 19 # Browser build and local server
19 bazel build //infinite_canvas:infinite_canvas_wasm 20 bazel build //infinite_canvas:infinite_canvas_wasm
20 bazel run //infinite_canvas:serve 21 bazel run //infinite_canvas:serve
21 ``` 22 ```
23
24 ### Native platform support
25
26 | Host | Canvas and CEF | Copilot orchestration |
27 | --- | --- | --- |
28 | Linux x86-64 | Supported | Supported |
29 | macOS Apple Silicon | Supported | Supported |
30 | macOS Intel | Supported | Supported |
31 | Windows ARM64 | Supported | Not yet; uses the explicit unavailable-service response |
32 | Windows x86-64 | Supported | Not yet; uses the explicit unavailable-service response |
33
34 The default `//infinite_canvas:dev` and `//infinite_canvas:app` targets select
35 the current host automatically. The explicit `//config:macos_arm64` and
36 `//config:windows_arm64` platform targets are intended for CI and reproducible
37 build selection:
38
39 ```bash
40 bazel build //infinite_canvas:dev_bin --platforms=//config:macos_arm64
41 bazel build //infinite_canvas:dev_bin --platforms=//config:windows_arm64
42 ```
43
44 These commands require a matching native C/C++ toolchain. They do not imply
45 cross-compilation from Linux. Raylib 6.0 and CEF 151 are selected by both OS
46 and CPU, so an ARM64 host no longer links x86-64 browser or rendering
47 libraries.
22 48
23 Open `http://127.0.0.1:4343/index.html` after starting the server. Pass a 49 Open `http://127.0.0.1:4343/index.html` after starting the server. Pass a
24 different port as an argument only when needed. 50 different port as an argument only when needed.
25 51
26 The native development target opens at 1920x1200 and starts with a gallery 52 The native development target opens at 1920x1200 and starts with a gallery
40 - WASD or arrow keys: pan (disabled while a text area has keyboard focus) 66 - WASD or arrow keys: pan (disabled while a text area has keyboard focus)
41 - Left-mouse drag on an entity: select and move it 67 - Left-mouse drag on an entity: select and move it
42 - `P`: pin or unpin the selected entity in screen space so it remains visible 68 - `P`: pin or unpin the selected entity in screen space so it remains visible
43 while the camera pans and zooms; pinned entities show a Lucide pin glyph 69 while the camera pans and zooms; pinned entities show a Lucide pin glyph
44 - `M`: show centered live dictation text and toggle microphone capture 70 - `M`: show centered live dictation text and toggle microphone capture
45 - `Enter`: send visible dictation text to the spatial agent 71 - `N`: open and focus the same Dictation entity for keyboard input
72 - `Enter`: send the shared spoken or typed thought to the spatial agent
73 - `Shift+Enter`: insert a newline while typing in the Dictation entity
46 - `Ctrl/Cmd+Enter`: submit the selected text area's thought to Copilot 74 - `Ctrl/Cmd+Enter`: submit the selected text area's thought to Copilot
47 - `Delete`/`Backspace`: fade out and remove the selected entity 75 - `Delete`/`Backspace`: fade out and remove the selected entity
48 - Development toolbar: spawn/clear entities, reset the camera, or restore the 76 - Development toolbar: spawn/clear entities, reset the camera, or restore the
49 deterministic demo scene; spawned entities fade in and Clear fades all 77 deterministic demo scene; spawned entities fade in and Clear fades all
50 entities out before removal. Use the header arrow to collapse the toolbar 78 entities out before removal. Use the header arrow to collapse the toolbar
105 ```bash 133 ```bash
106 bazel run //infinite_canvas:orchestration_dev 134 bazel run //infinite_canvas:orchestration_dev
107 ``` 135 ```
108 136
109 `//infinite_canvas:agent_dev` remains an alias. Closing the canvas stops the 137 `//infinite_canvas:agent_dev` remains an alias. Closing the canvas stops the
110 supervised local services. 138 supervised local services. The target selects the matching Copilot CLI and
139 Python toolchain automatically. Dictation uses CUDA with `int8_float16` on
140 Linux and CPU inference with `int8` on macOS.
111 141
112 Press `M` to start or stop the local WebRTC microphone session. The browser 142 Press `M` to start or stop the local WebRTC microphone session. The browser
113 transport is prewarmed and remains hidden: it acquires the native microphone 143 transport is prewarmed and remains hidden: it acquires the native microphone
114 permission, device, signaling, ICE connection, and transcript data channel 144 permission, device, signaling, ICE connection, and transcript data channel
115 ahead of the first hotkey while keeping the audio track disabled. `M` therefore 145 ahead of the first hotkey while keeping the audio track disabled. `M` therefore