EXPERIMENTAL OS · PHASE 9.6 ALPHA

A single 8MB canvas
is the entire OS.

SJ-CANVAOS is a deterministic operating system where memory, storage, and display are unified into one 1024×1024 pixel canvas. No filesystem. No separate framebuffer. No floating point.

View on GitHub See Demo ↓
canvascraft_demo — Phase 9.6 · 168/168 PASS
CanvasCraft terminal demo
8 MB
TOTAL MEMORY
328
TESTS · 0 FAIL
150M
TICKS / SEC
256
PARALLEL UNIVERSES
0
EXTERNAL DEPS
// CORE PHILOSOPHY

Five Invariants That Cannot Be Broken

🖼

Canvas-as-Memory

The 1024×1024 canvas is the only source of truth. Memory, display, and storage are the same object. No separate framebuffer, no virtual address space.

Determinism (DK-1~5)

No floating point. No undefined behavior. Same input always produces the same hash. Verified across 50 stress-test runs with identical SHA-256 output.

Timewarp

Every state transition is recorded in WH (White Hole) logs. Rewind to any tick. Branch from any point in history. Time travel is a first-class OS feature.

🌌

Multiverse (BranchID)

The reserved pad byte in every Cell becomes a BranchID. 256 parallel universes coexist in the same 8MB canvas with zero copy overhead.

🔒

Gate Security

Every 32×32 tile has a GateState. Access control is enforced at the pixel level. Territory ownership in CanvasCraft maps directly to OS security primitives.

📡

SJ Spatial Streaming

The V3F reordering engine compresses any byte stream into a 512×512 accumulation canvas in real time. 143 MB/s throughput with 2MB fixed memory footprint.

// ARCHITECTURE

How It Maps

GAME MECHANIC OS SUBSYSTEM MODULE STATUS
Player joins proc_spawn (Lane allocation) canvascraft_proc.c DONE
Move / place / break Memory write + Gate check canvascraft_play.c DONE
Territory claim Gate security model canvascraft_territory.c DONE
Input sync SJ-Stream Lockstep canvascraft_net.c DONE
Save / load CVP persistence layer canvascraft_persist.c DONE
Portal block Multiverse BranchID switch canvas_multiverse.c PHASE 9.x
In-game console PixelCode REPL (shell) vm.c INTEGRATED
Replay / rewind WH log playback (Timewarp) canvas_wh.c DONE
// CANVASCRAFT — THE KILLER APP

A Multiplayer Sandbox That Is the OS

CanvasCraft is not a game running on top of CanvasOS. It is CanvasOS. Every game mechanic directly exercises an OS subsystem. Building the game completes the OS.

// Boot sequence — all subsystems in 8MB craft:128,128v:0001> help [move] w/a/s/d [place] e [break] q [look] l [inv] i [stat] stat [console] :tp X Y :give BLOCK :hp N :branch N [territory] claim unclaim territory [save] save NAME load NAME saves [render] render (→ BMP) [quit] exit craft:128,128v:0002> stat pos=(128,128) hp=100 en=100 tick=2 hash=A3F7C2B1D9E04581 craft:128,129v:0003> claim Claimed tile (4,4) // Final hash — determinism verified Final hash: 7E2A9F4C1B8D3056 tick=11 CanvasCraft halted.
// ROADMAP

Phase Progress

Phase 6
Determinism Core (DK-1~5)
Fixed-point arithmetic, WH/BH event log, 50-run stress test
Phase 7
Tervas Terminal
Canvas-native terminal, EngCode/HGCode articulatory opcodes
Phase 8
Kernel Primitives
Display tiles, event bus, compositor, canvas:// URI, frame loop
Phase 9
PixelCode VM + CanvasCraft Alpha
VM bytecode, multiplayer lockstep, territory, persistence, renderer — 168/168 PASS
Phase 10
Userland
Process model, syscall interface, 328 total tests passing
Phase 11 ▶
SDL2 Renderer + Multiplayer Network
Real-time pixel rendering, TCP Lockstep sync, WebAssembly port

Zero dependencies. Pure C11. 328 tests. 0 failures.

Clone, make, run. No package manager. No build system. Just make canvascraft_demo.

GitHub Repository Read the Architecture