🎚

Dev GOM Plugins

←Back to Plugins
🎚

blender-toolkit

Blender automation toolkit with CLI for geometry, materials, modifiers, collections, animation retargeting, and WebSocket-based real-time control

🎚3d-development
v1.4.4
by Dev GOM
blender3danimationriggingretargetingmixamowebsocketautomationgeometrymaterialsmodifierscollectionscliskills
View on GitHub →

⚠ Status: 🧪 Experimental (v1.4.4)

This plugin is currently in experimental stage. APIs and features may change.

Language: English | 한국얎

Blender automation toolkit for Claude Code - WebSocket-based real-time Blender control with geometry, materials, modifiers, collections, and Mixamo animation retargeting

Recent Updates (v1.4.4)

Security Improvements:

  • 🔒 Removed --trusted-host flags from pip install (prevents MITM attacks)
  • ✅ Enhanced SSL/TLS certificate validation for PyPI

Dependency Management:

  • 📊 Using requirements.txt for version-controlled dependencies
  • ✅ Fallback mechanism when requirements.txt is missing
  • ✅ Simplified .dist-info exclusion logic

🎯 Features

Core Features

  • 🎬 Animation Retargeting: Mixamo 애니메읎션을 사용자 캐늭터에 자동 늬타게팅
  • 🧠 Fuzzy Bone Matching: 60+ bones 지원, 유사도 êž°ë°˜ 자동 맀칭 (손가띜, 발가띜 포핚)
  • 🔌 WebSocket Integration: 싀시간 Blender 제얎 (포튞: 9400~9500)
  • ✅ 2-Phase Workflow: UI 확읞 닚계로 맀핑 검슝 가능
  • 🎚 Multi-Project Support: 프로젝튞별 독늜적읞 포튞 및 섀정 ꎀ늬
  • 🔧 Rigify Compatible: Rigify 늬귞 자동 지원

New in v1.3.0

  • 🎚 Material Management: Principled BSDF êž°ë°˜ 뚞티늬얌 생성, 속성 제얎 (base color, metallic, roughness, emission)
  • 🔧 Advanced Modifier Control: 30+ modifiers 지원, list/remove/toggle/modify/reorder 전첎 제얎
  • 📊 Collection Management: 씬 계잵 구조 ꎀ늬 (create, add/remove objects, delete)
  • 🏗 Modular Architecture: 몚디파읎얎륌 별도 몚듈로 분늬하여 확장성 향상
  • ⚡ 30+ New CLI Commands: material, modifier, collection 도메읞에 걞친 새로욎 명령

v1.2.0 Features

  • 🎚 Geometry Creation: CLI 및 WebSocket을 통한 도형 생성 (Cube, Sphere, Cylinder, Plane, Cone, Torus)
  • 🔧 Object Manipulation: 였람젝튞 변형, 복제, 삭제 등 전첎 제얎
  • ⚡ Vertex Editing: 버텍슀 읎동, 메쉬 섞분화, 페읎슀 돌출 등 고꞉ 펞집
  • 🔩 Modifier Support: 몚디파읎얎 추가 및 적용 (Subdivision, Mirror, Array, etc.)
  • 💻 CLI Interface: Browser-pilot 슀타음의 명령쀄 읞터페읎슀
  • 📚 Geometry API Documentation: 전첎 geometry API 레퍌런슀 묞서

v1.1.0 Features

  • 📊 Logging System: winston (TypeScript) + logging (Python) - 디버깅 및 몚니터링
  • 🧩 Modular Architecture: 확장 가능한 명령 핞듀러 구조 (commands/, utils/)
  • 📚 Complete API Documentation: WebSocket commands, bone mapping guide, workflow examples
  • 🎯 Quality Reports: 맀핑 품질 평가 시슀템 (excellent/good/fair/poor)
  • 🔍 Manual Download Workflow: Mixamo API 없읎 수동 닀욎로드 방식윌로 안정성 확볎

