Skip to content

HANDS: add realistic Boxer model and bounded arcade gore - #287

Merged
user1303836 merged 1 commit into
mainfrom
feature/hands-boxer-model
Aug 6, 2026
Merged

HANDS: add realistic Boxer model and bounded arcade gore#287
user1303836 merged 1 commit into
mainfrom
feature/hands-boxer-model

Conversation

@user1303836

Copy link
Copy Markdown
Owner

Summary

  • replace the stylized Barbarian fighter with Texel, Inc.’s realistic rigged Boxer model under CC BY 4.0, with source attribution and modification notice
  • retarget-bake the full 18-clip HANDS animation contract in a neutral root frame, preserve runtime facing, and validate every keyframe through CPU skin deformation, grounding, continuity, and live glove markers
  • add bounded presentation-only arcade gore in full mode, including sprays, stains, gibs, fountains, and reversible decapitation proxies, while immediately clearing or suppressing graphic effects in reduced, off, and reduced-motion modes
  • preserve the exact index.html / assets/hands.js / assets/hands.css deployment contract, await texture readiness, and strengthen bundle URL and size gates

Model source: https://sketchfab.com/3d-models/boxer-84767168720948b38728ff78ee6f6090

Validation

  • uv run ruff check .
  • uv run ruff format --check .
  • uv run mypy src/
  • uv run pytest tests/ — 1,891 passed
  • npm run typecheck — passed
  • npm run test:run — 185 passed
  • npm run build / npm run scan:build — exact three-file manifest passed
  • uv run python scripts/hands_replay.py --check — deterministic
  • Khronos glTF Validator 2.0.0-dev.3.10 — 0 errors; 5 expected non-root skinned-mesh warnings
  • deterministic fighter generation — 1,521,992-byte GLB, 18 clips, SHA-256 c26c87d11ff0eab83c1921e3ec4f352bbe05cd50b3b3916a7bda1962790d94e2
  • browser captures reviewed for all 18 clips and full-mode decapitation; same-session SwiftShader regression remained below 10%

Bundle note

The required inline model and five textures increase hands.js to 5,624,575 bytes raw / 2,942,823 bytes at gzip level 9. Build and wheel checks enforce ceilings of 6,000,000 raw / 3,200,000 gzip bytes.

@greptile-apps greptile-apps Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your trial has ended. Reactivate Greptile to resume code reviews.

@user1303836
user1303836 merged commit 4c35c06 into main Aug 6, 2026
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