Compare commits

..

10 Commits

Author SHA1 Message Date
ozan 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
ozan 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
ozan 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
ozan 29b5db9071 engine(macos-arm64): rebuild with Tinqs branding restored (logos/splash)
The 4.7 build now bakes in the Tinqs logos again (upstream rebase had reset them to
the Godot robot). New binary sha + version 4ba7b5b5b (engine 5727de0). GodotSharp
unchanged (logo-only rebuild — C# bindings identical), so only the binary is re-shipped.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 03:05:41 +01:00
ozan b0810fbdfd engine(macos-arm64): 4.7 native-module build + ship GodotSharp; add update-engine skill
- Replace macOS binary with the 4.7 build where Terrain3D + agent_skinned are native
  engine modules (no GDExtension .framework). Fixed C# bindability (set_plugin->Object,
  abstract Terrain3DAssetResource, drop dup duplicate bind) so glue generates.
- SHIP GodotSharp alongside the binary (matched pair) — stale/missing GodotSharp causes
  "Wrapper class not found for Terrain3D" / ".NET assemblies not found". Engine does not
  regenerate it. Un-ignore GodotSharp in .gitignore.
- manifest.json: macOS -> 4.7 (4ba7b5b) + new sha + godotsharp field; drop obsolete
  terrain_3d GDExtension section; windows flagged 4.7-pending.
- Add .agents/skills/update-engine (mac+win self-serve install) + README + Forge handoff.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 02:35:00 +01:00
ozan cf4a8bc6e3 Merge branch 'main' of ssh.tinqs.com:tinqs/builds 2026-06-18 21:58:46 +01:00
ozan 33b37f47de engine(macos-arm64): host Tinqs Engine 4.7.0 binary (8d56dbe)
Godot 4.7-stable rebased with Tinqs branding + 10 agent modules + terrain3d.
4.7 migration fixes: callable_mp.h + class_db.h includes, macOS SCsub #bin/tinqs.
Build green on Kraken (Xcode 26.3). Binary reports 4.7.stable.mono.custom_build.8d56dbe70.
Windows stays 4.6.4 (4.7 Forge build pending). terrain_3d GDExtension NOT yet rebuilt for 4.7 ABI.
2026-06-18 21:56:33 +01:00
ozan e06ff7c3ca Merge branch 'main' of ssh.tinqs.com:tinqs/builds 2026-06-16 01:46:22 +01:00
ozan 19e3cc84bd build(windows): engine 420e74bf8e (4.6.5) — agent_skinned mat4x3 palette, far-LOD dominant-bone 2026-06-16 01:41:48 +01:00
264 changed files with 896 additions and 44 deletions
+62
View File
@@ -0,0 +1,62 @@
# 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.
+3 -2
View File
@@ -1,2 +1,3 @@
# Locally-extracted engine runtime (GodotSharp C# assemblies) not tracked
engine/windows-x64/GodotSharp/
# GodotSharp (the engine's C# bindings) IS now tracked and shipped alongside each binary.
# It is a matched pair with the binary — see README.md / .agents/skills/update-engine.
# (Previously windows-x64/GodotSharp was ignored; that was wrong — teammates need it.)
+36 -6
View File
@@ -1,11 +1,41 @@
# tinqs/builds
Build artifacts for the Tinqs stack — engine editor binaries and game exports.
**Binaries are stored via Git LFS** (see `.gitattributes`). Source lives in `tinqs/engine`,
`tinqs/ariki-game`, `tinqs/ariki-sim`. See `manifest.json` for what's here.
Build artifacts for the Tinqs stack — engine editor binaries (+ their GodotSharp C# bindings).
**Binaries and GodotSharp are stored via Git LFS** (see `.gitattributes`). Source lives in
`tinqs/engine`, `tinqs/ariki-game`, `tinqs/ariki-sim`. See `manifest.json` for exact versions.
Long-term plan: CI (Gitea Actions) builds on push and publishes here / to S3 — see
`docs/ai/plans/build-pipeline-architecture-2026-06-07.md`.
> **Use `tinqs pull` / `tinqs push`, never raw git** — these are LFS-heavy.
## Installing / updating the engine
**Don't copy files by hand — run the `update-engine` skill (it lives in the game repo, which everyone has):**
[tinqs.com/tinqs/ariki-game · .agents/skills/update-engine](https://tinqs.com/tinqs/ariki-game/src/branch/main/.agents/skills/update-engine/SKILL.md).
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
Each engine binary ships with a `GodotSharp/` folder (Godot's C# bindings) **generated from that
exact engine build**. You must install them **together** and replace any old `GodotSharp`.
- The engine does **NOT** regenerate GodotSharp at runtime. If it's missing you get a
**`.NET assemblies not found`** dialog pointing at `engine/bin/GodotSharp/Api/Debug`.
- A **stale** GodotSharp (from an older engine) against a newer binary throws
**`Wrapper class not found for type: Terrain3D`** → terrain renders as water, animals don't animate.
This matters now because **Terrain3D and `agent_skinned` are native engine modules** (no separate
`addons/terrain_3d` GDExtension `.framework`). Built-in module classes need their wrappers baked
into GodotSharp, so GodotSharp had to be regenerated — and must ship here alongside the binary.
## Current contents
- `engine/macos-arm64/tinqs.macos.editor.arm64.mono` — Godot 4.6.3 fork editor (mono), built on Kraken with Xcode 26.3.
| Platform | Engine | Terrain3D | GodotSharp shipped? |
|---|---|---|---|
| `engine/macos-arm64/` | **4.7** (`4ba7b5b`) — native modules | built-in module | ✅ yes (`GodotSharp/`) |
| `engine/windows-x64/` | **4.6.5** (`420e74bf8`) — still GDExtension | GDExtension | ❌ pending — see handoff |
**Windows is not yet on 4.7.** The 4.7 Windows build + its GodotSharp must come from Forge —
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 —
`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.

Some files were not shown because too many files have changed in this diff Show More