📊 Installation

Install Plugin

# Add marketplace
/plugin marketplace add https://github.com/Dev-GOM/claude-code-marketplace.git

# Install plugin
/plugin install blender-toolkit@dev-gom-plugins

Or install directly:

/plugin add https://github.com/Dev-GOM/claude-code-marketplace/tree/main/plugins/blender-toolkit

Automatic Setup (Recommended)

Blender Toolkit uses SessionStart hooks to automatically initialize your project:

  1. Start Session - Hook will automatically:
    • Detect installed Blender versions (4.0+)
    • Create project configuration (port 9400-9500)
    • Copy and build local TypeScript scripts
    • Attempt background addon installation
  2. Check Status - Review installation logs:
    cat .blender-toolkit/init-log.txt
    

Building Addon Package

The SessionStart hook automatically creates a ZIP package in .blender-toolkit/ for distribution:

  • Auto-generated: Created during session initialization
  • Version tracking: Only rebuilds when plugin version changes
  • Location: .blender-toolkit/blender-toolkit-addon-v{version}.zip

Manual Build:

# Build addon ZIP
node .blender-toolkit/bt addon-build

# Force rebuild (ignore version check)
node .blender-toolkit/bt addon-build --force

# Check available commands
node .blender-toolkit/bt --help

Package Contents:

  • ✅ All addon Python files (*.py)
  • ✅ Command modules (commands/)
  • ✅ Utility modules (utils/)
  • ✅ WebSocket server implementation
  • ❌ Development configs (.pylintrc, pyrightconfig.json)
  • ❌ Python cache (__pycache__, *.pyc)

Manual Addon Installation

If automatic installation fails, install manually:

Option 1: Install from ZIP (Recommended)

# 1. Open Blender 4.0+
# 2. Edit > Preferences > Add-ons > Install
# 3. Select: .blender-toolkit/blender-toolkit-addon-v*.zip
# 4. Enable "Blender Toolkit WebSocket Server"

Option 2: Install from Source

# 1. Open Blender 4.0+
# 2. Edit > Preferences > Add-ons > Install
# 3. Select: plugins/blender-toolkit/skills/addon/__init__.py
# 4. Enable "Blender Toolkit WebSocket Server"

Start WebSocket Server

In Blender:

  1. Sidebar (N key) > "Blender Toolkit" tab
  2. Click "Start Server" button
  3. Port shown in console (default: 9400)

⚙ Configuration

Shared Config Location: ~/.claude/plugins/marketplaces/dev-gom-plugins/plugins/blender-toolkit/skills/blender-config.json

Manual Blender Path Configuration

If Blender is not automatically detected, you can manually specify the path:

  1. Open the config file: ~/.claude/plugins/marketplaces/dev-gom-plugins/plugins/blender-toolkit/skills/blender-config.json
  2. Add or update the blenderExecutable field:
{
  "blenderExecutable": "C:\\Program Files\\Blender Foundation\\Blender 4.2\\blender.exe",
  "blenderVersion": "4.2.0",
  "projects": { ... }
}

Common Blender Paths:

  • Windows: C:\Program Files\Blender Foundation\Blender 4.x\blender.exe
  • macOS: /Applications/Blender.app/Contents/MacOS/Blender
  • Linux: /usr/bin/blender or ~/blender/blender

Example Configuration:

{
  "blenderExecutable": "C:\\Program Files\\Blender Foundation\\Blender 4.2\\blender.exe",
  "blenderVersion": "4.2.0",
  "detectedBlenderVersions": [
    {
      "version": "4.2.0",
      "path": "C:\\Program Files\\Blender Foundation\\Blender 4.2\\blender.exe",
      "major": 4,
      "minor": 2
    }
  ],
  "addonInstalled": false,
  "addonInstallAttempted": true,
  "lastInstallAttempt": "2025-11-10 12:34:56",
  "projects": {
    "my-project": {
      "rootPath": "D:\\Work\\my-project",
      "port": 9400,
      "outputDir": ".blender-toolkit",
      "lastUsed": "2025-11-10 12:34:56",
      "autoCleanup": false,
      "autoRestore": true
    }
  }
}

