Spaces:
Running
Running
Commit History
-
Add rhythm-aware full-body dance movements
laureen54f8dbe -
Add synchronized dance performance mode
laureendac96e7 -
Add programmable head dance moves
laureen1757af8
-
Fix broken and redirected repo links
RemiFabre1261013
-
add sit policy
drenayaz10c600e -
update colors
drenayaz4f5f261 -
fix: align colourway palette with website (yellow soles, purple mouth, gray brackets)
Co-authored-by: Cursor <cursoragent@cursor.com>2276340
-
fix: smooth ghost playback for throttled peers
Receiver: per-ghost adaptive playback delay tracking the measured snapshot arrival cadence (fast attack / slow release), floored at the current 150 ms for healthy 15 Hz peers and slew-limited so rate changes glide without popping; arrival stamps are de-jittered so bursty channel delivery replays as motion. Sender: broadcast + stale sweep moved to an inline Web Worker clock, exempt from the >=1 s hidden-tab timer clamp, so backgrounded tabs keep sending at the nominal rate. Wire format unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>0b7ab61 -
feat: mouse grab-and-drag perturbation (MuJoCo-viewer spring)
Pointer-down on the duck (or the live ball) grabs it: a three.js raycast picks the body and a spring-damper force toward the cursor - projected on a camera-facing plane, so lifting works - is written to xfrc_applied every physics substep. Formula and gains mirror the native viewer's mjv_applyPerturbForce (stiffness 100, damping sqrt(stiffness), scaled by subtree mass). Orbit is disabled for the drag and restored on release; grabbing detaches the chase cam; touch overlay untouched. Co-authored-by: Cursor <cursoragent@cursor.com>b1fb1e6 -
feat: playable wheee - pentatonic pressure notes, clean release, jaw sync
LT pressure now picks the wheee note on a major pentatonic octave anchored below the sample's natural pitch (playbackRate glide, constant gain); the ride plays the loop segment directly so pitch responds from the first frame. Release cuts the ride like the robot runtime (no end-segment retrigger). Both triggers open the beak analogically (visual only). Also fixes LT/RT trigger cross-talk on pads that mirror a combined trigger channel, and prefers standard-mapping gamepads. Co-authored-by: Cursor <cursoragent@cursor.com>d5db286 -
feat: comic-panel HUD, runtime-faithful pad mapping, props + wheee voices
- HUD chrome reworked as comic panels: cream keyline frames with 1px ink inset, caption cartouches (NAV / SHOP / COLOR / MODE), inner glass padding and square gapped colour swatches - drop the T relief toggle and B ball-respawn keyboard bindings; gamepad Y becomes HEAD mode, A ground pick, LT rides the looping wheee - decor props row + CRT distortion pass, per-duck wheee voice sets, ground-pick and stand policies, updated robot meshes, title menu refresh; README controls updated Co-authored-by: Cursor <cursoragent@cursor.com>89f5399
-
feat: real-size arcade cabinets + size-adaptive wireframe scan
Cabinets at their real-world 1.73 m height tower over the 0.25 m duck. The materialization fx now scales with its target: band widths and stripe wavelength grow linearly with the object's height, the timeline by sqrt of it (capped), so big props scan as the same effect instead of a fast flash with hairline bands. Duck and ball sizes are unaffected. Co-authored-by: Cursor <cursoragent@cursor.com>fdc3820
-
feat: relief as gentle slopes baked into the level itself
Replace the plateau boxes with a MuJoCo heightfield over the arena and vertex displacement of the grid floor shader, both driven by the same analytic cosine-bump function so physics and visuals are the same surface. Raising/sinking ramps one scalar (hfield z-size + uTopoScale uniform). Trigger still uncommitted: T key or rl.setRelief(). Co-authored-by: Cursor <cursoragent@cursor.com>0a350b6 -
feat: arcade row moved to the front wall + toggleable relief terraces (prototype)
The three cabinets now face the player from the +X wall. New prototype: four grid cells (two mirrored terraces) rise into plateaus on demand - kinematically driven slide joints, contacts with the world excluded so the buried boxes don't fight the floor, animated rise/sink at 0.25 m/s. Trigger is deliberately uncommitted for now: T key or rl.setRelief(). Co-authored-by: Cursor <cursoragent@cursor.com>f04c3a0 -
feat: replace jukebox with a row of 3 arcade cabinets
New arcade.glb (from the user's FBX, texture downscaled to 1024, plus a 500-tri wire stand-in for the hologram pass). Three clones line up against the back wall facing the arena, staggered in the ceremony, with one static collision box covering the row. Co-authored-by: Cursor <cursoragent@cursor.com>5a6547c -
feat: static collision box for the jukebox prop
Co-authored-by: Cursor <cursoragent@cursor.com>cf68a77 -
feat: Vite+React+MUI+R3F app shell in app/ (framework-agnostic game core, zustand bridge)
Co-authored-by: Cursor <cursoragent@cursor.com>3570fe8