Reorganize into role-based folders and consolidate art

Move every script and scene into role-based directories (actors/, systems/, ui/,
levels/, props/) and all raw art under art/ (grouped by role, snake_case,
Extract-Textures GLBs), dropping Blender version-suffix noise. Filenames are
snake_case (PascalCase reserved for class_name) to avoid case-insensitive
filesystem aliasing on the web/macOS targets. Routes the bull's hits through the
typed DamageEvent pipeline and wires the bull's abilities to the Fx library.
Updates CLAUDE.md's folder-layout overview to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CCyaJPTHCH9EDthpf4A5Sj
This commit is contained in:
2026-09-08 14:56:22 +03:00
parent c0a022fed4
commit 09d4a60f43
244 changed files with 415 additions and 19337 deletions
+4 -4
View File
@@ -1,6 +1,6 @@
extends SceneTree
## Bakes an animated-billboard sprite sheet from the existing clapping crowd figure
## (Animations/mees_plaksutab.glb, clip "ArmatureAction") so a whole stand of
## (art/anim/crowd_clap.glb, clip "ArmatureAction") so a whole stand of
## spectators can render as camera-facing quads in one draw call instead of 72 skinned
## skeletons. Renders FRAMES evenly-spaced poses from a front orthographic camera on a
## transparent background and packs them into a single-row atlas.
@@ -8,13 +8,13 @@ extends SceneTree
## Needs a display — script mode renders to a real window (headless is blank):
## godot --script tools/bake_crowd_sheet.gd
##
## Output: res://Assets/crowd_clap_sheet.png — FRAMES cells wide, TWO rows: the top row
## Output: res://art/textures/crowd_clap_sheet.png — FRAMES cells wide, TWO rows: the top row
## is the front view, the bottom row is the back view. The crowd shader picks the row
## with FRONT_FACING so spectators show their backs when the camera is behind them.
const SRC := "res://Animations/mees_plaksutab.glb"
const SRC := "res://art/anim/crowd_clap.glb"
const CLIP := &"ArmatureAction"
const OUT := "res://Assets/crowd_clap_sheet.png"
const OUT := "res://art/textures/crowd_clap_sheet.png"
const FRAMES := 8
const CELL_H := 192 # sprite cell height in px; width derived from the figure aspect
const PAD := 1.12 # framing margin around the figure's bounds