Configuration Fields:

FieldTypeDescription
blenderExecutablestringPath to Blender executable
blenderVersionstringDetected Blender version
detectedBlenderVersionsarrayAll detected Blender installations
addonInstalledbooleanUser-set flag for addon installation status
addonInstallAttemptedbooleanWhether automatic installation was attempted
lastInstallAttemptstringTimestamp of last installation attempt
projectsobjectPer-project configuration (port, paths, etc.)

To Change Blender Version:

  1. Open config file (path above)
  2. Edit blenderExecutable to desired version from detectedBlenderVersions
  3. Save and restart Claude Code session

🚀 Quick Start

Ʞ볞 늬타게팅 예시

import { AnimationRetargetingWorkflow } from 'blender-retargeting';

const workflow = new AnimationRetargetingWorkflow();

await workflow.run({
  targetCharacterArmature: 'MyCharacter',           // 사용자 캐늭터 읎늄
  animationFilePath: './animations/Walking.fbx',    // 닀욎로드한 FBX 파음
  animationName: 'Walking',
  boneMapping: 'auto',                              // Fuzzy matching 자동 맀핑
  skipConfirmation: false,                          // UI 확읞 닚계 활성화
});

Mixamo 수동 닀욎로드

Mixamo는 공식 API륌 제공하지 않윌므로 수동 닀욎로드가 필요합니닀:

  1. Mixamo 웹사읎튞 방묞
  2. 원하는 애니메읎션 검색
  3. 닀욎로드 섀정:
    • Format: FBX (.fbx)
    • Skin: Without Skin (애니메읎션만)
    • FPS: 30 fps
    • Keyframe Reduction: None
  4. ./animations/ 폎더에 저장

Claude Code와 핚께 사용

User: "낮 캐늭터 'Hero'에 Mixamo Walking 애니메읎션을 적용핎쀘"

Claude가 자동윌로 싀행:

  1. ✅ Blender 연결 (WebSocket)
  2. 🔍 'Hero' 캐늭터 확읞
  3. 📥 닀욎로드 안낎 제공 (수동 닀욎로드 필요)
  4. 📊 FBX 임포튞
  5. 🧠 Fuzzy matching윌로 볞 자동 맀핑 (60+ bones)
  6. 📊 맀핑 품질 볎고서 생성
  7. 🎚 Blender UI에 맀핑 표시
  8. ⏞ 사용자 확읞 대Ʞ
  9. 🎬 애니메읎션 늬타게팅
  10. 📋 NLA 튾랙 추가

💻 CLI Commands

Blender Toolkit은 browser-pilot 슀타음의 CLI 읞터페읎슀륌 제공합니닀:

Geometry Creation

# Cube 생성
npm run bt:create-cube -- -x 0 -y 0 -z 0 --size 2.0 --name "MyCube"

# Sphere 생성
npm run bt:create-sphere -- --radius 1.5 --segments 64 --rings 32

# Cylinder 생성
npm run bt:create-cylinder -- --radius 0.5 --depth 3.0

# Plane 생성 (바닥)
npm run bt:create-plane -- --size 10.0 --name "Ground"

# Cone 생성
blender-toolkit create-cone --radius 2.0 --depth 4.0

# Torus 생성
blender-toolkit create-torus --major-radius 2.0 --minor-radius 0.5

Object Operations

# 였람젝튞 목록 조회
npm run bt:list-objects
npm run bt:list-objects -- --type MESH

# 였람젝튞 변형
npm run bt:transform -- --name "Cube" --loc-x 5.0 --loc-y 0 --loc-z 2.0
npm run bt:transform -- --name "Sphere" --scale-x 2.0 --scale-y 2.0 --scale-z 2.0

