Add OTB talking bear sprite pack and runtime assets - #1636
Open
leonnpowell-del wants to merge 2 commits into
Open
Add OTB talking bear sprite pack and runtime assets#1636leonnpowell-del wants to merge 2 commits into
leonnpowell-del wants to merge 2 commits into
Conversation
- configure 10k collection settings for 2000x2000 output and shuffled layer generation\n- add rendered OTB logo asset and wire it into Accessories layer\n- add human-bear talking sprite set with mouth, eye, brow, nose, hair, preview, and runtime frames\n- add Python runtime builder and npm script to generate spritesheets and manifest Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds an OTB “talking bear” sprite/runtime pipeline: new 2000×2000 layer configuration for edition generation, plus a Python (Pillow) runtime builder that composites frames, builds spritesheets, and emits a playback manifest under sprites/otb_talking_bear/runtime/.
Changes:
- Added
utils/build_otb_sprite_runtime.pyto generate per-frame composites, spritesheets, and a runtimemanifest.json. - Updated
src/config.jsto a 10,000-edition, 2000×2000, non-smoothed output workflow with a new layer order and shuffled layer configurations. - Added an
otb_sprite_runtimenpm script and committed generated runtime outputs (sprites/otb_talking_bear/runtime/manifest.json).
Reviewed changes
Copilot reviewed 4 out of 54 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| utils/build_otb_sprite_runtime.py | New Python/Pillow runtime builder that composites layers into talk/idle frames, spritesheets, and a manifest. |
| src/config.js | Updates collection and render configuration for 10,000 editions and 2000×2000 layered-trait workflow. |
| sprites/otb_talking_bear/runtime/manifest.json | Generated runtime manifest describing layers, frame lists, spritesheets, and timing hints. |
| package.json | Adds an npm script to run the Python runtime builder. |
Suppressed comments (1)
utils/build_otb_sprite_runtime.py:41
- Same file-handle issue as in
composite_frame:with Image.open(frame_path).convert("RGBA") as frame:puts the context manager on the converted image and can leave the original file-backed image open. Usewith Image.open(frame_path) as img:and convert inside.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- anchor paths to script location instead of current working directory\n- ensure image file handles close correctly before conversion\n- validate minimum hair FX frame count to avoid idle pattern index errors\n- add Python dependency manifest and runtime usage docs\n- run sprite runtime via Python 3 launcher with Pillow probe Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This adds the OTB brand-facing art pipeline needed to generate and run a talking human-bear hybrid sprite set. The goal is to provide production-ready 2000x2000 layered assets, plus a runtime-friendly frame/spritesheet manifest for real-time speech-driven playback.
What changed
src/config.jsfor the 10,000-edition workflow:namePrefix,description, andbaseUriplaceholder updated2000x2000withsmoothing: falseBackground, Body, Clothing, Eyes, Mouth, Headwear, AccessoriesshuffleLayerConfigurationsenabledofficial-logo-2000.pnglayers/Accessories/Logo#1.pngsprites/otb_talking_bear/:utils/build_otb_sprite_runtime.pypackage.jsonscript:npm run otb_sprite_runtimetalk_spritesheet.pngandidle_spritesheet.pngruntime/manifest.jsonwith viseme map, state timing, and runtime hintsNotes
faceSolveFps: 60,visemeUpdateHz: 24, andaudioSmoothingMs: 80.