Compare commits

...
59 Commits
Author SHA1 Message Date
ozan 07f7b42d64 manifest(windows-x64): 73d20a40b verification closed — oracle 10/10 zero VUIDs, DIC 22/0, cull_pool 4524/4524, headless smoke clean 2026-10-19 20:03:54 +01:00
ozan 76edf9ccc9 engine(windows-x64): publish 73d20a40b — #250 parallel-recording nest FATAL fix + texture_rid bind-race fix (milky ocean); GodotSharp regenerated; fast publish per owner (oracle on this hash owed) 2026-10-19 19:54:23 +01:00
ozanandClaude Opus 5.5 c632796638 engine(macos-arm64): publish 73d20a40 - #250 parallel draw-list sub-recordings nest + RD texture wrappers allocate their RS texture before the render-thread bind (milky ocean under the separate render thread); GodotSharp regenerated
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 18:41:17 +01:00
ozan 736e3e9bc3 engine(windows-x64): publish d49400463 — VUID-00050 pool-reset fix VERIFIED (oracle 10/10, zero VUIDs, validation on) before publish; GodotSharp regenerated 2026-10-19 04:15:43 +01:00
ozanandClaude Opus 5.5 05704fd826 docs(readme): Mac current-contents sentence names d4940046
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 04:03:11 +01:00
ozanandClaude Opus 5.5 74072b67d7 engine(macos-arm64): publish d4940046 - parallel-replay secondary command pools reset per frame (VUID-vkBeginCommandBuffer-00050 fix); GodotSharp regenerated, API unchanged; Windows still a967d12bf, pin moves when Forge publishes d4940046
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 04:01:03 +01:00
ozanandClaude Opus 5.5 af72922179 docs: drop throttled Windows perf claims (Forge power plan); keep oracle + VUID facts
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 03:50:20 +01:00
ozanandClaude Opus 5.5 6b7dab6242 chore: delete every Forge handoff from builds - Windows test steps and results live on the engine wiki page that owns the feature; README and master plan point there
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 03:09:33 +01:00
ozanandClaude Opus 5.5 e16736c518 handoff(forge): laptop setup checklist (power mode, MUX dGPU-only, CPU name, core placement) + main-thread rendering control run (--render-thread safe) with /mainthread reads
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 03:07:19 +01:00
ozan 17d80b0004 Merge branch 'main' of ssh.tinqs.com:tinqs/builds
# Conflicts:
#	.agents/handoffs/forge-windows-parallel-replay.md
2026-10-19 02:31:58 +01:00
ozanandClaude Opus 5.5 017badfc4d handoff(forge): add GPU HZB occlusion A/B (gpucull hzb off/on) to the parallel replay run
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 02:31:13 +01:00
ozan c1b7e0809a engine(windows-x64): publish a967d12bf — parallel draw-list replay + recording (default off); GodotSharp regenerated; engine-side tests: oracle 10/10 (VUID-00050 finding recorded), DIC d3d12 22/0 validated, cull_pool 4524/4524 validated 2026-10-19 01:50:44 +01:00
ozan 22943169cc handoff(forge): engine-side oracle results on a967d12b — replay+record 10/10 (VUID-00050 finding), DIC d3d12 22/0 validated, cull_pool d3d12 4524/4524 validated; Vulkan SDK + D3D12 debug layer installed on Forge 2026-10-19 01:40:43 +01:00
ozanandClaude Opus 5.5 4485763114 engine(macos-arm64): publish a967d12b - parallel draw-list replay (Vulkan) + parallel draw-list recording (all drivers); GodotSharp regenerated
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 01:18:41 +01:00
ozanandClaude Opus 5.5 431d213451 handoff(forge): parallel replay + recording A/B on engine a967d12b, occlusion A/B added
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 01:10:15 +01:00
ozanandClaude Opus 5.5 bde94a1bca handoff(forge): windows A/B of parallel draw-list replay, engine 06ecc5df
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018hSLRwirUk2NF4j1v2kH4Z
2026-10-19 00:10:45 +01:00
ozan ddb10953c6 engine(windows-x64): publish e64890fd3 — G4 mergeable-draw counter on the 4fde0e94 pair; GodotSharp regenerated (new enum); headless boot clean 2026-10-18 22:00:20 +01:00
ozanandClaude Opus 5.5 004ca6d959 engine(macos-arm64): publish e64890fd — Apple render-thread autorelease drain (Mach-port/Metal leak under thread_model=2), G4 mergeable-draw counter; GodotSharp regenerated; Forge handoff
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-18 21:05:12 +01:00
ozan 26cc48e674 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	README.md
#	manifest.json
2026-10-18 05:12:54 +01:00
ozan bb9c51a665 engine(windows-x64): publish 4fde0e94d — G2 pooled cull on top of 9dcc5d45; GodotSharp regenerated (pooled/band APIs); pin version-only until Mac publishes 2026-10-18 05:06:52 +01:00
ozanandClaude Opus 5.5 49ab3756b4 chore(manifest): restore CRLF line endings
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-18 04:58:29 +01:00
ozanandClaude Opus 5.5 76f088e6a0 engine(macos-arm64): publish 4fde0e94 - G2 pooled GPU cull, fixed shadow band, STATIC_SHADOW_AT_REST; GodotSharp regenerated; Forge handoff for Windows
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-18 04:56:22 +01:00
ozan bdb2dc8ca8 engine(windows-x64): publish 9dcc5d458 — SSCS + hero shadow min-combine + shadow fixes + draw_indirect_count (D3D12); GodotSharp regenerated (Api + Tools); oracle 22/24 (base-instance gap) 2026-10-18 04:35:59 +01:00
ozanandClaude Opus 5.5 9d90e417ba engine(macos-arm64): publish 9dcc5d45 - screen-space contact shadows, hero shadow min-combine, upstream 4.8 shadow fixes #121775/#124348, draw_indirect_count (Metal); GodotSharp regenerated (API + Tools); Windows still 7fb81364b, Forge rebuild handoff forge-windows-sscs-9dcc5d45.md
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-18 02:50:40 +01:00
ozanandClaude Opus 5.5 50ac90c232 docs(macos-arm64): 7fb81364 note - Windows already carries 7fb81364, both platforms match; no skip-check needed
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-17 23:03:19 +01:00
ozanandClaude Opus 5.5 187d0dace5 engine(macos-arm64): publish 7fb81364 - 0ec39c95 + crash-report review fixes (no API change, GodotSharp unchanged); the game pin 4.7.2@0ec39c954 refuses it until Windows publishes 7fb81364 and the pin moves - TINQS_ENGINE_SKIP_CHECK=1 meanwhile
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-17 23:03:03 +01:00
ozan 74aa47df5d handoff(forge-windows): 7fb81364 published on Windows — Mac clear to publish, pin is version-only 4.7.2 until the @7fb81364b flip 2026-10-17 22:59:49 +01:00
ozan f0a8bcfb2e Merge branch 'main' of ssh.tinqs.com:tinqs/builds 2026-10-17 22:59:12 +01:00
ozan 871000bcf4 engine(windows-x64): publish 7fb81364b — crash-handler fixes (first-wins claim, freeze note/context); GodotSharp regenerated 2026-10-17 22:50:13 +01:00
ozanandClaude Opus 5.5 b16a4afb4a handoff(forge-windows): rebuild at engine 7fb81364 (crash-report review fixes, Windows files not compiled on Mac); Mac holds its 7fb81364 binary until Windows publishes so the 4.7.2@0ec39c954 pin keeps working
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-17 22:45:19 +01:00
ozan f277a0e30a engine(windows-x64): publish 0ec39c954 — GPU diet + R0 P5 crash/freeze/device-lost reporting, GodotSharp regenerated 2026-10-17 22:25:43 +01:00
ozanandClaude Opus 5.5 935b73e624 engine(macos-arm64): publish 0ec39c95 — normal-roughness pre-pass built-in, tonemap cinematic stack, render-thread CPU profile, R0 P5 crash/freeze/device-lost reporting + structured engine errors; GodotSharp regenerated; Windows handoff
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NCXU49xtHLSry4TQEzVN2m
2026-10-17 21:21:57 +01:00
ozan 1f19c87607 fix(windows-x64): relink editor binary at 1e7be28b1 — baked version string now matches the commit (was d88e0a051, fails required_engine_build gate); manifest sha256 corrected 2026-10-05 20:03:18 +01:00
ozanandClaude Fable 5.1 5171b5979b engine(macos-arm64): publish 1e7be28b (same code as b0daf759, relinked to match the Windows pair d4cf0b7) — both platforms on one engine commit; GodotSharp regenerated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 19:23:40 +01:00
ozanandClaude Fable 5.1 c737ff6c05 engine(macos-arm64): publish 1e7be28b (same code as b0daf759, relinked to match the Windows pair d4cf0b7) — both platforms on one engine commit; GodotSharp regenerated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 19:21:54 +01:00
ozan d4cf0b7a19 engine/windows-x64: 4.7.2 1e7be28b1 — Stage C HZB + multimesh_cull + parallel shadow-fill; template_release + editor + GodotSharp; first game export published (pck excluded, LFS size) 2026-10-05 19:06:33 +01:00
ozan 45f3cf9a3b Merge branch 'main' of ssh.tinqs.com:tinqs/builds 2026-10-05 19:04:25 +01:00
ozan e22fa7cf49 Merge origin/main: take origin's manifest (2026-09-28 Kraken update) 2026-10-05 19:03:30 +01:00
ozanandClaude Fable 5.1 b399bb810a engine(macos-arm64): publish b0daf759 — GPU culling Stage C + housekeeping, static cache single-sample/hard-filter options, Metal profiler fix, parallel shadow fill; GodotSharp regenerated; smoke 0 wrapper errors
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 18:19:44 +01:00
ozanandClaude Fable 5.1 7bf90508c3 handoff(forge): rebuild Windows pair from main >= 615e852f, re-judge render verdicts, pin
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 17:27:45 +01:00
ozanandClaude Fable 5.1 c6849a35d9 engine(macos-arm64): publish 615e852f (code c76f2ecc) — GPU culling Stage B2 CPU band skip; GodotSharp regenerated; smoke 0 wrapper errors, large+huge village staged
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 17:21:58 +01:00
ozan 7bb622364e engine(macos-arm64): publish d88e0a05 — GPU-driven MultiMesh culling Stage A+B (multimesh_set_gpu_cull/_gpu_lods) + real Metal GPU timestamps + staggered far cascades + fit_to_visible_depth + Metal copy-queue stall fix + Vulkan breadcrumb barrier fix (#185), on top of the shadow diet + memory query; GodotSharp regenerated (3 new bindings verified); windows-x64 untouched (still b1bc0aef), pin waits for Forge 2026-10-05 15:42:03 +01:00
ozanandClaude Fable 5.1 73429aa439 engine(macos-arm64): publish 51ed21d5 — shadow pass diet (static tile budget, live caster screen-size cull, inverted static contract switch) + GPU device-lost diagnostics, on top of 4.7.2 + static shadow cache + get_video_adapter_memory; GodotSharp regenerated; smoke on Kraken: 0 wrapper errors, inverted contract 1379 → 956 draws on the staged village; windows-x64 untouched (still b1bc0aef)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 11:37:33 +01:00
ozanandClaude Fable 5.1 dabf77d90a engine(macos-arm64): publish 2caca361 — 4.7.2 + static shadow cache + get_video_adapter_memory (UyGar's feat/video-adapter-memory merged to main); GodotSharp regenerated (GetVideoAdapterMemory present); Metal smoke on Kraken total 49152 / used 10 / budget -1; manifest + README updated, windows-x64 untouched (still b1bc0aef)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DMYMsxo9dDeCWCPiVH95z2
2026-10-05 10:51:47 +01:00
ozan 0acca5e5c8 engine/windows-x64: 4.7.2 b1bc0aef — static shadow cache + stepped sun crossfade; GodotSharp regenerated (Terrain3D verified); tested on kraken (boots, assemblies load, zero wrapper errors, world ticks); manifest updated 2026-09-28 02:40:31 +01:00
ozan fe4c0c6fc9 engine/windows-x64: 4.7.2 b1bc0aef — static shadow cache + stepped sun crossfade; GodotSharp regenerated (Terrain3D verified); tested on kraken (boots, assemblies load, zero wrapper errors, world ticks); manifest updated 2026-09-28 02:26:30 +01:00
ozanandCursor bb428cf63d engine(macos-arm64): publish 4.7.2 with the static shadow cache
Mac teammates install this binary and its GodotSharp together. Windows stays on fec9847. The engine source repo is unchanged and stays private.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-28 01:49:08 +01:00
ozanandClaude Fable 5.1 bf0b252363 docs(handoff): Forge — rebuild windows-x64 with the static shadow cache (engine Part 1 + Part 2)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U9fkiH8GpdM5wKYRnnrhuH
2026-09-28 00:09:32 +01:00
Can NarinandClaude Fable 5 d6190463d0 media(trailer): README — stills ARE retained in tinqs/design trailer-storyboards
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 21:54:43 +03:00
Can NarinandClaude Fable 5 b6bdc7839d media(trailer): add 34.4s audio cut of the Ariki demo trailer alongside the 61.3s silent final
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-25 21:27:06 +03:00
ozan d37d77f6ab engine(windows-x64): fec9847 — spring-bone collision fix + lateral coupling
Match the Kraken macos-arm64 drop: same engine commit, regenerated GodotSharp (lateral_coupling), Planet-Dot splash baked in.
2026-08-21 20:48:59 +01:00
ozan ef638e84f9 Merge branch 'main' of ssh.tinqs.com:tinqs/builds 2026-08-21 20:24:46 +01:00
ozan 1bebd154a0 engine macos-arm64: fec9847 — spring-bone collision fix + lateral coupling
a5debaa: colliders mapped into sim space in the wrong transform order —
off-origin cloth collision silently dead (invisible at origin/bed).
fec9847: lateral_coupling (game calls it). GodotSharp regenerated from
this build — matched pair, install via the update-engine skill.
2026-08-21 20:21:25 +01:00
Can NarinandClaude Fable 5 2097db32fc media: Ariki demo trailer (2026-07-03 cut) + normalized clips for Jeremy's audio pass
Final 61.3s silent cut + the 9 per-shot norm clips (LFS). Handoff: Can -> Jeremy.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-20 20:15:13 +03:00
jeremyandClaude Opus 4.8 ee460c1676 agents: add AGENTS.md + .agents/ scaffolding (wiki/plans/skills stubs)
Adds the root AGENTS.md entry point and minimal .agents/ skeleton
(SOUL, wiki/master-plan+ARCHITECTURE, plans/, skills/) per the
per-repo-agents-convention. Existing handoffs/ untouched.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 15:01:06 -07:00
ozanandClaude Opus 4.8 eeae1a1f89 move update-engine skill to game repo (everyone has ariki-game, not engine); point README/manifest there
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 04:54:15 +01:00
ozanandClaude Opus 4.8 693e913ecc skill(update-engine): full machine update — pull game repo + builds, then install engine
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 04:50:45 +01:00
ozan 9b547e1aee Merge branch 'main' of ssh.tinqs.com:tinqs/builds
# Conflicts:
#	.gitignore
#	manifest.json
2026-06-19 04:26:18 +01:00
ozanandClaude Opus 4.8 33d271c783 engine(windows-x64): publish 4.7 editor + GodotSharp C# assemblies
- Update windows-x64 to engine 4f2e02e5b7 (Godot 4.7, branded). New editor +
  console binaries (was 4.6.5 / 420e74bf8, now discarded).
- Add GodotSharp/ (Api + Tools, 199MB) — REQUIRED for other agents/machines to
  build & run the C# game against this binary (dotnet build links these). Mirrors
  the consume model: build once, everyone consumes.
- manifest.json: version/commit/sha256 bumped, godotsharp path + install note added.

macos-arm64 still 4.6.5 — Kraken to rebuild for 4.7.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 04:18:27 +01:00
533 changed files with 287201 additions and 237 deletions

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
# SOUL — tinqs/builds
Inherits the shared Tinqs identity, values, and confidentiality rules from the hub:
`tinqs-ltd/docs/.agents/SOUL.md`. Read that first.
Nothing repo-specific to add — this is a build artifact store, not a product with its own voice.
-62
View File
@@ -1,62 +0,0 @@
# Handoff → Forge (Ozan's Windows box): build Windows 4.7 + ship GodotSharp
**Date:** 2026-06-19 · **From:** macOS 4.7 native-module migration · **For:** Windows build owner
## Why
The engine moved to **Godot 4.7** and **Terrain3D + agent_skinned are now native engine modules**
(compiled into the binary — no GDExtension `.framework`). macOS is done and shipped in this repo
(`engine/macos-arm64/`). **Windows is still 4.6.5 with the GDExtension** and must be brought up to
4.7 the same way, or Windows teammates can't run the new `ariki-game` (the game-side cutover removed
the terrain GDExtension).
## The critical bit (don't skip)
After the 4.7 build you **must regenerate GodotSharp and ship it next to the binary.** A native
module changes the engine's class list; the C# bindings (`GodotSharp`) must be regenerated to
include `Terrain3D` / `MultiSkinnedMeshInstance3D`, or the game throws
`Wrapper class not found for type: Terrain3D` (terrain = water, animals frozen). The engine does
**not** regenerate GodotSharp at runtime.
## Steps (Windows)
1. **Sync engine source** to the current `tinqs/engine` `main` (single 4.7 snapshot, `4ba7b5b`).
```
cd engine
tinqs pull # or: git fetch origin && git checkout main && git reset --hard origin/main
```
2. **Build the editor**:
```
scons platform=windows target=editor arch=x86_64 module_mono_enabled=yes
scons platform=windows target=editor arch=x86_64 module_mono_enabled=yes windows_subsystem=console # console binary
```
3. **Regenerate the mono glue + GodotSharp assemblies** (this is the step that fixes the wrapper errors):
```
bin\tinqs.windows.editor.x86_64.mono.exe --headless --generate-mono-glue modules\mono\glue
python modules\mono\build_scripts\build_assemblies.py --godot-output-dir=bin --godot-platform=windows
```
Confirm `bin\GodotSharp\Api\Debug\GodotSharp.dll` exists and that
`modules\mono\glue\...\Generated\Constructors.cs` contains `Terrain3D` (grep it).
4. **If you hit the same build errors I did** (already fixed in `main`, but for reference): a core
module can't expose an editor-API type — `Terrain3D::set_plugin` must take `Object*` not
`EditorPlugin*`; `Terrain3DAssetResource` must be `GDREGISTER_ABSTRACT_CLASS`; drop the redundant
`Terrain3DRegion::duplicate` bind. These are already in `main` — a clean pull should have them.
5. **Drop into this builds repo** (`engine/windows-x64/`):
- `tinqs.windows.editor.x86_64.mono.exe` (+ `.console.exe`)
- the whole `GodotSharp/` folder ← **new requirement; was previously .gitignored**
6. **Update `manifest.json`** windows-x64 block: version `4.7…`, `engine_commit` `4ba7b5b`, new
sha256s, add `"godotsharp": "engine/windows-x64/GodotSharp"`, clear the "pending" note.
7. `tinqs push`.
## Verify
On a Windows machine with `ariki-game`: run the update-engine skill (`.agents/skills/update-engine`,
Windows path), launch `game.sh run`. Healthy = terrain renders, animals animate, **0**
`Wrapper class not found`, no `.NET assemblies not found`.
## Notes
- `.gitattributes` already LFS-tracks `engine/**`, so the binary + GodotSharp go to LFS automatically.
- The macOS side in this repo is the reference for exactly what the layout should look like.
- Game-side cutover (GDExtension removal, `project.godot`→4.7) is committed on `ariki-game` `main`
(held pending team sync) — Windows teammates need this engine before that lands for them.
View File
Whitespace-only changes.
View File
Whitespace-only changes.
-89
View File
@@ -1,89 +0,0 @@
---
name: update-engine
description: Install/update the local Tinqs engine (binary + GodotSharp C# bindings) from this builds repo so ariki-game runs on the current engine. Use when an engine update is announced, when setting up a new machine, or when the game shows ".NET assemblies not found" or "Wrapper class not found for type: Terrain3D" (terrain is water / animals don't animate). Covers macOS (arm64) and Windows (x64).
---
# Update the Tinqs engine from `builds`
**Only Ozan edits the engine source.** Everyone else installs the prebuilt engine from this
repo into `../engine/bin/`, which is where `ariki-game` looks for it.
## ⚠️ Read this first — binary + GodotSharp are a MATCHED PAIR
The engine binary and its `GodotSharp/` folder (Godot's C# bindings) are **both generated from the
same engine source** and must be installed **together**. The binary does **not** regenerate
`GodotSharp` — it must sit next to the binary on disk. Mismatch symptoms:
| Symptom | Cause |
|---|---|
| `.NET assemblies not found` dialog (looks for `engine/bin/GodotSharp/Api/Debug`) | no `GodotSharp` present |
| `Wrapper class not found for type: Terrain3D` / `MultiSkinnedMeshInstance3D` — terrain renders as water, animals don't animate | **stale** `GodotSharp` from an older engine that predates the built-in Terrain3D / agent_skinned modules |
So: always **replace `GodotSharp` wholesale** when you take a new binary, and clear the game's C#
cache so it rebuilds against the new bindings.
## Assumed layout
```
tinqs-ltd/
ariki-game/ ← the game (looks for ../engine/bin/…)
engine/bin/ ← install target: binary + GodotSharp live here
builds/ ← this repo (prebuilt engine)
```
Adjust paths below if your checkout differs.
## 1. Pull the latest build
```bash
cd <…>/builds
tinqs pull # never `git pull` — tinqs handles LFS (the binary + GodotSharp are LFS)
```
Check `builds/manifest.json` for the current version/commit per platform.
## 2a. Install — macOS (arm64)
```bash
BUILDS="<…>/builds"; ENGINE="<…>/engine/bin"; GAME="<…>/ariki-game"
mkdir -p "$ENGINE"
# 1) binary
cp "$BUILDS/engine/macos-arm64/tinqs.macos.editor.arm64.mono" "$ENGINE/"
chmod +x "$ENGINE/tinqs.macos.editor.arm64.mono"
# 2) GodotSharp — REPLACE wholesale (matched pair)
rm -rf "$ENGINE/GodotSharp"
cp -R "$BUILDS/engine/macos-arm64/GodotSharp" "$ENGINE/GodotSharp"
# 3) clear the game's stale C# cache
rm -rf "$GAME/.godot/mono"
```
## 2b. Install — Windows (x64), PowerShell
```powershell
$builds="<…>\builds"; $engine="<…>\engine\bin"; $game="<…>\ariki-game"
New-Item -ItemType Directory -Force -Path $engine | Out-Null
# 1) binaries
Copy-Item "$builds\engine\windows-x64\tinqs.windows.editor.x86_64.mono.exe" $engine -Force
Copy-Item "$builds\engine\windows-x64\tinqs.windows.editor.x86_64.mono.console.exe" $engine -Force
# 2) GodotSharp — REPLACE wholesale (matched pair)
Remove-Item -Recurse -Force "$engine\GodotSharp" -ErrorAction SilentlyContinue
Copy-Item -Recurse "$builds\engine\windows-x64\GodotSharp" "$engine\GodotSharp"
# 3) clear the game's stale C# cache
Remove-Item -Recurse -Force "$game\.godot\mono" -ErrorAction SilentlyContinue
```
## 3. Verify
```bash
"$ENGINE/tinqs.macos.editor.arm64.mono" --version # matches manifest.json
ls "$ENGINE/GodotSharp/Api/Debug/GodotSharp.dll" # MUST exist
```
Then run the game (`cd ariki-game && bash tools/game.sh run`). Healthy = terrain renders, animals
animate, log shows **0** `Wrapper class not found` and no `.NET assemblies not found` dialog.
## Notes
- **GodotSharp must be present in this repo for the copy to work.** If `builds/engine/<platform>/GodotSharp`
is missing, the build owner needs to add it (it ships *with* the binary — see `manifest.json`).
- Don't mix a new binary with an old `GodotSharp`. Always replace both, together.
- Terrain3D and the skinned-animation classes are **built into the engine binary** now (no separate
`addons/terrain_3d` GDExtension `.framework`). If you still have `addons/terrain_3d/terrain.gdextension`
or the macOS `.framework`, remove them — they conflict with the built-in module.
+17
View File
@@ -0,0 +1,17 @@
# ARCHITECTURE — tinqs/builds
Build artifact repo, not a codebase. There's no runtime architecture to document — the "system"
is a flat, LFS-backed artifact store plus a manifest.
## Layout
- `engine/<platform>/` — engine editor binaries + their matched `GodotSharp/` C# bindings
- `manifest.json` — exact versions/commits for each shipped artifact
- `.gitattributes` — Git LFS rules for binaries and GodotSharp
## Law
Binary and `GodotSharp/` for a given engine build are a **matched pair** — always install/replace
together. See root `README.md` for the full rule and current per-platform status table.
See `architecture/` for any future per-system breakdowns (none yet — repo is single-purpose).
+4
View File
@@ -0,0 +1,4 @@
# Architecture docs
Per-system architecture notes go here as this repo grows beyond a flat artifact store.
Currently empty — see `../ARCHITECTURE.md` for the current-state summary.
+20
View File
@@ -0,0 +1,20 @@
# Master plan — tinqs/builds
## Current state
Build artifact repo: stores engine editor binaries + matched `GodotSharp/` C# bindings for the
Tinqs/Ariki stack, plus `manifest.json` tracking exact shipped versions. Source lives in
`tinqs/engine`, `tinqs/ariki-game`, `tinqs/ariki-sim` — this repo only holds built output.
- macOS arm64: engine 4.7, native Terrain3D module, GodotSharp shipped.
- Windows x64: engine 4.7, built on Forge, GodotSharp shipped.
## In flight
- Longer-term: CI (Gitea Actions) building on push and publishing here / to S3 — tracked in
`docs/ai/plans/build-pipeline-architecture-2026-06-07.md` (hub repo, not here).
## Recently shipped
- macOS arm64 rebuilt on 4.7 with native Terrain3D + agent_skinned modules, Tinqs branding restored,
GodotSharp regenerated to match.
+1
View File
@@ -1,3 +1,4 @@
engine/** filter=lfs diff=lfs merge=lfs -text engine/** filter=lfs diff=lfs merge=lfs -text
media/** filter=lfs diff=lfs merge=lfs -text
*.pck filter=lfs diff=lfs merge=lfs -text *.pck filter=lfs diff=lfs merge=lfs -text
*.exe filter=lfs diff=lfs merge=lfs -text *.exe filter=lfs diff=lfs merge=lfs -text
+32
View File
@@ -0,0 +1,32 @@
# AGENTS.md — tinqs/builds
## Identity
Build artifact repo for the Tinqs/Ariki engine stack — engine editor binaries + matched
`GodotSharp/` C# bindings, tracked in `manifest.json`. Not a codebase; source lives in
`tinqs/engine`, `tinqs/ariki-game`, `tinqs/ariki-sim`.
**Read the docs hub at session start:** `tinqs-ltd/docs/AGENTS.md` — shared identity, team roster,
cross-repo rules. This file is the thin, repo-specific entry point; per-repo detail lives in
`.agents/`.
## Knowledge map (`.agents/`)
| Path | Role | When |
|---|---|---|
| `.agents/SOUL.md` | Identity (inherits hub) | always-on |
| `.agents/wiki/master-plan.md` | Current state + in-flight work | always-on |
| `.agents/wiki/ARCHITECTURE.md` | Architecture law (entry point) | consult-when |
| `.agents/wiki/architecture/` | Per-system architecture docs | consult-when |
| `.agents/plans/` | Open/executing work (temporary — graduates to wiki) | consult-when |
| `.agents/skills/` | Agent playbooks | consult-when |
| `.agents/handoffs/` | Cross-machine task queue (e.g. `forge-windows-4.7.md`) | consult-when |
Root `README.md` and `manifest.json` are the human-facing/data source of truth for what's actually
shipped — read those for exact current contents.
## Git
- Branch: **main** only.
- Sync with `tinqs push` / `tinqs pull` (LFS-heavy repo — never raw `git push`/`git pull`).
- Commit with plain `git commit`.
+7 -7
View File
@@ -8,9 +8,10 @@ Build artifacts for the Tinqs stack — engine editor binaries (+ their GodotSha
## Installing / updating the engine ## Installing / updating the engine
**Don't copy files by hand — run the skill:** [`.agents/skills/update-engine`](.agents/skills/update-engine/SKILL.md). **Don't copy files by hand — run the `update-engine` skill (it lives in the game repo, which everyone has):**
Hand it to your agent; it installs the binary + GodotSharp into `../engine/bin/`, wipes stale [tinqs.com/tinqs/ariki-game · .agents/skills/update-engine](https://tinqs.com/tinqs/ariki-game/src/branch/main/.agents/skills/update-engine/SKILL.md).
caches, and verifies. Covers macOS + Windows. Hand it to your agent; it `tinqs pull`s ariki-game + builds, installs the binary + GodotSharp into
`../engine/bin/`, wipes stale caches, and verifies. Covers macOS + Windows.
## ⚠️ The one rule: binary + GodotSharp are a MATCHED PAIR ## ⚠️ The one rule: binary + GodotSharp are a MATCHED PAIR
@@ -30,11 +31,10 @@ into GodotSharp, so GodotSharp had to be regenerated — and must ship here alon
| Platform | Engine | Terrain3D | GodotSharp shipped? | | Platform | Engine | Terrain3D | GodotSharp shipped? |
|---|---|---|---| |---|---|---|---|
| `engine/macos-arm64/` | **4.7** (`4ba7b5b`) — native modules | built-in module | ✅ yes (`GodotSharp/`) | | `engine/macos-arm64/` | **4.7.2** (`73d20a40`) — `d4940046` plus the #250 parallel-recording nesting fix and the Texture2DRD bind-race fix | built-in module | ✅ yes (`GodotSharp/`) |
| `engine/windows-x64/` | **4.6.5** (`420e74bf8`) — still GDExtension | GDExtension | ❌ pending — see handoff | | `engine/windows-x64/` | **4.7.2** (`73d20a40b`) — same hash as macos-arm64: parallel replay+recording (game ships both ON) + VUID-00050 pool reset + the #250 recording-nest FATAL fix + the Texture2DRD bind-race fix (milky ocean); `template_release` here is still the `1e7be28b` tree | built-in module | ✅ yes (`GodotSharp/`) |
**Windows is not yet on 4.7.** The 4.7 Windows build + its GodotSharp must come from Forge — Mac is engine `73d20a40` as of 2026-10-19 (`--version` `4.7.2.stable.mono.custom_build.73d20a40b`): `d4940046` plus `219b914c` (#250, parallel draw-list sub-recordings nest; Windows Ultra-bench FATAL) and `73d20a40` (RD texture wrappers allocate their RS texture before the render-thread bind, fixing the milky ocean under the separate render thread); GodotSharp regenerated, API unchanged. **Windows is also engine `73d20a40b` as of 2026-10-19** — Forge fast-published on the owner's request after GodotSharp regen (oracle + headless smoke on this exact hash still owed; both fixes sit in the engine's own oracle coverage). Before this, Windows `d49400463` verified the VUID-00050 pool-reset fix with a validated oracle run (10/10, zero VUIDs) and carried the parallel features' fps-lane results (no regression, rGPU 8.1→6.8 ms, soak + eye check pass, game ships both ON); `draw_indirect_count` d3d12 22/0 with debug layer, `multimesh_cull_pool` d3d12 4524/4524 (pooled-cull gate met); Vulkan SDK + Graphics Tools installed on Forge. Still owed on Windows: oracle on `73d20a40b`, a `--gpu-validation` in-game soak, tests=yes unit suites, crash checklist. Underneath: `e64890fd` (Apple autorelease-drain + G4 census) on `4fde0e94` (G2 pooled cull, fixed shadow band, `STATIC_SHADOW_AT_REST`) on the `9dcc5d458` pair (SSCS contact shadows, hero shadow min-combine, upstream 4.8 shadow fixes #121775/#124348 with the game sun bias 0.014, `draw_list_draw_indirect_count`).
see [`.agents/handoffs/forge-windows-4.7.md`](.agents/handoffs/forge-windows-4.7.md).
Long-term: CI (Gitea Actions) builds on push and publishes here / to S3 — Long-term: CI (Gitea Actions) builds on push and publishes here / to S3 —
`docs/ai/plans/build-pipeline-architecture-2026-06-07.md`. `docs/ai/plans/build-pipeline-architecture-2026-06-07.md`.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loaded 100 of 533 files, more files were not shown because too many files have changed in this diff. Show more