Skip to content

Nightly build — 2026-10-18 (46aa2664ab59)

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 Oct 19:31
· 0 commits to 082657b9fdf7f44b53d3dd6b0e47abc7d8d3accf since this release
46aa266

Warning

Untested build, straight from main: it may be broken. For a tested version use the newest release that is not a nightly.

Changes since the last nightly build:

  • README: the state of main after 0.7.5 (46aa266)
  • creator_kit_test.py: no drive paths in the source - Blender's default folder from ProgramW6432, the selftest's made-up folders joined at run time (55e9671)
  • Character page: a figure that takes the game's kart builds its classic model with make-char --figure-only - the figure in a grey stand-in kart made in code, no game data; the step line and the report say so; the charroute chains for the kit joint and the switch use it, every other case unchanged (41e1347)
  • Creator kit guide: share only files without the kit kart - the game puts the kart in on the player's side; a game without hi-res drivers shows the figure in a simple grey kart; the advanced command line builds the classic model with make-char --figure-only (d60473c)
  • Creator Kit K2b: the kit wheel wears the game's own tyre sprites - the tread sprite round the tread, the hub sprite on the sides - on 336 triangles instead of 1392 flat-coloured ones (ed70df5)
  • Creator Kit page: 'Start from an old character' - a chosen .rldchar is exported with rldpack char-export into the kit (classic.glb) and the generator takes it with --classic as the hidden collection Classic; the file is checked first, every export error says how to fix it; creator_kit_classic.py is embedded and packaged; content_guard refuses classic.* (340426f)
  • Creator Kit K11: a figure-only driver gets the original kart from the player's own game data in the engine; make-char --figure-only gives its classic model a stand-in kart made by code (293edfc)
  • Character page: the kart of a CHRG model - a node 'kart' holding a mesh is the kart part (packed with --kart-part: left out on the podium, in the menu and the driver select), a node 'kart' without a mesh and no kart or wheel mesh anywhere is the kit's figure (packed with --game-kart template: the game adds the player's own kart, HRG-42 instead of HRG-20), everything else stays as before byte for byte; the switch 'Kart: from the player's game data' under Advanced (suggested for the kit figure) with its step line; report lines parts, game kart; the Creator Kit demo takes the kart part (103a335)
  • Creator kit: start from an old character - make_creator_kit.py --classic brings the GLB of rldpack char-export (classic CMDL with vertex colours, or the native model with its textures) into a hidden collection Classic at the kit's scale and axes, outside both exports (checked by the generator); the guide's section 11 explains it; the test builds its old character from the CC0 template and checks size, triangles, colours and textures against the verb's GLB (4f167bf)
  • CHRG parts: a figure-only file with the game's kart needs no wheel nodes and may keep a joint 'kart' (HRG-42) (5f58d57)
  • rldpack char-export: the model of a .rldchar as a glTF binary - an old driver as a starting point for the Creator Kit's template (76e1ddf)
  • Creator Kit page: the extraction is rldpack kit-extract (with How to fix for kit-no-data, kit-bad-model, kit-write), Blender runs with --threads 1, the demo is built from creator-kit-demo-local.glb and step 4 names both files (the figure to share once the game adds its own kart, the local file to keep); the page sets the suggested vertex colour mode before it reports, as the Character page does; the test makes its game data with kit-standin and reads the kit names from rs_kit.c; content_guard refuses kit-extract.txt (db5e46b)
  • make-char: the repair welds within one mesh only - a figure and a kart that touch stay two parts (28eacac)
  • Creator kit test: the local file is checked as it is packed (hires-check --kart-part: 0 errors, the kit mark HRG-41 the only warning); import_kart no longer reads an object it removed (a kit kart with an empty root node 'kart' crashed Blender's script), covered by a stand-in with that root; the measurement compares vertex colours as RGBA (kit-extract writes VEC3) (ced9bf1)
  • Creator Kit: the kit wheel as wide as the tread sprite (22 units, at most 24) and kit-kart.glb without a root node (721a136)
  • Creator kit: the template's default exporter writes creator-kit-figure.glb with the figure only - no kart, no wheels, no game data - and a second exporter writes creator-kit-demo-local.glb with the kit kart for local tests; every kit node and mesh carries the glTF extras ctr_kit (kart, steer_wheel, wheel) and every kit material is named ctrkit_, checked by the generator; the guide's sharing paragraph has one switch (shipped: keep files with the kit kart for yourself) (ddb0d07)
  • Creator kit generator: Blender runs with --threads 1 - with more threads the .blend writer gives two temporary attribute blocks file addresses that depend on the allocator's timing (291 bytes, no content), so two runs under load could differ; the report notes a run without it; 224 of 224 stress runs byte-identical (a7a0eb3)
  • Creator Kit: rldpack kit-extract - the retail kart of the player's own game data, hi-res (include/rldkit.inc) (07c91fc)
  • Reload Studio: the module Creator Kit - five steps (what you get, what the kit needs, where it goes, Generate demo files, your kit): finds the game data and Blender 5.2 with How to fix, builds in \kit.part and moves the kit in only when every step worked (extraction, the Blender generator embedded as RCDATA with the guide, the demo character built as the Character page builds it, START-DEMO-PUPPE.bat = Test the demo), refuses an output folder in a git tree, the game or the Studio folder; Cancel ends child processes too and leaves the old kit as it was; the Character page says HRG-41 at the build step: 'This file contains the original kart from your game data. Don't share it, or export without the kart.'; a packed .rldchar is checked with its parts field; package.sh ships the kit scripts and the guide (8e7b500)
  • CHRG parts field (0x10, proposed for 4.3): kart part, game kart, kit mark (7a78d1e)
  • ctests for the creator kit: the measurement and guide selftests, the guide HTML check, and the generator end to end (skipped without Blender 5.2) (2ca1250)
  • Creator kit guide: docs/CREATOR_KIT.md step by step from the Studio to Test in game (also make-char --rig bind-pose), built into one docs/CREATOR_KIT.html with nine SVG pictures drawn from the stand-in only (tools/creator_kit_pictures.py, refuses a real kit folder); tools/creator_kit_guide.py builds and checks the HTML (d624240)
  • Creator kit generator (CC0, Blender 5.2 CLI): templates/make_creator_kit.py builds creator-kit.blend and its demo GLB from the kit folder - a neutral articulated puppet of our own (creator_kit_puppet.py, 26 joints, 5568 triangles, seated at the game's driver size), its 12 clips (creator_kit_clips.py: seated race clips, standing podium, lose and menu), collections Figure and Kart, materials named with their vertex colour mode, a saved GLB exporter; a code-made stand-in kart for tests and pictures (creator_kit_standin.py); tools/creator_kit_test.py runs it end to end against rldpack hires-check, make-char --check and the measurements, and is skipped without Blender 5.2 (158bd75)
  • tools/creator_kit_measure.py: measures a creator kit GLB in plain Python - seat and standing height, hands on the wheel, feet in the kart or on the ground, clips (length, loops, mirror, steering angle), budget and the kart taken over 1:1 - with a selftest on code-made GLBs (6da565f)
  • Leak check: content_guard refuses the creator kit's output names anywhere and any committed blob whose content is a model, image or container (18 signatures), with a targeted allowlist for renders; --package checks a package folder (package.sh, the build job), release and nightly check their exact file lists; selftests as ctests (fbd8f96)
  • Reload Studio: external modules - every DLL in the folder modules next to the Studio (or --modules-dir) is loaded if it exports ReloadStudioModule, fits the core version and has its dependencies; a missing or broken module leaves one honest line in modules.log and the Studio runs on, a module that crashes in a callback is turned off for the session; --no-modules; ctest reloadstudio_modules with 13 test files (9349bc5)
  • Reload Studio: the pages are registered as built-in modules (rs_module.c/.h: name, page, dependencies, minimum core version) - the same pages, the same order, the same controls; rs_shell.c loops over the registry instead of its fixed tables (d3ea54d)