Components

LaughProposed — not confirmed yet.

It's the same rhythm as Joy, larger.It's never used without a face — the body alone reads as broken.

Open in Labpure.jsonFigmaVideo

Robot

Laugh uses the posture role for the bounce and the face for the smile. A robot with no face does not laugh at all.

  • Jointless Driving
  • Joint Driving
  • Joint Fixed
  • Joint Walking
  • Full-body

Intensity

It depends on how funny it is. I grow the bounce up to the cap and speed the sound up, never past them.

Light
40 % ROMSmile
op.amp
Normal
1.4×Laugh
sound.tempo
Strong
70 % ROMCap
op.amp.max

Time Line

Sound leads by 0.1 s, then the face, then the body. The face holds 0.6 s after the body stops.

0 s2.4 s
Sound
1.4×
Face
Smile
Motion
BounceBounceReturn

Variant

Variants only change the combination of tokens, not the meaning.

VariantChangeWhen
Repeat2nd beat 30 % smalleralways (pulse rule)
Vs. Joylarger, same rhythmsomething is funny
No speakerBody + face as isno speaker
No displayOmitted — never without a faceno face screen

State

The robot's status overrides or weakens its actions.

  • Idleplay as is
  • Quiet hourssound lower, motion smaller
  • Low batteryJoy instead, smaller
  • Held / In-airOmit → Carried
  • ErrorStop + Face

Token Spec

The token name is the same as Primitive tokens.

StateTrackTokenValue
nevermotionop.anticrepeating motion — no anticipation
enabledmotionpulse.m90–120 / min · 2 times max
enabledmotionop.amp40 % ROM · max 70 %
enabledfaceloopbounce · 0.32 s period
enabledsoundsound.tempo1.4× (max) · 0.1 s first
quiet hourssoundvolumelower · motion smaller
heldalloverride→ Carried