feat(asset): add animator, clip, and atlas authoring#124
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
create_animator_controller,create_animation_clip, andcreate_sprite_atlasso sprite-driven asset authoring workflows can be automated fromunity-cli.#81so the new authoring commands share one reviewed scope for asset pipeline automation.Changes
src/tooling/tool_catalog.rs,src/app/runner.rs,src/core/config.rs,src/lsp/client.rs: register the new tools, expand strict validation coverage, and stabilize affected Rust test fixtures.UnityCliBridge/Packages/unity-cli-bridge/Editor/Core/UnityCliBridgeHost.cs,UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/AssetManagementHandler.cs,UnityCliBridge/Packages/unity-cli-bridge/Editor/Handlers/AssetImportSettingsHandler.cs,UnityCliBridge/Packages/unity-cli-bridge/Editor/Helpers/PlayModeCommandPolicy.cs: implement AnimationClip and SpriteAtlas authoring, sprite import normalization, bridge dispatch, and Play Mode blocking.UnityCliBridge/Packages/unity-cli-bridge/Tests/Editor/Handlers/AssetManagementHandlerTests.cs: add EditMode coverage for animator controllers, animation clips, and sprite atlases.docs/tools.md,.claude-plugin/plugins/unity-cli/skills/unity-asset-management/SKILL.md,scripts/e2e-all-tools.sh,scripts/skill-eval/static-skill-contract-check.sh: document the commands and add smoke and contract coverage.Testing
cargo test --all-targets— expected218 passed.cargo clippy --all-targets -- -D warnings— expected success with no warnings.cargo run -- raw run_tests --host 127.0.0.1 --port 6401 --json '{"testMode":"EditMode","filter":"UnityCliBridge.Tests.AssetManagementHandlerTests","includeDetails":true}' --output json— expectedstatus: "completed"andtotalTests: 13.cargo run -- raw manage_asset_database --host 127.0.0.1 --port 6401 --json '{"action":"copy_asset","fromPath":"Assets/Materials/Dice/DiceTexture.png","toPath":"Assets/Scenes/Generated/E2E/Smoke_122_123.png"}' --output jsonthencargo run -- raw manage_asset_import_settings --host 127.0.0.1 --port 6401 --json '{"action":"modify","assetPath":"Assets/Scenes/Generated/E2E/Smoke_122_123.png","settings":{"textureType":"Sprite","generateMipMaps":false,"filterMode":"Bilinear"}}' --output jsonthencargo run -- raw create_animation_clip --host 127.0.0.1 --port 6401 --json '{"clipPath":"Assets/Scenes/Generated/E2E/Smoke_122_123.anim","overwrite":true,"spritePaths":["Assets/Scenes/Generated/E2E/Smoke_122_123.png","Assets/Scenes/Generated/E2E/Smoke_122_123.png"],"frameRate":12,"loopTime":true}' --output jsonthencargo run -- raw create_sprite_atlas --host 127.0.0.1 --port 6401 --json '{"atlasPath":"Assets/Scenes/Generated/E2E/Smoke_122_123.spriteatlas","overwrite":true,"packables":["Assets/Scenes/Generated/E2E"],"packingSettings":{"padding":4,"allowRotation":false,"tightPacking":true},"textureSettings":{"filterMode":"Bilinear","generateMipMaps":false}}' --output json— expectedsuccess: truefor both authoring commands.Related Issues / Links
Checklist
cargo fmt --all,cargo clippy --all-targets -- -D warnings;svelte-checkN/A: not a Svelte project)Context
#81was updated as the canonical spec for animator, clip, and atlas asset creation.Notes
scripts/e2e-all-tools.shstill reports pre-existing failures outside these new asset authoring commands, so this PR relies on focused EditMode coverage and direct raw smoke checks for the new paths.