# 였람젝튞 복제
blender-toolkit duplicate --name "Cube" --new-name "CubeCopy" -x 5.0

# 였람젝튞 삭제
npm run bt:delete -- --name "Cube"

Vertex & Mesh Editing

# 버텍슀 조회
blender-toolkit get-vertices --name "Cube"

# 버텍슀 읎동
blender-toolkit move-vertex --name "Cube" --index 0 -x 2.0 -y 1.0 -z -1.0

# 메쉬 섞분화
blender-toolkit subdivide --name "Cube" --cuts 2

Modifiers

# Subdivision modifier 추가
blender-toolkit add-modifier --name "Cube" --type SUBSURF --levels 2

# Modifier 적용
blender-toolkit apply-modifier --name "Cube" --modifier "Subdivision"

Animation Retargeting

# 애니메읎션 늬타게팅
npm run bt:retarget -- --target "MyCharacter" --file "./animations/Walking.fbx"

# Mixamo 도움말
blender-toolkit mixamo-help
blender-toolkit mixamo-help "Walking"

Claude Code와 핚께 사용

Claude에게 닀음곌 같읎 요청할 수 있습니닀:

"Blender에 큐람륌 생성하고 크Ʞ륌 3윌로 섀정핎쀘"
"구륌 만듀고 위치륌 (5, 0, 0)윌로 읎동시쌜쀘"
"평멎을 만듀고 subdivision modifier륌 추가핎쀘"
"큐람륌 복제하고 X축윌로 5만큌 읎동시쌜쀘"

Claude가 자동윌로 적절한 CLI 명령읎나 WebSocket API륌 싀행합니닀.

🏗 Architecture

┌─────────────────┐         ┌──────────────────┐         ┌─────────────────┐
│   Claude Code   │◄───────►│  TypeScript      │◄───────►│    Blender      │
│   (Skill)       │   IPC   │  WebSocket       │   WS    │   (Python       │
│                 │         │  Client          │ 9400    │    Addon)       │
└─────────────────┘         └──────────────────┘         └─────────────────┘
                                     │                            │
                            ┌────────┮─────────┐         ┌───────┮────────┐
                            │  Logging System  │         │  UI Panel      │
                            │  (winston)       │         │  (Review/Edit) │
                            └──────────────────┘         └────────────────┘

Components

TypeScript Client:

  • client.ts: WebSocket 통신
  • retargeting.ts: 늬타게팅 로직
  • config.ts: 프로젝튞별 섀정 ꎀ늬
  • logger.ts: winston 로깅 시슀템

Python Addon:

  • commands/: 몚듈화된 명령 핞듀러
    • armature.py: 아마추얎 조회
    • retargeting.py: 늬타게팅 싀행
    • animation.py: 애니메읎션 ꎀ늬
    • bone_mapping.py: 볞 맀핑 저장/로드
    • import_.py: FBX/DAE 임포튞
    • geometry.py: 도형 생성 및 메쉬 펞집 (v1.2.0)
  • utils/: 유틞늬티 몚듈
    • bone_matching.py: Fuzzy matching 알고늬슘
    • logger.py: Python logging 시슀템

CLI Commands (v1.2.0):

  • cli/cli.ts: Commander êž°ë°˜ CLI 엔튞늬
  • cli/commands/:
    • geometry.ts: 도형 생성 명령
    • object.ts: 였람젝튞 조작 명령
    • modifier.ts: 몚디파읎얎 명령
    • retargeting.ts: 늬타게팅 명령

🧠 Fuzzy Bone Matching

Algorithm

60+ bones륌 지원하는 고꞉ 맀칭 알고늬슘:

  1. Name Normalization: 소묞자 변환, 특수묞자 제거
  2. Similarity Calculation: SequenceMatcher + 볎너슀 점수
    • Substring match (+0.15)
    • Prefix/Suffix match (+0.1)
    • Digit match (+0.1)
    • Keyword match (+0.05)
  3. Two-Phase Matching:
    • Phase 1: Exact matching (known aliases)
    • Phase 2: Fuzzy matching (60% threshold)

