No description
- Odin 90.7%
- GLSL 7.8%
- Metal 1.5%
Replace the `odin run build` tool with a single root build.odin run by rdnk:
rdnk build.odin dev hot-reload (tithingman watch + game.dylib swap)
rdnk build.odin build static executable -> ./odin-impeller
rdnk build.odin release static, optimized (-o:speed)
rdnk build.odin shaders compile shaders only
rdnk build.odin clean
Native compilation shells to `odin` with ODIN_ROOT=$RDNK_ROOT, so it builds
against rdnk's bundled stdlib + vendor (precompiled C archives: stb,
kb_text_shape, libtess2) — no `make` bootstrap, and the same stdlib rdnk
JIT-runs, keeping dev and static builds consistent.
Dev mode upgrades the old mtime-poll watcher to rdnk:tithingman (FSEvents) +
the existing host hot-swap: a .odin edit rebuilds game.dylib (host reloads
in-process, preserving state); a shader edit recompiles + the app reloads.
Shader compilation (glslc -> spirv-cross -> MSL buffer-binding fixup) and the
libtess2 build are ported inline; fixup output is byte-identical to the old
tool. Works around rdnk JIT core:os gaps (getcwd -> $PWD, readdir -> shell ls,
remove_all -> rm -rf, join_path -> strings.join).
Needs brew rdnk >= 0.1.3 for dev mode (threading + foreign-global fixes).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .claude | ||
| assets | ||
| src | ||
| .gitignore | ||
| ANIMATIONS.md | ||
| ARCHITECTURE.md | ||
| build.odin | ||
| game.dylib | ||
| game_loaded.dylib | ||
| host | ||
| MURATORI_RULES.md | ||
| ols.json | ||
| PLAN.md | ||