Commit Graph

534 Commits

Author SHA1 Message Date
Christopher Monsanto
11282e1002 Add indexed %oN output substitution
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:11 -04:00
Christopher Monsanto
a132276e78 Retire the wrappers superseded by pnpm deploy
updatepmdsprites.sh is gone entirely; updateminisprites.sh loses its
spritesheet/forumsprites/dex-suffix steps and becomes updatexyicons.sh.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:11 -04:00
Christopher Monsanto
dd2396719d Add pnpm deploy: pipe the assets tar to DEPLOY_COMMAND from .env
The deploy tool grows a deploy subcommand that runs the build, packs the
tar, and streams it to the command .env names. Packing now finalizes the
archive; without the end-of-archive marker, strict stream readers
(Python tarfile, hence smogonctl) die on truncation.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:11 -04:00
Christopher Monsanto
41119f63a3 Split the hashed asset sets into assets.deploy.js
spritesheet, minisprites, pmd, and forumsprites now ship as a tar to the
__assets tree: __key leads the tar, and the mutable pointer files
(manifests, css suffix, minisprites hash) ride in __meta/ instead of
being published as immortal assets. xy and xyicons stay in
smogon.deploy.js on the rsync path for now.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:11 -04:00
Christopher Monsanto
997668ec2e Build dex spritesheet assets in the deploy script
Replaces the esbuild invocation that ran out of the smogon.com checkout:
the deploy script now stamps the webp, rewrites the css urls, and writes
the hashed css plus the suffix file that updateminisprites.sh ships to
/smog2/dex/spritesheet_css_suffix.txt. updateminisprites.sh no longer
depends on ~/smogon/smogon.com/run, esbuild, python, or zopfli/brotli
(css precompression dropped; to be handled separately). Minification is
also dropped (machine-generated css, ~same size compressed).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:10 -04:00
Christopher Monsanto
f772bf1357 Hash-stamp the pmd set
Same scheme as the other sets; pmd/manifest.json rides the
updatepmdsprites.sh rsync.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:10 -04:00
Christopher Monsanto
b6e70c2c41 Hash-stamp the xy dex animations set
Same scheme as forumsprites/xyicons; xy/manifest.json rides the
syncdexani.sh rsync.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:10 -04:00
Christopher Monsanto
db0f5bbd7a Hash-stamp forumsprites and xyicons, write url manifests
Deployed names become <alias>-<HASH>.png (sha256/base32/8, same format as
the existing minisprites dir hash) with a manifest.json per set mapping
the unhashed name to the hashed one, riding the existing rsyncs. Other
deploy sections are unchanged; alias collisions now error via the
manifest-key check since hashed destinations no longer collide.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 01:13:10 -04:00
Marty
56f2e8680d Update PS Pokemon spritesheet 2026-08-16 19:32:35 -04:00
Marty
6c5874c197 Update minisprites 2026-08-16 19:25:20 -04:00
Christopher Monsanto
2d1dd3a119 Replace build.sh with pnpm build; type-check is now pnpm check
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:47:10 -04:00
Christopher Monsanto
44fb49a96f Refresh stored rule template/display when their computed form drifts
They are outside the rule key, so a format change (like the one in the
previous commit) silently disabled rename detection for existing records.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:34:11 -04:00
Christopher Monsanto
2d83f4a16f Fix review findings in tools/build
- Verify rename sources against recorded stats at copy time; colliding
  rename destinations/sources fall back to running the rule
- Restrict rename detection to single-input, no-deps rules (sheet-style
  rules embed input names in output bytes)
- Include input extensions in the rename template (magick picks output
  format from extensions)
- Adopt only rules with no stored record, never known-dirty ones
- Skip dotfiles in glob (tup parity)
- Complete sheet dep closures (data/lib, lib/root)
- Validate --jobs; reject non-numeric values instead of silently no-oping
- Worker pool drains all workers before rethrowing; per-rule internal
  errors abort scheduling instead of racing db.close()
- SIGKILL all live process groups on second Ctrl-C
- Transactional loadStoredRules snapshot; dry run without existing state
  uses an in-memory db; idempotent DDL
- rule() rejects % placeholders in literal outputs

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:32:59 -04:00
Christopher Monsanto
02194b17f0 Remove tup: delete Lua build config, tupctime, and tup state
The build is now driven by tools/build (see Buildfile.ts). tupctime is
obsolete: the new tool hashes content behind a stat cache, so ctime/mtime
churn without content changes no longer causes rebuilds.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:09:51 -04:00
Christopher Monsanto
c6c336dc2d Fix ps sheet data imports broken by dist-main removal
The .sheet.mjs files imported bare @smogon/sprite-data / @smogon/sprite-root,
which stopped resolving from the repo root after the TS7/Node 24 migration
dropped dist mains. Use explicit index.ts imports and add the workspace deps
to the root package.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:04:43 -04:00
Christopher Monsanto
0ee06d3a5b Add tools/build unit tests
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:03:13 -04:00
Christopher Monsanto
edda6cb310 Implement tools/build core and Buildfile.ts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 22:01:04 -04:00
Christopher Monsanto
4ded7eea86 Scaffold tools/build package and root Buildfile project wiring
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-15 21:52:57 -04:00
Christopher Monsanto
c9ec48f512 Run deploy tool as tools/deploy/index.ts in update scripts
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 19:35:28 -04:00
Christopher Monsanto
d7e0f8d373 Merge branch 'worktree-ts7-node24' 2026-08-12 19:34:13 -04:00
Christopher Monsanto
14f58e38c3 some stuff i should commit 2026-08-12 19:33:29 -04:00
Christopher Monsanto
94229b4c85 Add types:[node] to base config (tsgo drops @types auto-include)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 17:48:42 -04:00
Christopher Monsanto
ff3ceca064 Regenerate pnpm-lock.yaml with pnpm 11
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 17:45:49 -04:00
Christopher Monsanto
1cb32a62f2 Update callers to node index.ts; refresh CI/README/gitignore
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 17:45:35 -04:00
Christopher Monsanto
75580a962a Run TS sources directly: ESM sprite-root, .ts imports, node:test
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 17:44:51 -04:00
Christopher Monsanto
ac0ef09084 Drop dist mains, thin tsconfigs, bump @types/node and better-sqlite3
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 17:43:53 -04:00
Christopher Monsanto
c50ccca509 Adopt smogon.com tsconfig-base and TS ~7.0.2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-12 17:42:54 -04:00
Marty
a23538ecaf Add more PMD sprites 2026-08-06 23:25:00 -04:00
Marty
7a2ee41966 Add missing PMD sprites 2026-08-06 18:15:19 -04:00
Marty
358c1e3341 Update CAP sprites 2026-08-06 18:13:01 -04:00
Marty
69bf0e96f3 Add latest models 2026-07-31 12:12:31 -04:00
Marty
971b2cfb1b Update models 2026-07-03 16:33:32 -04:00
Christopher Monsanto
52ecf6cae9 champions change 2026-06-21 22:19:59 -04:00
Marty
32a4c5916a Add new sprites 2026-06-17 22:43:23 -04:00
Marty
6b9759b741 Update CAP sprites 2026-05-23 20:55:46 -04:00
Marty
800bfa74b9 Update item sprites 2026-04-14 22:32:16 -04:00
Marty
60a3172076 Add new sprites 2026-04-11 11:49:11 -04:00
Marty
4921ff31a3 Add latest CAP 2026-03-22 17:24:47 -04:00
Marty
0f97439f4b Add latest models 2026-03-05 18:41:09 -05:00
Marty
99d2a53fae Fix item ids 2026-03-05 18:39:56 -05:00
Christopher Monsanto
0f840b3e18 various fixes 2026-02-22 04:52:18 -05:00
Marty
c3eee47b0a Add latest models 2026-02-21 21:19:06 -05:00
Marty
31fceb806e Update Mega minisprites 2026-02-21 21:17:38 -05:00
Marty
ab767cb8b7 Add new Megas and placeholder minisprites 2025-10-25 18:45:25 -04:00
Marty
c27ef771e8 Add new items 2025-10-21 12:04:32 -04:00
Marty
27cc0b852c Update CAP models 2025-08-02 22:06:59 -04:00
Marty
d2cc6070d6 Update CAP sprites 2025-08-02 20:58:22 -04:00
Marty
8c301faec0 Add latest models 2025-08-02 09:30:30 -04:00
Marty
20d930908d Add latest CAP sprites 2025-07-18 08:47:41 -04:00
Marty
e5e6144a32 Add latest models 2025-06-20 20:58:27 -04:00