Components

Workboard Game

Game-style map rendering components for the agent activity world

Workboard Game Components

The workboard game components provide a game-style interactive map for agent activity visualization. They translate the DowncityWorkboardGameMapConfig into a playable world.

Components

ComponentDescription
WorkboardGameAtlasTop-level zoomed-out view showing all zones and agent positions
WorkboardGameInspectorAgent detail inspector panel
WorkboardGameRoomFocused room-level view inside a zone
WorkboardPixelAgentPixel-art agent character rendered on the game map
WorkboardRoomFieldRoom backdrop and field rendering

WorkboardGameAtlas

Atlas-level overview rendering all zones, corridors, and agents.

import { WorkboardGameAtlas } from "@downcity/ui";

<WorkboardGameAtlas
  config={mapConfig}
  hoveredAgentId={hoveredId}
  onSelectZone={(id) => setZone(id)}
  onHoverAgent={(id) => setHover(id)}
/>

WorkboardGameInspector

Inspector panel showing details for a selected agent.

import { WorkboardGameInspector } from "@downcity/ui";

<WorkboardGameInspector
  agent={selectedAgent}
  open={true}
/>
PropTypeDescription
agentDowncityWorkboardAgentItemAgent to inspect
openbooleanPanel visibility

WorkboardGameRoom

Zoomed-in room view for a specific zone.

import { WorkboardGameRoom } from "@downcity/ui";

<WorkboardGameRoom
  skillState={{}}
  actorResource={{
    actors: config.actors,
    routes: config.patrols,
  }}
  onActorClick={(agentId) => setSelected(agentId)}
/>

WorkboardPixelAgent

Pixel-art agent sprite component.

import { WorkboardPixelAgent } from "@downcity/ui";

<WorkboardPixelAgent
  agentId={id}
  agentName={name}
  active={isFocused}
  variant="single"
/>
PropTypeDescription
agentIdstringAgent identifier
agentNamestringDisplay name
activebooleanHighlight as focused
variant"single"Rendering variant

WorkboardRoomField

Room backdrop and environment rendering.

import { WorkboardRoomField } from "@downcity/ui";

<WorkboardRoomField
  room={roomConfig}
  tileSize={32}
/>