← Demo gallery

EXP-016: scene defined in Jolt

The same interactive composition as EXP-015, but Jolt now owns every command type, coordinate, dimension, color, and input mapping. C is a bounded generic command renderer and remains the safe Raylib/browser frame owner.

Live build

Move the pointer over the canvas and hold . Jolt's circle command follows the mouse and its rectangle command shifts 100 pixels.

Not loaded (26 MB).

Jolt scene source

Authoritative source: src/app/exp016.clj

(def scene-commands
  ;; op x y width-or-radius height red green blue input-x input-y
  [[1 0   0   0   0   20  24  41  0 0]  ; background
   [2 36  32  648 296 35  45  74  0 0]  ; panel
   [3 180 150 72   0   230 41  55  1 1]  ; mouse circle
   [2 320 88  300 124 230 41  55  2 0]]) ; ArrowRight rectangle

(defn upload-scene! []
  (let [values (vec (apply concat scene-commands))]
    (doseq [index (range (count values))]
      (project-scene-write index (nth values index)))
    (project-scene-commit (count scene-commands))))

Jolt owns

The command list defines shape operations, layout, RGB colors, mouse substitution, and ArrowRight displacement.

C owns

A generic bounded interpreter polls Raylib input and executes background, rectangle, and circle commands on the frame owner.

Browser owns

Emscripten's main loop schedules frames. Readiness is published only after the first completed command frame.

Verified result

Chromium capture of the Jolt-defined red circle and keyboard-shifted rectangle scene.

Chromium showed four Jolt commands, mouse 467,115, key-right: 1, cross-origin isolation, and no page exception. Read the full EXP-016 report or artifact hashes.