Add formal enemies, remaining formal partners and synthesized UI SFX

- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to
  buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting.
- Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn):
  Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type
  in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes.
- Formal partners for all ten pets in the arena and portraits, including new
  VineSprite, ThunderLeopard and TideWhale.
- Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands,
  configurable Unity run_script timeout, companion static stage.
- Also includes concurrent work from another tool in this working tree
  (FlameLion, enemy combat FX, challenge mode, home explorer, server updates).
- Resources registered in Doc/ResDesc_*.md; verified on isolated :18081.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
udx
2026-10-21 12:23:55 +08:00
co-authored by Claude Opus 5.5
parent 6c64210331
commit 89e0fa246f
780 changed files with 7117051 additions and 15906 deletions
@@ -0,0 +1,78 @@
{
"schemaVersion": 1,
"status": "planned_not_generated",
"batchId": "battle_skills_v1",
"service": "http://127.0.0.1:8012",
"guide": "D:/UD/AI/XModel/TangoFlux_AI调用指南.md",
"designDir": "Doc/Design/Sound/BattleSkills",
"outputDir": "Tools/output/battle_skills_sfx_v1",
"bundleDir": "AIClient/Assets/Bundles/Sound/SFX/BattleSkills",
"defaults": {
"duration": 2,
"steps": 50,
"guidance_scale": 4.5
},
"maxInflight": 2,
"sourceFormat": {
"container": "wav",
"sampleRate": 44100,
"channels": 2
},
"releaseLicenseReview": "pending_upstream_review_per_guide",
"items": [
{
"id": "Sfx_FireCharge",
"seed": 52001,
"prompt": "A short gentle magical flame gathering sound, soft rising airy crackle, cute fantasy cat casting, close and dry, one isolated event, no music, no speech",
"duration": 2
},
{
"id": "Sfx_FireLaunch",
"seed": 52002,
"prompt": "One short compact magical fireball launch, bright soft ignition and a quick airy whoosh, cute mobile fantasy game, no explosion, no music, no speech",
"duration": 2
},
{
"id": "Sfx_FireHit",
"seed": 52003,
"prompt": "One small magical fireball impact, crisp warm pop with a brief soft fiery crackle tail, friendly cartoon fantasy, no heavy bass, no music, no speech",
"duration": 2
},
{
"id": "Sfx_RockHit",
"seed": 52004,
"prompt": "One small rounded stone creature striking, compact stone knock and a little gravel scatter, friendly cartoon fantasy game, no music, no speech",
"duration": 2
},
{
"id": "Sfx_Heal",
"seed": 52005,
"prompt": "One gentle magical healing chime, warm bell sparkle with a short soft airy tail, friendly pastoral fantasy game, no music bed, no speech",
"duration": 2
},
{
"id": "Sfx_Shield",
"seed": 52006,
"prompt": "One soft magical stone shield forming, low rounded stone resonance with a tiny clear sparkle, short dry fantasy game effect, no music, no speech",
"duration": 2
},
{
"id": "Sfx_Slow",
"seed": 52007,
"prompt": "One gentle icy magical pulse, light crystalline tick with a soft watery freeze texture, short isolated cartoon game effect, no music, no speech",
"duration": 2
},
{
"id": "Sfx_Lightning",
"seed": 52008,
"prompt": "One short small magical electric zap, crisp bright crackle and a soft pop, friendly cartoon fantasy, no harsh buzz, no music, no speech",
"duration": 2
},
{
"id": "Sfx_EnemyHit",
"seed": 52009,
"prompt": "One short soft cartoon creature hit, compact muted thump, dry isolated mobile fantasy game effect, no voice, no music, no speech",
"duration": 2
}
]
}