Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e03921bc5f | ||
|
|
73429aa439 | ||
|
|
dabf77d90a | ||
|
|
0acca5e5c8 | ||
|
|
bb428cf63d | ||
|
|
bf0b252363 | ||
|
|
d6190463d0 | ||
|
|
b6bdc7839d | ||
|
|
d37d77f6ab | ||
|
|
ef638e84f9 | ||
|
|
1bebd154a0 | ||
|
|
2097db32fc | ||
|
|
ee460c1676 | ||
|
|
eeae1a1f89 | ||
|
|
693e913ecc | ||
|
|
9b547e1aee | ||
|
|
33d271c783 |
No files matched your search
@@ -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.
|
||||
@@ -0,0 +1,34 @@
|
||||
# Handoff → Forge (Ozan's Windows box): rebuild windows-x64 with the static shadow cache (2026-09-28)
|
||||
|
||||
**From:** Fable orchestrator on the Mac · **Why:** `tinqs/engine` main gained the directional static shadow cache
|
||||
(Part 1) and the stepped-sun crossfade (Part 2) — Forward+ renderer, new project settings, six+four
|
||||
`RenderingServer` methods, a second depth atlas. The game (`ariki-game` ≥ 19490e358) calls the new methods by
|
||||
name and degrades loudly on an engine without them, so Windows teammates keep working on the old binary but get
|
||||
no cache. Rollout plan: `ariki-game/.agents/handoffs/2026-09-28-static-shadow-cache-rollout.md`.
|
||||
|
||||
## Steps (mirror of `forge-windows-4.7.md`, same toolchain as the fec9847 build)
|
||||
|
||||
1. `cd engine && tinqs pull` → `git log --oneline -1` must show the Part 2 commit named in the rollout plan.
|
||||
2. Build (the flags recorded in `manifest.json` for fec9847):
|
||||
```
|
||||
scons platform=windows target=editor arch=x86_64 module_mono_enabled=yes d3d12=yes angle=yes accesskit=yes
|
||||
scons platform=windows target=editor arch=x86_64 module_mono_enabled=yes d3d12=yes angle=yes accesskit=yes windows_subsystem=console
|
||||
```
|
||||
3. Regenerate glue + GodotSharp (matched-pair law — do not skip even though no C# binding is *required* by the
|
||||
compiler; the manifest promises the pair):
|
||||
```
|
||||
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
|
||||
```
|
||||
4. Copy into this repo: `engine/windows-x64/tinqs.windows.editor.x86_64.mono.exe`, `...mono.console.exe`, and the
|
||||
whole `GodotSharp/` (replace, never merge).
|
||||
5. `manifest.json` → `engine.windows-x64`: `version` (from `--version`), `engine_commit`, both sha256s, `built_on`,
|
||||
`built_by`, `note` ("static shadow cache Part 1 + Part 2; GodotSharp regenerated"). Leave `macos-arm64` alone.
|
||||
6. `tinqs push` (LFS).
|
||||
|
||||
## Verify
|
||||
|
||||
On a Windows `ariki-game` checkout: run the `update-engine` skill, `game.sh run`, host a world, then
|
||||
`POST /command {"command":"env","key":"staticshadow","value":"on"}` — the log must NOT print
|
||||
`[STATIC-SHADOW] engine without the cache`, and `GET /perf` must show `staticShadow` with `enabled: true`.
|
||||
Terrain renders, animals animate, 0 `Wrapper class not found`.
|
||||
Whitespace-only changes.
Whitespace-only changes.
@@ -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.
|
||||
@@ -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).
|
||||
@@ -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.
|
||||
@@ -0,0 +1,22 @@
|
||||
# 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.6.5 (pre-4.7), GDExtension Terrain3D, 4.7 upgrade pending Forge —
|
||||
see `.agents/handoffs/forge-windows-4.7.md`.
|
||||
|
||||
## In flight
|
||||
|
||||
- Windows 4.7 engine build + matching GodotSharp (blocked on Forge machine — see handoff).
|
||||
- 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,3 +1,4 @@
|
||||
engine/** filter=lfs diff=lfs merge=lfs -text
|
||||
media/** filter=lfs diff=lfs merge=lfs -text
|
||||
*.pck filter=lfs diff=lfs merge=lfs -text
|
||||
*.exe filter=lfs diff=lfs merge=lfs -text
|
||||
@@ -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`.
|
||||
@@ -8,9 +8,10 @@ Build artifacts for the Tinqs stack — engine editor binaries (+ their GodotSha
|
||||
|
||||
## Installing / updating the engine
|
||||
|
||||
**Don't copy files by hand — run the skill:** [`.agents/skills/update-engine`](.agents/skills/update-engine/SKILL.md).
|
||||
Hand it to your agent; it installs the binary + GodotSharp into `../engine/bin/`, wipes stale
|
||||
caches, and verifies. Covers macOS + Windows.
|
||||
**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
|
||||
|
||||
@@ -30,11 +31,10 @@ into GodotSharp, so GodotSharp had to be regenerated — and must ship here alon
|
||||
|
||||
| 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 |
|
||||
| `engine/macos-arm64/` | **4.7.2** (`51ed21d5`) — static shadow cache + tile budget + live caster size cull + inverted contract switch, `get_video_adapter_memory()`, device-lost diagnostics | built-in module | ✅ yes (`GodotSharp/`) |
|
||||
| `engine/windows-x64/` | **4.7.2** (`2caca361`) — upstream bugfixes + static shadow cache + video adapter memory query | built-in module | ✅ yes (`GodotSharp/`) |
|
||||
|
||||
**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).
|
||||
Mac is engine `51ed21d5` as of 2026-10-05 (`--version` prints `4.7.2.stable.mono.custom_build.51ed21d5d`): 4.7.2 + static shadow cache (tile budget, live caster screen-size cull, inverted-contract switch) + the video adapter memory query + GPU device-lost diagnostics (engine wiki `shadow-pass-diet-2026-10-05.md`, `gpu-device-lost-diagnostics.md`). Windows is `2caca361` (2026-10-03, built by UyGar: `b1bc0aef` + the video adapter memory query; no 2026-10-05 round yet) until Forge rebuilds from main. The engine source repo stays private. Check `manifest.json` for sha256. The 4.7 Windows cutover handoff is resolved: [`.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.
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.
BIN
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.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
Loaded 100 of 146 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user