Deterministic identity
A seed preserves the character of the field while signals and interaction change its energy.
System 05 Semantic motion infrastructure
A procedural glyph engine by Joan Sterjo. Orby turns product intent into expressive, deterministic pixel motion. Shape one visual identity, invoke it anywhere, and keep every transition responsive, reproducible, and alive.
Foundation / 01
A seed preserves the character of the field while signals and interaction change its energy.
Ready, thinking, tool use, completion, and recovery share one coherent visual language.
Call one state or choreograph a timed sequence, then carry the same recipe into any product surface.
Live Studio / 02
Stage a semantic state, tune its field and motion, and export the result as a reusable recipe. Every control below edits the live engine.
Canvas / 01
A calm, responsive presence with a low-frequency breathing field.
Integration / 03
Create one long-lived glyph, drive it with product state, and carry the same deterministic recipe wherever the interface needs presence.
Download the kit, install the extracted folder, and mount one long-lived glyph.
npm install ./joan-procedural-glyph-engine-5.0.0
import { createGlyph } from "@joan/procedural-glyph-engine";
const glyph = createGlyph("#ai-glyph", {
sprite: "ai.idle",
seed: "product-session",
gridSize: 68
});
Move directly to a state or play a timed sequence as product work unfolds.
import { playStateSequence } from "@joan/procedural-glyph-engine/state-sequence";
await glyph.transitionTo("ai.thinking");
const playback = playStateSequence(glyph, [
{ sprite: "ai.idle", holdMs: 5_000 },
{ sprite: "status.success" }
]);
await playback.finished;
Keep the live canvas in your UI, or package its current identity for delivery.
const recipe = glyph.exportConfig();
const svg = glyph.toSVG();
await glyph.downloadPNG("ai-state.png");
State atlas / 04
Twenty-five semantic sprites cover attention, ambient presence, latency, tool work, transfer, completion, and recovery.
Local collection
Reopen your tuned states here. Presets are stored locally in this browser and do not sync between devices.
No presets saved yet. Tune a state, then choose Save current. It will stay available locally in this browser.
API / 05
Ship the same state language across copilots, agents, system trays, notifications, and ambient interfaces. The runtime is dependency-free and keeps every parameter inspectable. Named sequences can be saved as data or invoked inline with explicit timing.
import { createGlyph } from "@joan/procedural-glyph-engine";
import { playStateSequence } from "@joan/procedural-glyph-engine/state-sequence";
const glyph = createGlyph("#ai-glyph", {
sprite: "ai.idle",
seed: "world-class-ai",
gridSize: 68
});
const playback = playStateSequence(glyph, [
{ sprite: "ai.idle", holdMs: 5_000 },
{ sprite: "status.success", transition: "path-draw" }
]);
await playback.finished;
Self service / 06
Take a versioned integration kit with the native ESM runtime, TypeScript declarations, complete integration documentation, runnable examples, and the offline Studio.
Distribution status: SOURCE AVAILABLE. Orby is licensed under Apache License 2.0 subject to Commons Clause 1.0. You may use, copy, modify, and redistribute Orby, but may not sell Orby or a product or service whose value derives entirely or substantially from Orby's functionality.