Architecture
Runtime architecture
The codebase is split into a few focused pieces:
Source/TimberBoostControlStarter.cs: initializes the mod folder, ensuressettings.jsonexists, and regenerates blueprint overrides at startup.Source/TimberBoostControlConfigurator.cs: wires the settings store, generator, panel, and bottom-bar module through Bindito.Source/TimberBoostControlPanel.cs: renders the read-only panel, shows the resolved settings path, and exposes the reload action.Source/TimberBoostControlGenerator.cs: readsBlueprints.zip, writes character and building overrides, and tracks generated files.Source/TimberBoostControlSettingsStore.cs: loads, saves, normalizes, upgrades persisted settings, and now logs a warning when invalid JSON forces a fallback.
Visual assets
Assets/UI/boost-icon.png is used by the in-game launcher. The button falls back to the text label Boost if the icon cannot be loaded.
Build script notes
build.ps1 compiles the DLL directly with csc.exe and references Timberborn-managed assemblies from the local game install. The current script also includes the Unity image modules needed for the button icon loading flow.
Repository layout
Source/: C# sources for the DLL modAssets/: runtime UI assets such as the launcher iconBuildings/andCharacters/: generated override output directoriesdocs/: VitePress documentation sitescripts/validate-repo.ps1: structural QA used locally and in CI
Provenance
This repository workflow and the modding scaffold were assembled with support from timberborn-modding-skill.
Recommended verification
When you change the repo:
- Run
powershell -ExecutionPolicy Bypass -File .\build.ps1if you have Timberborn installed locally. - Run
npm installonce, thennpm run validate. - Smoke-check that
settings.jsonreload regenerates files and that the bottom-bar launcher still appears.