Skip to content

Add editor robot navigation and task workflows#278

Open
Niutels wants to merge 4 commits into
pascalorg:mainfrom
Niutels:dev-robot
Open

Add editor robot navigation and task workflows#278
Niutels wants to merge 4 commits into
pascalorg:mainfrom
Niutels:dev-robot

Conversation

@Niutels
Copy link
Copy Markdown

@Niutels Niutels commented Apr 26, 2026

What does this PR do?

Adds robot navigation and robot task workflows as an isolated @pascal-app/robot package with minimal app/editor integration.

Robot package:

  • Adds Manual mode and Task mode robot workflows.
  • Owns robot runtime state, task queue state, pathing, movement, copy, move, delete, and repair actions.
  • Owns robot-only visuals including carried-item visuals, destination ghosts, item action overlays, selected-item outlines, shader cone tooltip overlays, delete fades, and task loop reset behavior.
  • Adds Pascal truck behavior, robot asset/model selection, walkable-surface generation, navigation systems, and door interaction logic.
  • Keeps robot/task state runtime-owned instead of storing transient robot state as durable scene data.

App / layout integration:

  • Keeps the current community editor layout intact.
  • Injects the robot entry point into the existing CommunityViewerToolbarRight toolbar through a small before slot.
  • Wraps the viewer with the robot viewer frame only from the app integration points.
  • Prepares loaded scenes by stripping transient robot metadata and hiding the Pascal truck outside robot modes.
  • Pauses autosave while robot runtime operations are active so transient robot visuals are not persisted accidentally.

Editor integration:

  • Adds thin extension points so external runtime modes can pause editor-owned selection, tools, cursors, action menus, helper overlays, and placement behavior while robot mode is active.
  • Resets editor interaction state when entering robot modes so normal editor manipulation state does not mix with robot manipulation state.
  • Adds small item-placement support needed by robot workflows, including ignored item IDs, disabled placement handlers, preview clone handling, and commit interception.
  • Adds a generic first-person collider hardening fix for merged geometries.
  • Adds a repair action hook to the existing floating item action menu.

Viewer:

  • Does not add robot-specific viewer behavior.
  • Only includes a small generic WebGPU device/error handler typing hardening.

Core:

  • No robot feature logic is added to packages/core.
  • The robot feature keeps authored scene data separate from robot runtime/task state.

How to test

  1. Use the robot toolbar to switch between Manual mode, Task mode, Pascal robot, and armored robot.
  2. In Manual mode, right-click a destination and confirm the robot navigates there.
  3. In Task mode, run representative task workflows: move, copy, delete, repair, duplicate copy, and queued loop behavior.

Validation notes

  • bun run check-types passes.
  • git diff --check origin/main...HEAD passes.
  • bun run check is left unchecked because it currently fails on origin/main itself in this Windows checkout due repo-wide Biome/CRLF baseline issues. A temporary origin/main worktree reported the same class of failures, so this is not branch-specific.
  • Documentation is left unchecked because this PR adds editor runtime/UI behavior, and the repo does not currently maintain user-facing workflow docs for these editor tools.

Screenshots / screen recording

Robot modes

Robot trajectory

Task mode

Robot and truck

Checklist

  • I've tested this locally with bun dev
  • This PR targets the main branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants