Files
tiennm99bot/renderer/package.json
T
tiennm99 8c06fdf498 feat(gacha): render the beta wish as a pack-cards pack opening
/api/gachabeta now tears open a pack-cards collectible pack whose card
shows the request's label, the same B/A/S rank as /api/gacha, and one
star per rarity level; rarity also picks the card material and the pack
colour. pack-cards animates on the browser clock, so the route drives a
shared headless Chrome in deterministic mode over a debugging pipe,
steps virtual time frame by frame, tears the pack with a scripted drag,
and encodes the captured frames with Remotion's bundled ffmpeg. The
page and package are served from disk with all other requests blocked.

The browser stays alive per process and is warmed at start-up, because
the first render compiles the pack's WebGL shaders in software. The
Remotion beta composition and its scene code are removed. pack-cards is
installed from a GitHub tarball pinned to a commit, since it has no npm
release and a moving URL would break npm ci.
2026-10-01 18:22:30 +07:00

47 lines
1.2 KiB
JSON

{
"name": "wheelofnames",
"version": "0.1.0",
"private": true,
"type": "module",
"engines": {
"node": ">=24 <25"
},
"scripts": {
"dev": "node --watch src/server.js",
"start": "node src/server.js",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"test": "vitest run",
"browser:ensure": "node scripts/ensure-browser.js",
"api:smoke": "node scripts/api-smoke.js",
"render:local": "node scripts/render-local.js",
"render:smoke": "node scripts/render-fixtures.js --smoke",
"render:fixtures": "node scripts/render-fixtures.js"
},
"dependencies": {
"@remotion/bundler": "4.0.485",
"@remotion/renderer": "4.0.485",
"@remotion/shapes": "4.0.485",
"fastify": "5.10.0",
"pack-cards": "https://codeload.github.com/paubineau/pack-cards/tar.gz/83e8fbb8237537194e40cb306bd310d8cc6a316b",
"react": "19.2.7",
"react-dom": "19.2.7",
"remotion": "4.0.485",
"zod": "4.4.3"
},
"devDependencies": {
"@eslint/js": "10.0.1",
"@types/node": "26.1.0",
"@types/react": "19.2.17",
"@types/react-dom": "19.2.3",
"eslint": "10.6.0",
"globals": "17.7.0",
"prettier": "3.9.4",
"typescript": "6.0.3",
"vitest": "4.1.10"
},
"allowScripts": {
"esbuild": true
}
}