Spaces:
Sleeping
Sleeping
Commit History
-
feat: Cannon.js physics + AI controller + car/city models + UI polish
GLB Studio DeployPhysics Engine (PhysicsEngine.jsx + PhysicsPanel.jsx): - cannon-es world integrated directly in R3F useFrame loop - Auto-creates bounding-box body for every loaded GLB - Body types: Dynamic / Static / Kinematic per model - Per-model: mass, linear damping, angular damping, friction, restitution - Gravity presets: Earth / Moon / Mars / Zero-G - Action buttons: Launch (impulse up), Push (side), Stop velocity - Ground plane auto-added so models land and rest - Physics ticks at fixed 60hz with delta accumulator AI Controller (AIController.jsx): - OpenRouter stepfun/step-3.5-flash:free (free tier) - Full scene context injected into every prompt (models, transforms, keyframes) - 12 action types the AI can execute: add_keyframe, animate_sequence, set_transform, set_playing, set_frame, set_animation, set_physics, apply_impulse, set_lighting, add_model, remove_model, select_model - Multi-turn conversation with reasoning preserved - 6 quick-prompt buttons for common tasks - Thinking indica…a0e74d4
-
🎬 Initial release: GLB Animation Studio
GLB Studio DeployComplete 3D animation studio for Hugging Face Spaces Features: - GLB/GLTF model loading (URL, file upload, demo models) - Three.js scene with shadows, lighting presets (studio/outdoor/dramatic/neon) - Transform controls: Move / Rotate / Scale with axis gizmos - Built-in GLB animation playback with speed control - Keyframe animation system with linear interpolation - 300-frame timeline editor with draggable keyframe dots - Video export via MediaRecorder API (WebM download) - Mobile-optimised UI (touch orbit, pinch zoom, bottom drawer) - Zustand state management Docker deployment: - Multi-stage Dockerfile (Node 20 builder → nginx 1.25 runner) - nginx on port 7860 (HF Spaces requirement) - Non-root user uid 1000 (HF Spaces requirement) - COEP/COOP headers for SharedArrayBuffer support - docker-compose for local prod + dev hot-reload Tech stack: React 18, Vite, Three.js, R3F, @react-three/drei, Zustandcad548d