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
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@@ -0,0 +1,27 @@
{
"id": "Dashlet",
"name": "疾跑怪",
"role": "fast",
"jobId": "f008d3d9c4314d159d5af5b22d70df25",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 62001,
"styleReferences": [
"Doc/Design/Character/FireCat/firecat.png",
"Doc/Design/Character/RockRhino/rockrhino.png"
],
"prompt": "Image 1 and image 2 are STYLE ONLY: match their friendly polished chibi 3D mobile-game render, glossy expressive eyes, rounded appealing volumes and clean readable shapes; do not copy their species, colors or features. Subject family: small mischievous 'horn imp' monsters that invade a cozy meadow camp in a cute tower-defense game; cheeky and naughty, never scary, gory or realistic. Base palette violet / lilac skin with cream-ivory horns. Body plan for rigging: a SHORT-LEGGED BIPED standing upright, two short stubby legs with flat round feet both grounded, two short separate arms held slightly away from the body, bilaterally symmetrical, neutral calm standing pose, head facing the viewer. Composition: single full-body character centered, very shallow front three-quarter view (about 15 degrees off frontal), whole body including horns and feet in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow under the feet. Simple smooth matte surfaces suitable for a 2000-triangle mobile model with a 1024 texture. Exactly one character; no text, no watermark, no UI, no props held in hands, no weapons, no floor base, no scenery, no particles, no glow, no extra limbs, no wings. Dashlet, the fast runner: a slimmer, lighter lilac imp with a narrow teardrop body leaning slightly forward, one sleek swept-back cream horn, long pointed ears swept back like it is in a hurry, eager grinning face, slightly longer but still short legs with springy feet, thin tail; reads as quick and light.",
"drafts": [
"Doc/Design/Character/Enemy/Dashlet/drafts/Dashlet_62001.png",
"Doc/Design/Character/Enemy/Dashlet/drafts/Dashlet_62002.png",
"Doc/Design/Character/Enemy/Dashlet/drafts/Dashlet_62003.png",
"Doc/Design/Character/Enemy/Dashlet/drafts/Dashlet_62004.png"
],
"generatedUtc": "2026-10-21T01:47:28Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 935 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 912 KiB

@@ -0,0 +1,27 @@
{
"id": "GreatHorn",
"name": "大角首领",
"role": "boss",
"jobId": "fc87f702414745eaaa5fe20e384a076a",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 65001,
"styleReferences": [
"Doc/Design/Character/FireCat/firecat.png",
"Doc/Design/Character/RockRhino/rockrhino.png"
],
"prompt": "Image 1 and image 2 are STYLE ONLY: match their friendly polished chibi 3D mobile-game render, glossy expressive eyes, rounded appealing volumes and clean readable shapes; do not copy their species, colors or features. Subject family: small mischievous 'horn imp' monsters that invade a cozy meadow camp in a cute tower-defense game; cheeky and naughty, never scary, gory or realistic. Base palette violet / lilac skin with cream-ivory horns. Body plan for rigging: a SHORT-LEGGED BIPED standing upright, two short stubby legs with flat round feet both grounded, two short separate arms held slightly away from the body, bilaterally symmetrical, neutral calm standing pose, head facing the viewer. Composition: single full-body character centered, very shallow front three-quarter view (about 15 degrees off frontal), whole body including horns and feet in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow under the feet. Simple smooth matte surfaces suitable for a 2000-triangle mobile model with a 1024 texture. Exactly one character; no text, no watermark, no UI, no props held in hands, no weapons, no floor base, no scenery, no particles, no glow, no extra limbs, no wings. Great Horn, the boss: a big heavy dark plum-violet imp chief with a round belly, two large curved ram-like cream horns and a small crown-like ridge of three tiny horns between them, thick bushy eyebrows, proud bossy grin with fangs, a short dark purple cape draped over the shoulders, chunky short legs and big round feet; imposing but still cute.",
"drafts": [
"Doc/Design/Character/Enemy/GreatHorn/drafts/GreatHorn_65001.png",
"Doc/Design/Character/Enemy/GreatHorn/drafts/GreatHorn_65002.png",
"Doc/Design/Character/Enemy/GreatHorn/drafts/GreatHorn_65003.png",
"Doc/Design/Character/Enemy/GreatHorn/drafts/GreatHorn_65004.png"
],
"generatedUtc": "2026-10-21T01:58:10Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

@@ -0,0 +1,27 @@
{
"id": "HornCaptain",
"name": "角怪队长",
"role": "elite",
"jobId": "8e196dbec4d24b14b2c05d14ca9bcfb3",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 64001,
"styleReferences": [
"Doc/Design/Character/FireCat/firecat.png",
"Doc/Design/Character/RockRhino/rockrhino.png"
],
"prompt": "Image 1 and image 2 are STYLE ONLY: match their friendly polished chibi 3D mobile-game render, glossy expressive eyes, rounded appealing volumes and clean readable shapes; do not copy their species, colors or features. Subject family: small mischievous 'horn imp' monsters that invade a cozy meadow camp in a cute tower-defense game; cheeky and naughty, never scary, gory or realistic. Base palette violet / lilac skin with cream-ivory horns. Body plan for rigging: a SHORT-LEGGED BIPED standing upright, two short stubby legs with flat round feet both grounded, two short separate arms held slightly away from the body, bilaterally symmetrical, neutral calm standing pose, head facing the viewer. Composition: single full-body character centered, very shallow front three-quarter view (about 15 degrees off frontal), whole body including horns and feet in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow under the feet. Simple smooth matte surfaces suitable for a 2000-triangle mobile model with a 1024 texture. Exactly one character; no text, no watermark, no UI, no props held in hands, no weapons, no floor base, no scenery, no particles, no glow, no extra limbs, no wings. Horn Captain, the elite squad leader: a taller, chunkier deep-violet imp with TWO curved cream horns, a short red scarf tied around the neck with the knot at the front, confident smug grin with two small fangs, small spiky tuft on the head, broader shoulders and slightly bigger fists; still short-legged and cute.",
"drafts": [
"Doc/Design/Character/Enemy/HornCaptain/drafts/HornCaptain_64001.png",
"Doc/Design/Character/Enemy/HornCaptain/drafts/HornCaptain_64002.png",
"Doc/Design/Character/Enemy/HornCaptain/drafts/HornCaptain_64003.png",
"Doc/Design/Character/Enemy/HornCaptain/drafts/HornCaptain_64004.png"
],
"generatedUtc": "2026-10-21T01:54:36Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 968 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 955 KiB

@@ -0,0 +1,27 @@
{
"id": "Hornlet",
"name": "小角怪",
"role": "normal",
"jobId": "3f06195bc39e47e4af0bd289d570cae0",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 61001,
"styleReferences": [
"Doc/Design/Character/FireCat/firecat.png",
"Doc/Design/Character/RockRhino/rockrhino.png"
],
"prompt": "Image 1 and image 2 are STYLE ONLY: match their friendly polished chibi 3D mobile-game render, glossy expressive eyes, rounded appealing volumes and clean readable shapes; do not copy their species, colors or features. Subject family: small mischievous 'horn imp' monsters that invade a cozy meadow camp in a cute tower-defense game; cheeky and naughty, never scary, gory or realistic. Base palette violet / lilac skin with cream-ivory horns. Body plan for rigging: a SHORT-LEGGED BIPED standing upright, two short stubby legs with flat round feet both grounded, two short separate arms held slightly away from the body, bilaterally symmetrical, neutral calm standing pose, head facing the viewer. Composition: single full-body character centered, very shallow front three-quarter view (about 15 degrees off frontal), whole body including horns and feet in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow under the feet. Simple smooth matte surfaces suitable for a 2000-triangle mobile model with a 1024 texture. Exactly one character; no text, no watermark, no UI, no props held in hands, no weapons, no floor base, no scenery, no particles, no glow, no extra limbs, no wings. Hornlet, the basic grunt: a small round violet imp, egg-shaped body, one short stubby cream horn on top of the head, big round eyes and a toothy cheeky grin with one small fang, tiny pointed ears, short tail stub.",
"drafts": [
"Doc/Design/Character/Enemy/Hornlet/drafts/Hornlet_61001.png",
"Doc/Design/Character/Enemy/Hornlet/drafts/Hornlet_61002.png",
"Doc/Design/Character/Enemy/Hornlet/drafts/Hornlet_61003.png",
"Doc/Design/Character/Enemy/Hornlet/drafts/Hornlet_61004.png"
],
"generatedUtc": "2026-10-21T01:43:57Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 970 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 978 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 970 KiB

@@ -0,0 +1,27 @@
{
"id": "Shellhorn",
"name": "硬壳怪",
"role": "armored",
"jobId": "23af7751485442409d075ccf3bb60ce2",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 63101,
"styleReferences": [
"Doc/Design/Character/FireCat/firecat.png",
"Doc/Design/Character/RockRhino/rockrhino.png"
],
"prompt": "Image 1 and image 2 are STYLE ONLY: match their friendly polished chibi 3D mobile-game render, glossy expressive eyes, rounded appealing volumes and clean readable shapes; do not copy their species, colors or features. Subject family: small mischievous 'horn imp' monsters that invade a cozy meadow camp in a cute tower-defense game; cheeky and naughty, never scary, gory or realistic. Base palette violet / lilac skin with cream-ivory horns. Body plan for rigging: a SHORT-LEGGED BIPED standing upright, two short stubby legs with flat round feet both grounded, two short separate arms held slightly away from the body, bilaterally symmetrical, neutral calm standing pose, head facing the viewer. Composition: single full-body character centered, very shallow front three-quarter view (about 15 degrees off frontal), whole body including horns and feet in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow under the feet. Simple smooth matte surfaces suitable for a 2000-triangle mobile model with a 1024 texture. Exactly one character; no text, no watermark, no UI, no props held in hands, no weapons, no floor base, no scenery, no particles, no glow, no extra limbs, no wings. Shellhorn, the armored one: an UPRIGHT standing two-legged violet imp, same upright body plan as a small chubby person, standing on its two short hind legs only, two short arms hanging at its sides, NOT on all fours, not a turtle, not a quadruped. Stocky wide body; a compact rounded gray-brown stone plate covers its back like a small backpack-sized shell, staying behind the body and not wider than the shoulders, plus a smooth stone brow plate on its forehead with one short blunt cream horn poking out of it; stubborn frowning but cute face. The stone plates are solid attached armor with shallow seams, not floating rocks.",
"drafts": [
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63101.png",
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63102.png",
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63103.png",
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63104.png"
],
"generatedUtc": "2026-10-21T02:04:36Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

@@ -0,0 +1,27 @@
{
"id": "Shellhorn",
"name": "硬壳怪",
"role": "armored",
"jobId": "ccf90d9c2ada4aeb9c630d49894399df",
"status": "completed",
"error": null,
"model": "Qwen/Qwen-Image-2.1-Turbo (LAN LLM3DGraphics local-images)",
"profile": "concept",
"size": [
1024,
1024
],
"seedStart": 63001,
"styleReferences": [
"Doc/Design/Character/FireCat/firecat.png",
"Doc/Design/Character/RockRhino/rockrhino.png"
],
"prompt": "Image 1 and image 2 are STYLE ONLY: match their friendly polished chibi 3D mobile-game render, glossy expressive eyes, rounded appealing volumes and clean readable shapes; do not copy their species, colors or features. Subject family: small mischievous 'horn imp' monsters that invade a cozy meadow camp in a cute tower-defense game; cheeky and naughty, never scary, gory or realistic. Base palette violet / lilac skin with cream-ivory horns. Body plan for rigging: a SHORT-LEGGED BIPED standing upright, two short stubby legs with flat round feet both grounded, two short separate arms held slightly away from the body, bilaterally symmetrical, neutral calm standing pose, head facing the viewer. Composition: single full-body character centered, very shallow front three-quarter view (about 15 degrees off frontal), whole body including horns and feet in frame with generous margin. Pure solid white #FFFFFF background to all corners, soft studio light, tiny contact shadow under the feet. Simple smooth matte surfaces suitable for a 2000-triangle mobile model with a 1024 texture. Exactly one character; no text, no watermark, no UI, no props held in hands, no weapons, no floor base, no scenery, no particles, no glow, no extra limbs, no wings. Shellhorn, the armored one: a stocky wide violet imp wearing a thick rounded gray-brown stone shell plate fused on its back and a stone brow plate on its head, one short blunt cream horn poking out of the brow plate, sturdy short legs, stubborn frowning but cute face; the stone plates are solid attached armor with shallow seams, not floating rocks.",
"drafts": [
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63001.png",
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63002.png",
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63003.png",
"Doc/Design/Character/Enemy/Shellhorn/drafts/Shellhorn_63004.png"
],
"generatedUtc": "2026-10-21T01:51:02Z"
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB