import type { RobotOperationsDefinition } from "../../interiors/robotOperations.ts";

/** Authored, seeded demonstration operations for the compact SF studio. */
export const LUMBRIDGE_HQ_ROBOT_OPERATIONS = Object.freeze({
  id: "lumbridge-hq-robot-operations",
  version: 1,
  officeId: "lumbridge-hq",
  disclosure: "Seeded robot simulation — no live people, company activity, or operational data.",
  stations: [
    {
      id: "sf-studio-dock",
      label: "Studio charge dock",
      role: "charge",
      anchor: { kind: "point", levelId: "level-1", position: { x: 5.65, z: 5.3 }, facing: { x: 1, z: 0 } },
    },
    { id: "sf-studio-entry", label: "Entry patrol point", role: "patrol", anchor: { kind: "point", levelId: "level-1", position: { x: 1.1, z: 7.5 }, facing: { x: 0, z: -1 } } },
    { id: "sf-studio-kitchen", label: "Kitchen patrol point", role: "patrol", anchor: { kind: "room", roomId: "kitchen" } },
    { id: "sf-studio-lounge", label: "Demo lounge patrol point", role: "patrol", anchor: { kind: "point", levelId: "level-1", position: { x: 7.0, z: 6.0 }, facing: { x: 1, z: 0 } } },
    { id: "sf-studio-pickup", label: "Entry shelf parcel pickup", role: "pickup", anchor: { kind: "prop", propId: "entry-shelf", standoffM: 0.8, side: -1 } },
    { id: "sf-studio-dropoff", label: "Lounge table parcel drop", role: "dropoff", anchor: { kind: "prop", propId: "lounge-table", standoffM: 0.8 } },
    { id: "sf-studio-display", label: "Demo display inspection", role: "inspect", anchor: { kind: "prop", propId: "open-display", standoffM: 0.72, side: -1 } },
    { id: "sf-studio-monitor", label: "Agent monitor inspection", role: "inspect", anchor: { kind: "prop", propId: "lobby-monitor", standoffM: 0.72, side: -1 } },
  ],
  jobs: [
    { id: "sf-studio-patrol", label: "Studio safety patrol", kind: "patrol", stationIds: ["sf-studio-entry", "sf-studio-kitchen", "sf-studio-lounge"], dwellTicks: 6 },
    { id: "sf-studio-deliver", label: "Entry-to-lounge parcel", kind: "deliver", stationIds: ["sf-studio-pickup", "sf-studio-dropoff"], dwellTicks: 9 },
    { id: "sf-studio-inspect-display", label: "Demo display inspection", kind: "inspect", stationIds: ["sf-studio-display"], dwellTicks: 14 },
    { id: "sf-studio-inspect-monitor", label: "Agent monitor inspection", kind: "inspect", stationIds: ["sf-studio-monitor"], dwellTicks: 12 },
    { id: "sf-studio-charge", label: "Studio charge cycle", kind: "charge", stationIds: ["sf-studio-dock"], dwellTicks: 1 },
  ],
  robots: [
    {
      id: "sf-studio-activity-01",
      label: "SF studio support robot",
      levelId: "level-1",
      spawnStationId: "sf-studio-dock",
      schedule: ["sf-studio-deliver", "sf-studio-inspect-display", "sf-studio-inspect-monitor", "sf-studio-patrol", "sf-studio-charge"],
      initialBattery: 0.72,
    },
  ],
} satisfies RobotOperationsDefinition);
