Spaces:
Running
Running
Commit History
-
Fix Hugging Face static build path
laureen060aed1 -
Add programmable head dance moves
laureen1757af8
-
Fix broken and redirected repo links
RemiFabre1261013
-
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: 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 -
chore: final cutover to the Vite app
Move assets/, policies/ and robot/ into app/public/ (replacing the dev symlinks), drop the legacy root sources (rl.js, index.html, modules) now fully ported to app/src/, and switch the Space to the docker SDK serving the built bundle on port 8080. Co-authored-by: Cursor <cursoragent@cursor.com>d202596 -
feat: single-page title menu, in-game quickbar and smooth ghosts
- welcome: one-page menu (vitrine brand lockup, landing-size h1, controls grid with pad variant), pre-boot spinner veil - in-game: live colour + legs/rollers quickbar bottom-left, back button, big mode readout top-right, telemetry stack bottom-right (peers, speed, odometer, fps, ctrl rate) - ghosts: snapshot interpolation at 15 Hz replaces the exponential chase (no more micro-stutter, background tabs degrade gracefully) - modules landed with this batch: ceremony (entrance/respawn), fx (wireframe/glitch), controls stack, ball actor, comic stickers Co-authored-by: Cursor <cursoragent@cursor.com>971176f
-
feat: legs <-> rollers locomotion switch (M key / DpadUp hold)
Add the Microduck's wheeled skating variant alongside the walking legs: - robot_allcollisions_rollers.xml + 5 new meshes (decimated to match the existing set) + kinematics_rollers.json for the render rig - BEST_roller.onnx (Drive: velocity-tracking skating, 0.6 m/s) and BEST_roller_crouch.onnx (one-shot phase-driven crouch-glide on R/X); both share the legs policies' exact 61D obs / 14-action interface - M (or gamepad DpadUp held ~1 s) toggles variants: swaps the compiled MuJoCo model+data, ONNX sessions and three.js rig wholesale; roller assets lazy-load on first switch (BIOS-style LOADING ROLLERS OSD) so the default boot is untouched, then stay resident - passive wheel hinges synced to the rig so the wheels visibly spin - roller command limits from the robot runtime (0.6/-0.5 m/s, +-1 rad/s); kicks/sit disabled in roller mode (hints fade), ball played by driving - ghosts broadcast an optional locomotion flag; roller peers render with the roller rig when this tab has i…2470ca0 -
feat: BIOS boot replay on entry, VHS camcorder OSD telemetry
Co-authored-by: Cursor <cursoragent@cursor.com>edc4ace -
feat: right-stick camera orbit with inertia, subtle Tron glow on grid
- Gamepad right stick orbits the camera around the duck through a smoothed angular velocity (exponential ramp in, ~0.3 s coast out), so motion eases instead of stopping dead. Vertical is flight-style inverted. Any deflection detaches the chase cam; R3 toggles it back, mirroring the C key. New RS/R3 HUD hints, README gamepad section updated. - Grid lines (floor and arena walls) get a thicker antialiased core and a faint wide halo for a restrained Tron look, plus slightly brighter line color and opacity. Co-authored-by: Cursor <cursoragent@cursor.com>2d0c558 -
feat: simpler controls, post-kick grace, arena walls, true soccer texture
- Remap controls: left stick / A-D turn (strafe removed), Q/E kick left/right, R rolls, Space resets; HUD, welcome modal and README updated to match. - Hold commands at zero for 20 control steps after a kick ends so the duck finishes the strike cleanly instead of instantly sprinting. - Rebuild the ball texture per pixel as a spherical Voronoi over the 32 truncated-icosahedron panel centers: large flat-edged black pentagons with thin seams and no pole special case. - Enclose the play area in a 3x3 m arena of static box walls rendered with the floor's grid shader; the respawn watchdog now only fires if the ball somehow escapes the arena. Co-authored-by: Cursor <cursoragent@cursor.com>6cc4cc6 -
feat: kickable ball (B / pad Y) and detachable chase camera (C)
Ball: a light free sphere injected into the MJCF after the robot body (keyframe qpos grown 21 -> 28, ball parked 50 m away by default). B or gamepad Y pops/respawns it ~0.35 m in front of the duck with a small jitter; a watchdog teleports it back when it rolls past the grid fade (3 m); R re-parks it. Rendered as a procedural beach ball, local-only (not shared with multiplayer ghosts). Camera: chase mode on by default eases the camera behind the duck's heading at the current orbit distance (wheel zoom preserved); dragging detaches back to free orbit-follow, C toggles chase back on. HUD keycaps, welcome modal and README updated; cache-buster bumped to 26. Co-authored-by: Cursor <cursoragent@cursor.com>bbe381e -
feat: one-shot kick moves from the runtime's ball-kick policies
ball_kick_left/right.onnx (same 61-dim obs interface) run for a fixed 0.5 s window with zeroed commands, then hand back to walking - same mechanics as the robot runtime. F on the keyboard alternates feet, RB / LB on the gamepad pick explicitly. Kicks only launch from a standing walk and are mutually locked with the roll. Co-authored-by: Cursor <cursoragent@cursor.com>ef74255 -
feat: live multiplayer ghosts over WebRTC (Trystero/Nostr)
Every open tab broadcasts its duck pose (trunk + joints + jaw + colour) at 10 Hz over WebRTC data channels with serverless Nostr signaling, and renders other visitors as translucent ducks (capped at 3). Peers online count shows in the telemetry line. Co-authored-by: Cursor <cursoragent@cursor.com>a8ad7ec -
feat: per-key hint highlighting, no default forward command, rename roulade to roll in UI and internals
Co-authored-by: Cursor <cursoragent@cursor.com>2a64b17 -
feat: HUD UX pass - state label with slot-machine roll, keycap hints, per-device highlighting, quack sound from the runtime
Co-authored-by: Cursor <cursoragent@cursor.com>a67f56b -
feat: gamepad support mirroring the robot runtime mapping
Co-authored-by: Cursor <cursoragent@cursor.com>65860b2 -
feat: standalone Microduck RL playground (MuJoCo WASM + ONNX policies)
Co-authored-by: Cursor <cursoragent@cursor.com>db84791 -
initial commit
Verified signaturedf95ff0