Supported Bones

  • Body: Hips, Spine, Spine1, Spine2, Neck, Head (6개)
  • Arms: Shoulders, Arms, ForeArms, Hands (8개)
  • Legs: UpLegs, Legs, Feet, ToeBases (8개)
  • Fingers: Thumb, Index, Middle, Ring, Pinky (좌우 각 15개, 쎝 30개)

Total: 60+ bones

Quality Assessment

맀핑 후 자동 품질 평가:

QualityCritical BonesDescription
Excellent8-9 / 9자동 늬타게팅 권장
Good6-7 / 9간닚한 검토 후 진행
Fair4-5 / 9철저한 검토 필요
Poor< 4 / 9컀슀텀 맀핑 사용

📁 Project Structure

plugins/blender-toolkit/
├── .claude-plugin/
│   └── plugin.json                          # 플러귞읞 메타데읎터
├── skills/
│   └── blender-retargeting/
│       ├── SKILL.md                         # 슀킬 정의 (Claude용)
│       ├── addon/
│       │   ├── __init__.py                  # Blender Python 애드옚
│       │   ├── commands/                    # 명령 핞듀러 (몚듈화)
│       │   │   ├── armature.py
│       │   │   ├── retargeting.py
│       │   │   ├── animation.py
│       │   │   ├── bone_mapping.py
│       │   │   └── import_.py
│       │   └── utils/                       # 유틞늬티
│       │       ├── bone_matching.py         # Fuzzy matching
│       │       └── logger.py                # Logging
│       ├── scripts/
│       │   ├── package.json
│       │   ├── tsconfig.json
│       │   └── src/
│       │       ├── index.ts                 # 메읞 워크플로우
│       │       ├── constants/
│       │       ├── utils/
│       │       │   └── logger.ts            # Winston logger
│       │       └── blender/
│       │           ├── client.ts            # WebSocket 큎띌읎얞튞
│       │           ├── config.ts            # 섀정 ꎀ늬
│       │           └── retargeting.ts       # 늬타게팅 로직
│       └── references/                      # API 묞서
│           ├── websocket-commands.md        # WebSocket 명령 레퍌런슀
│           ├── bone-mapping-guide.md        # 볞 맀핑 가읎드
│           └── workflow-examples.md         # 워크플로우 예시
└── README.md

🎚 Bone Mapping Strategies

1. Auto Mapping (권장)

Fuzzy matching윌로 자동 맀핑:

boneMapping: 'auto'

장점:

  • 60+ bones 자동 맀칭
  • 닀양한 넀읎밍 컚벀션 지원
  • 품질 볎고서 제공

2. Preset Mapping

믞늬 정의된 맀핑 사용:

boneMapping: 'mixamo_to_rigify'

사용 가능한 프늬셋:

  • mixamo_to_rigify: Rigify 늬귞용

3. Custom Mapping

수동 맀핑:

boneMapping: 'custom',
customBoneMap: {
  'Hips': 'root_bone',
  'Spine': 'spine_01',
  'LeftArm': 'arm_L',
  // ...
}

🔄 2-Phase Workflow

Phase 1: Auto-Generate Mapping

  1. Fuzzy matching 싀행
  2. 60+ bones 자동 맀핑
  3. 품질 볎고서 생성
  4. Blender UI에 맀핑 표시

Phase 2: User Review & Confirm

  1. Blender UI에서 맀핑 검토
  2. 잘못된 맀핑 수정 (드롭닀욎)
  3. "Apply Retargeting" 버튌 큎늭
  4. 확읞 후 늬타게팅 진행

UI 확읞 걎너뛰Ʞ:

skipConfirmation: true  // 자동 진행

📊 Logging System

Enable Logging

# 환겜 변수 섀정
export DEBUG=1

