From 507850222827e091f7d746a3b1713d978833f435 Mon Sep 17 00:00:00 2001 From: Richard Aasa Date: Mon, 7 Sep 2026 00:54:34 +0300 Subject: [PATCH] Move Blender sources under art/blender and snake_case them Relocate the Blender working files into art/blender/ (Godot-ignored via the .gdignore that travels with them) and lowercase the ANIM_* files to snake_case: anim_bull, anim_bull2, anim_matador, anim_publik_mees. Drop the stray matador2.gd.uid (no matador2.gd exists). Repoint .gitignore (preview + blend-backup patterns), render_anim_preview.py and CLAUDE.md at art/blender/, and update the anim-doc references from the deleted matador_v02 to matador_v03. No game impact: art/blender/ sits outside Godot's import graph (confirmed: no .blend imported, preview stays gitignored, menu boots clean). Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01FBbGXbzg3SD6ZBSadPPF5H --- .gitignore | 4 ++-- Blender/matador2.gd.uid | 1 - CLAUDE.md | 17 +++++++++-------- {Blender => art/blender}/.gdignore | 0 .../blender/anim_bull.blend | Bin .../blender/anim_bull2.blend | Bin .../blender/anim_matador.blend | Bin .../blender/anim_publik_mees.blend | Bin .../blender}/bear_level_arena.blend | Bin {Blender => art/blender}/bull_v11.blend | Bin .../blender}/create_matador_anims.py | 0 {Blender => art/blender}/cubes.blend | Bin {Blender => art/blender}/cubes_fx_test.blend | Bin {Blender => art/blender}/matador.glb | Bin {Blender => art/blender}/matador_v03.blend | Bin {Blender => art/blender}/publik_mees_v01.blend | Bin .../blender}/render_anim_preview.py | 4 ++-- {Blender => art/blender}/spear.blend | Bin {Blender => art/blender}/sword.blend | Bin 19 files changed, 13 insertions(+), 13 deletions(-) delete mode 100644 Blender/matador2.gd.uid rename {Blender => art/blender}/.gdignore (100%) rename Blender/ANIM_bull.blend => art/blender/anim_bull.blend (100%) rename Blender/ANIM_bull2.blend => art/blender/anim_bull2.blend (100%) rename Blender/ANIM_matador.blend => art/blender/anim_matador.blend (100%) rename Blender/ANIM_publik_mees.blend => art/blender/anim_publik_mees.blend (100%) rename {Blender => art/blender}/bear_level_arena.blend (100%) rename {Blender => art/blender}/bull_v11.blend (100%) rename {Blender => art/blender}/create_matador_anims.py (100%) rename {Blender => art/blender}/cubes.blend (100%) rename {Blender => art/blender}/cubes_fx_test.blend (100%) rename {Blender => art/blender}/matador.glb (100%) rename {Blender => art/blender}/matador_v03.blend (100%) rename {Blender => art/blender}/publik_mees_v01.blend (100%) rename {Blender => art/blender}/render_anim_preview.py (98%) rename {Blender => art/blender}/spear.blend (100%) rename {Blender => art/blender}/sword.blend (100%) diff --git a/.gitignore b/.gitignore index 3bfbd1c..b78c502 100644 --- a/.gitignore +++ b/.gitignore @@ -9,10 +9,10 @@ .idea/ # Blender render previews (generated by render_anim_preview.py) -Blender/preview/ +art/blender/preview/ # Blender auto-save backups (.blend1, .blend2, … — Blender rewrites these on every save) -Blender/*.blend[0-9] +art/blender/*.blend[0-9] # Test output (generated screenshots, frame strips) tests/output/ diff --git a/Blender/matador2.gd.uid b/Blender/matador2.gd.uid deleted file mode 100644 index c00ea1b..0000000 --- a/Blender/matador2.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://ymaeifakqovf diff --git a/CLAUDE.md b/CLAUDE.md index f3204dd..7f8b18b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -31,7 +31,8 @@ art/ all raw art, grouped by role (snake_case): characters/ levels/ weapons/ bull/matador/bear, arena/lobby geometry, spear/sword fx/ anim/ textures/ bear_fx, crowd_clap, baked sheets ui/ icons/ fonts/ menu art, ability icons, Cinzel fonts -Blender/ Siim's .blend working files (Godot-ignored) + hdri/ materials/ sky HDRIs, shared StandardMaterial3D resources + blender/ Siim's .blend working files (Godot-ignored) ``` | Path | Purpose | @@ -63,10 +64,10 @@ Blender/ Siim's .blend working files (Godot-ignored) | `ui/mobile_hud.gd` | Mobile-only health readouts (`CanvasLayer`, instanced by `ui/hud.gd` only on touch): big bull pip row top-left + a Souls-style bear boss bar top-centre (discovered via group `&"bear"`, tracks `health_changed`). The desktop bottom pip cluster is hidden on touch | | `ui/orientation_guard.gd` | Autoload `OrientationGuard` — full-screen "rotate your device" prompt shown on touch devices while portrait | | `art/` | All raw art, grouped by role (`characters/ levels/ weapons/ fx/ anim/ textures/ ui/ icons/ fonts/`). GLBs use **Extract Textures** import, so their embedded textures land beside them (e.g. `art/levels/arena_*.png`) named from the GLB — expected, keep them tracked | -| `Blender/` | Blender source files, animation scripts, FBX exports | -| `Blender/create_matador_anims.py` | Creates walk + idle animations and exports FBX | -| `Blender/render_anim_preview.py` | Renders animation preview PNGs for visual verification | -| `Blender/preview/` | Output directory for animation preview images | +| `art/blender/` | Blender source files, animation scripts, FBX exports (Godot-ignored via `.gdignore`) | +| `art/blender/create_matador_anims.py` | Creates walk + idle animations and exports FBX | +| `art/blender/render_anim_preview.py` | Renders animation preview PNGs for visual verification | +| `art/blender/preview/` | Output directory for animation preview images | | `tests/` | Headless test scripts (screenshot capture, logic validation) | | `addons/rider-plugin/` | JetBrains Rider IDE integration | @@ -100,7 +101,7 @@ Blender/ Siim's .blend working files (Godot-ignored) ## Animation & bone conventions -### Blender rig (matador_v02) +### Blender rig (matador_v03) - **Armature bones:** `matador` (root) → `COG` → `chest` → `head`, `collarbone_L/R` → `arm_L/R` → `forearm_L/R` → `hand_L/R`, `leg_L/R` → `shin_L/R` → `foot_L/R` - **Rotation mode:** All animated bones use **XYZ Euler** (set in `create_matador_anims.py`) - **Bone-local axes:** Swing (forward/back) is on **local X**. Arm lowering from T-pose is on **local Y** (positive = left arm down, negative = right arm down). Knee bend is **positive X** (shins only bend backward). @@ -118,8 +119,8 @@ After FBX import, animations appear as `Armature|walk` and `Armature|idle` in An ### Verification workflow 1. Edit bones/animations in Blender (`create_matador_anims.py`) -2. Run render preview: `blender --background Blender/matador_v02.blend --python Blender/render_anim_preview.py` -3. Inspect PNGs in `Blender/preview/` — check bone orientations **before** exporting to Godot +2. Run render preview: `blender --background art/blender/matador_v03.blend --python art/blender/render_anim_preview.py` +3. Inspect PNGs in `art/blender/preview/` — check bone orientations **before** exporting to Godot 4. Export FBX (done automatically by `create_matador_anims.py`) 5. Re-import in Godot and test in-game diff --git a/Blender/.gdignore b/art/blender/.gdignore similarity index 100% rename from Blender/.gdignore rename to art/blender/.gdignore diff --git a/Blender/ANIM_bull.blend b/art/blender/anim_bull.blend similarity index 100% rename from Blender/ANIM_bull.blend rename to art/blender/anim_bull.blend diff --git a/Blender/ANIM_bull2.blend b/art/blender/anim_bull2.blend similarity index 100% rename from Blender/ANIM_bull2.blend rename to art/blender/anim_bull2.blend diff --git a/Blender/ANIM_matador.blend b/art/blender/anim_matador.blend similarity index 100% rename from Blender/ANIM_matador.blend rename to art/blender/anim_matador.blend diff --git a/Blender/ANIM_publik_mees.blend b/art/blender/anim_publik_mees.blend similarity index 100% rename from Blender/ANIM_publik_mees.blend rename to art/blender/anim_publik_mees.blend diff --git a/Blender/bear_level_arena.blend b/art/blender/bear_level_arena.blend similarity index 100% rename from Blender/bear_level_arena.blend rename to art/blender/bear_level_arena.blend diff --git a/Blender/bull_v11.blend b/art/blender/bull_v11.blend similarity index 100% rename from Blender/bull_v11.blend rename to art/blender/bull_v11.blend diff --git a/Blender/create_matador_anims.py b/art/blender/create_matador_anims.py similarity index 100% rename from Blender/create_matador_anims.py rename to art/blender/create_matador_anims.py diff --git a/Blender/cubes.blend b/art/blender/cubes.blend similarity index 100% rename from Blender/cubes.blend rename to art/blender/cubes.blend diff --git a/Blender/cubes_fx_test.blend b/art/blender/cubes_fx_test.blend similarity index 100% rename from Blender/cubes_fx_test.blend rename to art/blender/cubes_fx_test.blend diff --git a/Blender/matador.glb b/art/blender/matador.glb similarity index 100% rename from Blender/matador.glb rename to art/blender/matador.glb diff --git a/Blender/matador_v03.blend b/art/blender/matador_v03.blend similarity index 100% rename from Blender/matador_v03.blend rename to art/blender/matador_v03.blend diff --git a/Blender/publik_mees_v01.blend b/art/blender/publik_mees_v01.blend similarity index 100% rename from Blender/publik_mees_v01.blend rename to art/blender/publik_mees_v01.blend diff --git a/Blender/render_anim_preview.py b/art/blender/render_anim_preview.py similarity index 98% rename from Blender/render_anim_preview.py rename to art/blender/render_anim_preview.py index 4b29250..7f1d9b6 100644 --- a/Blender/render_anim_preview.py +++ b/art/blender/render_anim_preview.py @@ -1,8 +1,8 @@ """ Blender 5.1 script: render preview frames of matador animations to PNG. -Run: blender --background matador_v02.blend --python render_anim_preview.py +Run: blender --background matador_v03.blend --python render_anim_preview.py -Outputs to Blender/preview/ directory: +Outputs to art/blender/preview/ directory: walk_frame_00.png .. walk_frame_09.png idle_frame_00.png diff --git a/Blender/spear.blend b/art/blender/spear.blend similarity index 100% rename from Blender/spear.blend rename to art/blender/spear.blend diff --git a/Blender/sword.blend b/art/blender/sword.blend similarity index 100% rename from Blender/sword.blend rename to art/blender/sword.blend