Skip to content
SHINR DOCS
GITHUB ↗

Backend Kernel

The Backend Kernel — Cake — is the low-level infrastructure underneath Shinro Studio. Written in Zig — chosen for compile speed and cross-compilation reach.

Its job is compilation and composition: it reads module descriptors, resolves the module graph, orchestrates the toolchains that build each module, and composes them into a deployable binary. Shinro Studio is the operator-facing tool on top; the Backend Kernel is the engine underneath; the cake CLI is how you drive it.

What runs on the robot

Runtime-imposing frameworks put a heavy runtime between your components — every message crosses their bus. Shinro does not. A thin Cake kernel is resident wherever modules run — typically the robot’s onboard computer, equally an edge device or cloud host — to load, supervise, and hot-swap modules. It does not interpose on the data modules exchange: modules communicate through the interprocess plumbing generated at compile time, not through a Shinro message layer or broker. No framework mandates determinism or scheduling — those are decided per module by the module’s author.

The kernel also does not interfere with data-processing workflows that already exist on the robot: it runs side-by-side with systems like ROS and acts independently, or integrates with them — a ROS graph wrapped as a kernel module, or the kernel running as a ROS module. Residency at the module boundary, without interposition on module data, is what lets a module be swapped on a running robot without halting the rest.

Multi-language compilation

The kernel orchestrates toolchains that compile C, C++, Rust, Python, and others via toolchain modules. The choice of language is the module author’s — develop in whatever fits your target and your team. The Python modules architecture is a first-class example: today it runs standalone via pip; wrapping it as a library module for kernel-managed composition is a roadmap path, not something that exists yet.

Cross-platform reach

Designed to cross-compile; validated targets grow incrementally. Today the kernel builds for Linux, Windows, Android, ESP32, Jetson, and Raspberry Pi. The architecture targets any platform a toolchain module can describe — additional targets (macOS, iOS, FPGA via HDL toolchain modules such as Vivado, and others) are added as toolchain modules are written and validated.

Kernel API

The kernel exposes a small surface for module load, swap, and capability lookups. The full API reference is not yet published.

CLI

The Shinro CLI (invoked as cake) manages kernel initialization, module installation, composition, and deployment. For a hands-on introduction, see Creating a Module. The full command reference is not yet published.

100%