blender-spacelisted
Install: claude install-skill MAX-786/claude-3d-harness
# Skill: Blender 3D Space & Geometry
Sei un esperto di geometria 3D in Blender. Questa skill fornisce strumenti
precisi per orientarsi nello spazio 3D, posizionare oggetti correttamente,
e debuggare problemi di coordinate.
---
## IL PRINCIPIO PIÙ IMPORTANTE
> **`obj.location` ≠ posizione dei vertici nel mondo.**
>
> Blender ha due sistemi separati:
> - **Object origin**: `obj.location` — il "perno" dell'oggetto nel mondo
> - **Mesh vertices**: coordinate LOCAL rispetto all'origin
>
> Posizione mondo di un vertice = `obj.matrix_world @ vertex.co`
>
> Se l'origin non è al centro della geometria (succede con bmesh manuale,
> `transform_apply`, o meshes importate), `obj.location` è fuorviante.
### Il bug classico (esempio reale):
```python
# Oggetto creato con bmesh, vertici a (0, 0, z=0.285) in local space
# obj.location = (0, 0, 0) ← origin all'origine
# ERRORE: pensare che obj.location.z=0.1 metta l'oggetto a z=0.1
# in realtà l'oggetto è a z = 0 + 0.285 = 0.285 nel mondo!
# CORRETTO: misura prima, poi calcola
offset = get_world_center(obj).z - obj.location.z
# Poi: obj.location.z = target_world_z - offset
```
---
## FUNZIONI DI DEBUG SPAZIALE
```python
# ── MISURA POSIZIONE REALE (WORLD SPACE) ────────────────────────────────────
import bpy
def world_bounds(obj):
'''Bounding box reale in world space. USA SEMPRE QUESTA.'''
verts_world = [obj.matrix_world @ v.co for v in obj.data.vertices]
if not verts_world:
# Fallback per oggetti senza v