Back to Outbreak: Soycoon City
SOURCE / PINNED RELEASE

Made of little things.

Outbreak: Soycoon City

Release
db7750b1d009…
Author-recorded commit
3ee3f5fd27a6…
License
LICENSE
Author’s source reference
nostr://npub182jczunncwe0jn6frpqwq3e0qjws7yqqnc3auccqv9nte2dnd63scjm4rf/wss%3A%2F%2Fgit.napplet.soy%2F/n-b87c04571a9

Archive hash verified: dbebdc772b142a1c…. The source-to-build association is the author’s claim; it has not been independently rebuilt.

docs/gameplay-polish-brief.md
# Camera and character polish

Purpose: make routes readable and combat/movement feel like an early fixed-camera
survival horror game, with taller low-poly characters and editable source assets.

Keep the existing soyLI/Three.js build, optional host domains and app-owned olive/brass
HUD. No new NAP, network access, persistence or backend is required. JSON version 1
remains compatible with rectangular zones. Add bounded simple polygons, camera
priorities and optional door-shot associations; add optional green herb placements.
Existing OUTBOX packages/drafts/export carry these authored fields unchanged.

Add a dedicated approach shot for each demo doorway, preserving the twelve authored
backgrounds. Six wide recovery views complete the 32-shot map. Door approach polygons override wide/frog shots with hysteresis. Check
framing of the player, doorway and intervening props; surface camera coverage warnings
in the editor. Add polygon drawing, vertex dragging, undo/finish, rectangle conversion
and a readable plan overlay. New angles use the existing detailed procedural bake;
their exact schemas/prompts remain available for a later generative-art pass.

Keep .blend files as editable model/rig/action sources and exported GLB for runtime.
Blender is installed; its MCP is not connected. Use native Blender Python authoring
and reproducible export scripts. Runtime decodes embedded GLB bytes without a network
loader. Use an intentionally small documented glTF subset: uncompressed mesh attributes,
rigid/blended skin weights, material colors and named translation/quaternion/scale clips.
No remote buffers/textures or decoder service. Pose/animation edits round-trip in Blender.

Soybert remains warm cream tofu with the mascot's face, with a taller narrow beveled
block body, slim jointed limbs and a proper pump shotgun. Zombies use thin tapered
human limbs, small heads, police shirts and damaged skin. Flat shading and nearest
pixelated rendering retain the existing PS1 look. Named idle/walk/run/aim/upward-aim,
shoot/recoil, reload/hit/death and zombie attack actions run through AnimationMixer.
Freeze animation during pause/help/editor/hidden/tiny frames. Keep final death actions
playing after combat stops, clamp corpses, and reset actors on restart.

Hold I (or K + Up) to aim up; touch Aim ↑ and controller LT + right-stick up provide
same intent. Close upward shots in the forward cone and unobstructed line destroy a
zombie head, emit the planned burst cue, and show a short faceted burst/corpse reaction.
Normal shots retain range/cover/spread behavior. Visible recoil, muzzle flash and shell
feedback follow accepted shots only. Place green herbs in JSON; E / controller A /
touch Interact heals up to 35 HP, consumes only when useful, and resets on restart.

Verify polygon validation/edges/hysteresis, every door approach camera, old JSON and
shared-package roundtrips, rig/clip integrity, accepted/rejected head shots, healing,
pauses/restarts, real hosted animation/controls, four frames and touch layouts. Preserve
recording originals; report the existing 40 MiB source-limit issue honestly. Save a
reviewed local checkpoint; do not publish or push.