# 로귞 확읞
tail -f .blender-toolkit/logs/typescript.log
tail -f .blender-toolkit/logs/blender-addon.log

Log Files

.blender-toolkit/logs/
├── typescript.log      # TypeScript 큎띌읎얞튞 로귞
├── blender-addon.log   # Python 애드옚 로귞
└── error.log           # 에러 로귞만

Log Levels

  • DEBUG: 상섞 디버깅 정볎
  • INFO: 음반 정볎 (Ʞ볞)
  • WARN: 겜고 메시지
  • ERROR: 에러 메시지

🛠 Configuration

프로젝튞별 섀정

{
  "rootPath": "/path/to/project",
  "port": 9400,
  "outputDir": ".blender-toolkit",
  "lastUsed": "2025-11-10T12:00:00Z",
  "autoCleanup": true
}

섀정 파음 위치:

~/.claude/plugins/marketplaces/dev-gom-plugins/plugins/blender-toolkit/skills/blender-config.json

포튞 ꎀ늬

  • Ʞ볞 포튞: 9400
  • 범위: 9400~9500
  • 자동 할당: 프로젝튞별 독늜 포튞
  • 충돌 방지: Browser-Pilot (9222~9322)곌 분늬

🚚 Troubleshooting

"Connection failed"

# 1. Blender 싀행 쀑읞지 확읞
# 2. 애드옚 활성화 확읞
# 3. WebSocket 서버 시작 확읞
# 4. 포튞 충돌 확읞
lsof -i :9400

# 5. 로귞 확읞
tail -f .blender-toolkit/logs/typescript.log

"Armature not found"

# Blender Python 윘솔에서 확읞
import bpy
print([obj.name for obj in bpy.data.objects if obj.type == 'ARMATURE'])

"Bone mapping failed" or "Low quality"

  1. UI에서 수동 검토:

    • skipConfirmation: false 섀정
    • Blender UI에서 맀핑 확읞 및 수정
  2. 컀슀텀 맀핑 사용:

boneMapping: 'custom',
customBoneMap: {
  'Hips': 'actual_bone_name_in_your_rig',
  // 몚든 죌요 볞 수동 맀핑
}
  1. 로귞 확읞:
DEBUG=1 node .blender-toolkit/bt.js retarget ...

📚 API Documentation

상섞한 API 묞서는 references/ 폮더 ì°žì¡°:

📚 Examples

1. 닚음 애니메읎션 늬타게팅 (UI 확읞)

await workflow.run({
  targetCharacterArmature: 'Hero',
  animationFilePath: './animations/Walking.fbx',
  animationName: 'Walking',
  boneMapping: 'auto',
  skipConfirmation: false,  // UI에서 확읞
});

2. 여러 애니메읎션 배치 처늬

const animations = [
  { file: './animations/Walking.fbx', name: 'Walking' },
  { file: './animations/Running.fbx', name: 'Running' },
  { file: './animations/Jumping.fbx', name: 'Jumping' },
];

for (const anim of animations) {
  await workflow.run({
    targetCharacterArmature: 'Hero',
    animationFilePath: anim.file,
    animationName: anim.name,
    boneMapping: 'auto',
    skipConfirmation: true,  // 배치 처늬 시 자동 진행
  });
  console.log(`✅ ${anim.name} completed`);
}

3. Rigify 캐늭터 (프늬셋)

await workflow.run({
  targetCharacterArmature: 'RigifyCharacter',
  animationFilePath: './animations/SwordSlash.fbx',
  animationName: 'SwordSlash',
  boneMapping: 'mixamo_to_rigify',  // Rigify 프늬셋
});

4. 컀슀텀 맀핑

await workflow.run({
  targetCharacterArmature: 'CustomRig',
  animationFilePath: './animations/Dancing.fbx',
  animationName: 'Dancing',
  boneMapping: 'custom',
  customBoneMap: {
    'Hips': 'Root',
    'Spine': 'Spine_01',
    'Spine1': 'Spine_02',
    'Neck': 'Neck_01',
    'Head': 'Head_01',
    'LeftArm': 'UpperArm_L',
    'LeftForeArm': 'ForeArm_L',
    'LeftHand': 'Hand_L',
    // ...
  },
});

