Every backend executes the same file with the same reference interpreter semantics; the interpreter is authoritative, and the conformance suite checks each backend against the golden corpus: pixels and structured outputs, bit for bit.
The CLI toolchain
The prebuilt SDKs on the download list contain the tools; to build them yourself:
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --parallel
The tools land in build/tools/: ipc (compile), ipgen (render),
ipsheet (grids), ipdis (disassemble), ipval (validate) and
ipa (assemble). Each prints --help.
HTML5 / WASM
The reference interpreter compiled to WebAssembly. It runs the live examples on the home page and the editor preview. Building it requires Emscripten:
emcmake cmake -S backends/html5 -B build/wasm -DCMAKE_BUILD_TYPE=Release
cmake --build build/wasm --parallel
One call renders a file: generate(fileBytes, seed, sizeX, sizeY[, uniforms])
returns { width, height, data, outputs } with RGBA pixels and the structured outputs.
uniforms sets declared inputs by name, as ipgen --uniform does: numbers for
u32/f32 inputs and "#RRGGBB" strings for colours. The weapons on the
home page use it to render their emission maps for the bloom.
backends/html5/js/api.js wraps it for pages and Node, and
node backends/html5/test/run-tests.js build/wasm checks the golden seeds.
The C API
A C99 interface (backends/capi/iprop.h, C API 0.4 on ABI line 0.5)
ships as shared and static libraries. It owns program and result handles, returns RGBA images and
structured outputs, and reflects the declared inputs, outputs and parts, so a host can build a
parameter panel without knowing the asset in advance. Every native integration links it, and so can
yours: anything that can call C can render props.
SFML and Godot
cmake -B build -DCMAKE_BUILD_TYPE=Release \
-DIPROP_SFML=ON -DIPROP_SFML_PREFIX=/path/to/sfml \
-DIPROP_GODOT=ON -DIPROP_GODOTCPP_DIR=/path/to/godot-cpp \
-DIPROP_GODOT_BINARY=/path/to/godot
cmake --build build --parallel
ctest --test-dir build --output-on-failure
- SFML 3.1: a desktop sprite and atlas host with PNG exports and real sprite render tests (CMake 3.28 or later).
- Godot 4.5.2: a GDExtension (
godot-cppatgodot-4.5-stable) withIpropAssetandIpropSprite2D; the build assembles a demo project underbuild/godot-project/.
IPROP_SFML and IPROP_GODOT accept AUTO (skip missing dependencies),
ON (require them) or OFF. The backend READMEs list the exact library, export and
ownership contracts.
VS Code
cd editor
sh install.sh
Reload VS Code for syntax highlighting, compiler diagnostics, the live preview with seed controls, the atlas, the bytecode inspector and exports. The integrated terminal is the console for coding agents.