# Factory digital-twin layout — edit this and re-run `factory-twin-build` to
# generate a different plant. Every number below drives the generated USD.

line:
  length: 20.0          # metres of production line (runs along +Y)
  floor_width: 16.0

conveyor:
  width: 1.2
  height: 0.8

workpieces:
  passthrough: 2       # background parts that ride the belt straight through
  speed: 2.5           # m/s along +Y (wraps at the end -> continuous flow)
  # one additional "pick" part per robot is choreographed automatically

robots:
  count: 4
  offset_x: 1.8        # +X side of the belt (arms pitch toward -X to reach it)
  poses:               # per-robot RETRACTED rest [yaw, shoulder, elbow] deg.
    - [5, -20, 90]     # yaw ~0 keeps the reach in the X-Z plane (visible top-down);
    - [-8, -18, 85]    # the pick animation extends toward the belt from here.
    - [10, -22, 92]
    - [0, -20, 88]

racks:
  count: 3
  offset_x: -4.5       # -X side (inbound storage)
  bays: 3
  levels: 3

amr:
  offset_x: -2.2

animation:
  fps: 24              # the loop period is derived: line.length / workpieces.speed

physics:
  gravity: 9.81        # m/s^2, along -Z
  dynamic_parts: 3     # loose rigid bodies that drop onto the belt in Isaac Sim
  drop_height: 2.0     # metres above the belt they start