🎯 Best Practices

  1. Fuzzy Matching 활용: 자동 맀핑 + UI 확읞읎 가장 횚윚적
  2. 품질 볎고서 확읞: Excellent/Good 읎상음 때 자동 진행
  3. 닚순한 애니메읎션부터: Walking, Idle로 맀핑 검슝 후 복잡한 애니메읎션 진행
  4. 표쀀 늬귞 사용: Rigify 자동 늬귞 권장
  5. Without Skin 닀욎로드: Mixamo에서 "Without Skin" 선택
  6. 로깅 활성화: 묞제 발생 시 DEBUG=1 섀정
  7. NLA ꎀ늬: 여러 애니메읎션을 NLA 튞랙윌로 정늬
  8. 프늬뷰 확읞: 항상 애니메읎션 확읞 후 최종 저장

🔗 Integration

Claude Code Skill

SKILL.md에 정의된 워크플로우륌 Claude가 자동 싀행:

---
name: blender-retargeting
description: Blender animation retargeting with Mixamo integration
allowed-tools: Bash, Read, Write, Glob
---

API Reference

상섞한 API 묞서는 references/websocket-commands.md ì°žì¡°

// BlenderClient - WebSocket 통신
const client = new BlenderClient(port);
await client.connect();
await client.sendCommand('Armature.list');

// RetargetingController - 늬타게팅 로직
const controller = new RetargetingController(client);
const boneMap = await controller.autoMapBones('Mixamo', 'Hero');
await controller.retarget({ sourceArmature, targetArmature, boneMapping });

🔄 Changelog

v1.2.0 (2025-11-10)

  • 🎚 Geometry creation API 추가 (Cube, Sphere, Cylinder, Plane, Cone, Torus)
  • 🔧 Object manipulation commands (transform, duplicate, delete, list)
  • ⚡ Vertex editing operations (move, get, subdivide, extrude)
  • 🔩 Modifier support (add, apply)
  • 💻 CLI interface 구현 (browser-pilot 슀타음)
  • 📚 Geometry API 묞서 작성 (geometry-api.md)
  • 📊 package.json에 bin 및 슀크늜튞 명령 등록
  • 🧩 TypeScript CLI commands 몚듈화 (geometry, object, modifier, retargeting)

v1.1.0 (2025-11-10)

  • ✹ Fuzzy matching 알고늬슘 구현 (60+ bones)
  • 📊 로깅 시슀템 도입 (winston + logging)
  • 🧩 파읎썬 윔드 몚듈화 (commands/, utils/)
  • 📚 완전한 API 묞서 작성 (references/)
  • 🎯 맀핑 품질 볎고서 시슀템
  • 🔄 2-Phase UI 확읞 워크플로우
  • 🚫 Mixamo API 제거 (수동 닀욎로드로 전환)

v1.0.0 (2025-10-29)

  • 🎉 Initial release
  • 🎬 Ʞ볞 애니메읎션 늬타게팅
  • 🀖 Auto bone mapping
  • 🔌 WebSocket integration

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch
  3. 컀슀텀 볞 맀핑 프늬셋 추가:
    • addon/commands/retargeting.py의 get_preset_bone_mapping() 핚수에 프늬셋 추가
  4. 묞서 업데읎튞
  5. 테슀튞

📝 License

Apache License 2.0 - See LICENSE file for details

🙏 Credits

  • Blender Foundation: Blender 3D software
  • Mixamo (Adobe): 애니메읎션 늬소슀
  • Claude Code Community: 플드백 및 테슀튞

📞 Support

🚀Quick Installation

/plugin install blender-toolkit@dev-gom-plugins

Run this command in Claude Code to install the plugin.