Skip to content

chore(art): stop shipping the two characters nothing draws#35

Merged
ralyodio merged 1 commit into
mainfrom
chore/drop-unshipped-characters
Jul 27, 2026
Merged

chore(art): stop shipping the two characters nothing draws#35
ralyodio merged 1 commit into
mainfrom
chore/drop-unshipped-characters

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Settling on the generated character for now, after two failed attempts at animating the Synty ones.

Nothing changes on screen — the bots already used the generated character. What changes is that fighter_insurgent.glb and fighter_soldier.glb were still in the runtime model set: fetched, parsed and held in memory at every boot, for two models no code ever drew.

1.24 MB reclaimed from a 15 MB shell budget — the asset set goes 7.22 MB → 5.98 MB.

The converters, licence record and handoff all stay. The GLBs regenerate exactly with node tools/art/import-synty.mjs --with-characters whenever there's something worth shipping, so nothing is lost by not carrying them meanwhile.

Two comments that were actively wrong

  • assets.ts described the pair as "Licensed CC0 characters (Quaternius)". They are neither CC0 nor Quaternius — they're purchased Synty assets, and PROVENANCE.md has said so since they landed. That one matters: it misstates a licence.
  • opponents.ts carried a swap-back note pointing at a fighter_worker that doesn't exist, and explained the fallback as the characters rendering "as glowing white figures" — that was the loadModel material-disposal bug, fixed a while back. The real blocker is the animation.

Verification

Typecheck, lint, 249 tests and the build pass. Loaded the built game in a browser and watched the network: no console errors and no 404s, so nothing was still reaching for the removed files.

🤖 Generated with Claude Code

Settling on the generated character for now, per the call after two failed
attempts at animating the Synty ones.

The bots already used the generated character, so nothing changes on screen.
What does change is that `fighter_insurgent.glb` and `fighter_soldier.glb` were
still listed in the runtime model set — fetched, parsed and held in memory at
every boot, for two models no code ever drew. That is 1.24 MB of a 15 MB shell
download budget. Removing them takes the asset set from 7.22 MB to 5.98 MB.

The converters, the licence record and the handoff all stay. The GLBs are
regenerated exactly with `node tools/art/import-synty.mjs --with-characters`
whenever there is something worth shipping, so nothing is lost by not carrying
them in the meantime.

Also corrects two comments that were actively misleading:

- `assets.ts` described the pair as "Licensed CC0 characters (Quaternius)".
  They are neither CC0 nor Quaternius — they are purchased Synty assets, and
  PROVENANCE.md has said so since they landed.
- `opponents.ts` carried a swap-back note referring to a `fighter_worker` that
  does not exist, and explained the fallback as the characters rendering "as
  glowing white figures". That was the `loadModel` material-disposal bug, fixed
  some time ago; the actual blocker is the animation, in
  docs/HANDOFF-synty.md.

Verified by loading the built game: no console errors and no 404s, so nothing
was still reaching for the removed files.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

vu1nz Security Review

0 finding(s) in PR #?

No security issues found.

@ralyodio
ralyodio merged commit 4f32a31 into main Jul 27, 2026
6 checks passed
@ralyodio
ralyodio deleted the chore/drop-unshipped-characters branch July 27, 2026 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant