Skip to content

Gamepiece Asset Support [SYNTH-37] - #1393

Draft
BrandonPacewic wants to merge 32 commits into
devfrom
branp/37/gamepiece-asset-support
Draft

Gamepiece Asset Support [SYNTH-37]#1393
BrandonPacewic wants to merge 32 commits into
devfrom
branp/37/gamepiece-asset-support

Conversation

@BrandonPacewic

Copy link
Copy Markdown
Member

A lesson in scope creep. Big thanks to @azaleacolburn for doing most of the work for me.

Task

SYNTH-37
Resolves #1190.

Symptom

Gamepieces are inherently attached to fields. As such, they could not be moved or spawned in isolation.

Solution

Separate the logic such that PIECES becomes its own asset type. Configurable and spawnable by themselves.

Verification

No regression on old fields, gamepieces from previous fields are able to be managed, moved, removed, added, and cached all separately from a field.


Before merging, ensure the following criteria are met:

  • All acceptance criteria outlined in the ticket are met.
  • Necessary test cases have been added and updated.
  • A feature toggle or safe disable path has been added (if applicable).
  • User-facing polish:
    • Ask: "Is this ready-looking?"
  • Cross-linking between Jira and GitHub:
    • PR links to the relevant Jira issue.
    • Jira ticket has a comment referencing this PR.

BrandonPacewic and others added 9 commits June 29, 2026 11:59
Co-authored-by: Azalea Colburn <62953415+azaleacolburn@users.noreply.github.com>
* 'dev' of github.com:Autodesk/synthesis: (86 commits)
  Improve styling of joint sequencing panel `[SYNTH-188]` (#1366)
  Snap Field Placement `[SYNTH-94]` (#1368)
  fix: inverted joystick control scheme
  add aria label to analytics decline button (#1367)
  Remove Electron Icons `[SYNTH-203]` (#1369)
  Fix Gamepad custom selection `[SYNTH-152]` (#1361)
  Increase Minimum Sphericity to 0.99
  Sphere Game Piece Unit Tests
  Update ConfigureShotTrajectoryInterface.tsx
  Style Fixes
  style: fix
  fix: provide backup values to prevent crashing
  fix: remove move handle from modal headers
  feat: support transaltion + rotation; needed feedforward logic
  Style Fixes
  Disable Focus Selection on "None" and Field
  Style Fix
  Prevent Changing Mode while Focus is on a Field
  Biome Style Fixes
  Minor tootlip text improvement
  ...
@BrandonPacewic BrandonPacewic self-assigned this Jul 9, 2026
@BrandonPacewic
BrandonPacewic requested review from a team as code owners July 9, 2026 15:32
@BrandonPacewic BrandonPacewic added gameplay Relating to the playability of Synthesis mirabuf Relating to the mirabuf format labels Jul 9, 2026
@BrandonPacewic
BrandonPacewic requested a review from PepperLola July 9, 2026 15:32
@BrandonPacewic
BrandonPacewic force-pushed the branp/37/gamepiece-asset-support branch from cc332a7 to bd4d54d Compare July 9, 2026 15:41
@RoushilS

RoushilS commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Should you be able to focus camera on a gamepiece? If so, the configure camera menu shows up as blank when focused and gamepieces are not included in the dropdown. (which they probably shouldn't be)

@AlexD717

AlexD717 commented Jul 9, 2026

Copy link
Copy Markdown
Member

Should you be able to focus camera on a gamepiece? If so, the configure camera menu shows up as blank when focused and gamepieces are not included in the dropdown. (which they probably shouldn't be)

Note: PR #1379 significantly reworks the camera selection panel, so if you do end up modifying it, expect merge conflicts.

@AlexD717 AlexD717 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For some fields gamepieces appear a bit off of their starting location.

Ex, this is on dev for the 2023 field

Image

And this is on this branch, with the gampieces being a bit off their starting locaiton (black cross)

Image

For the 2025 field, the green balls spawn in the right location, but I don't think the coral (grey pipes) are spawning in properly.
Its supposed to look like this, with the green balls on top of the grey pipes

Image

But there aren't any pipes at all

Image

When looking at the field in slow motion, the grey pipes look to be starting to spawn (but spawning halfway in the ground), but then disappear (or fall through the ground) when the algae collides with them.

Image

In addition, drag mode no longer works for gamepieces.

* 'dev' of github.com:Autodesk/synthesis: (96 commits)
  update in more places
  Make Zone Config Panel Pretty `[SYNTH-225]` (#1402)
  Fix Mirabuf Loader Tests
  Merge Assetpack Properly
  fix: re-render scoring zones after resetting preferences
  Fix Double Sliders on Manage Protected Zones Interface `[SYNTH-164]` (#1396)
  format
  move divider
  revert to dim green
  InputSchemeSelection: SchemeSelector: call useStateContext
  InputSchemeSelection: extract SchemeSelector component
  format
  LabelWithTooltip: handle props correctly
  InputSchemeSelection: SchemeSelector: handle props correctly
  remove unneeded block
  simplify jsx ternary
  StyledComponents: take props correctly
  don't call react components directly
  Switch All Icons to SynthesisIcon `[SYNTH-202]` (#1387)
  Update GH Action Versions `[SYNTH-108]` (#1389)
  ...
@BrandonPacewic
BrandonPacewic requested a review from a team as a code owner July 14, 2026 16:20
@rutmanz
rutmanz requested a review from AlexD717 July 14, 2026 16:48
Comment thread jolt
Comment thread fission/src/mirabuf/MirabufParser.ts Outdated
Comment thread fission/src/mirabuf/MirabufParser.ts Outdated
Comment thread fission/src/ui/modals/mirabuf/ImportLocalMirabufModal.tsx Outdated
* 'dev' of github.com:Autodesk/synthesis: (140 commits)
  docs: merged duplicate doc that referenced solved issue
  fix: properly dispose of robot bounding meshes
  docs: remove stale reference
  docs: remove stale reference
  Remove Failing Multiplayer Test `[SYNTH-249]` (#1416)
  chore: turn off debug bounding boxes
  docs: update refcounted semantics for `PhysicsMaterial` objects
  fix: spawning new robots doesn't move the old ones' bounding boxes
  fix: oriented boxes are positioned correctly initially
  Add full asset loading tests `[SYNTH-242]` (#1413)
  chore: style
  chore: add conditional warning
  chore: de-clutter warnings
  chore: remove unused imports
  fix(mira tests): add mocks of newly used functions
  feat: add Accel to AHRS and velocity to Accel
  fix: make AHRS angles match real ones from javadoc
  flake: disable playwright setup (#1400)
  hotfix: update remaining old jolt references (#1414)
  fix: handle that error in a better way
  ...
* 'dev' of github.com:Autodesk/synthesis:
  Test Code Coverage `[SYNTH-250]` (#1417)

@AlexD717 AlexD717 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found one more minor bug. Robots are now spawning significantly higher than they previously used to when a field is spawned (while dev tools still list the default spawn position as close to the ground).

Image

@BrandonPacewic
BrandonPacewic requested a review from AlexD717 July 22, 2026 20:57

@AlexD717 AlexD717 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the spawn asset panel, on the gamepiece tab, I don't see any cached fields (even though I do see them on the fields tab), and I also don't see the option to spawn any gamepiece.

Image

Comment thread fission/src/mirabuf/MirabufParser.ts Outdated
* 'dev' of github.com:Autodesk/synthesis: (60 commits)
  fix: better comment pattern
  Don't Pause Audio on Mobile Chromium `[SYNTH-240]` (#1442)
  Hotfix scoreboard initial state `[SYNTH-276]` (#1445)
  feat: strip template comments and truncate pr body
  fix: file comments in a review no longer send twice
  biome: warn on useComponentExportOnlyModules
  biome: elevate naming lint to error
  multiplayer/types: resolve warnings from __
  RobotDimensionsTracker: resolving lint warnings
  format: fix arrow function formatting
  ThemeProvider: resolve updating themeOptions warning
  resolve more naming issues
  UICallbacks: ignore __ function lints
  components/CommandPalette: temporarily ignore registryTick lint
  chore(deps): bump actions/upload-artifact from 4 to 7
  chore(deps): bump actions/setup-python from 5 to 7
  fix: rename v4 to uuidv4
  feat: update progress bar incrementally during URDF part building
  fix: dismissals should now show dismiss message
  chore: removed some comments, reformatted
  ...
@BrandonPacewic
BrandonPacewic requested a review from AlexD717 July 28, 2026 19:28

@AlexD717 AlexD717 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It appears that one of your most recent changes broke scoring zone scoring, as dragging a game piece inside of one no longer increases the score. Checking out to a slightly later version has it working.

@BrandonPacewic
BrandonPacewic requested a review from AlexD717 July 28, 2026 21:56

@AlexD717 AlexD717 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Comment thread fission/src/mirabuf/MirabufParser.ts
* 'dev' of github.com:Autodesk/synthesis:
  fix: fallback to jolt mass if mass is 0
  fix: asan test specific error with shape result
  fix: jolt memory issues in `ZoneSceneObject.ts`
  fix: coverage broke
  fix: correct reporters for actions
  fix: update build script to not modify submodule
  fix: test related missuse of jolt objects
  feat: asan build and test step
  fix(ui): right click shows descriptiveName
  fix: mirabuf mass override was a no-op
  fix(ui): cleaning import & safe type inferral
  fix(ui): adding name of robot on right click
* 'dev' of github.com:Autodesk/synthesis: (180 commits)
  Fix Drag Mode During Gizmo Move (#1480)
  chore: remove unneeded jsx fragments (#1474)
  Update Tabs Indicator on Content Size Change (#1428)
  Fix Configuration Input Selection (#1460)
  style: ran formatter
  Improved 2024 Field Collisions
  fix: make cancelling work and make endgame reset
  fix: use start time delay for autonomous
  feat: make match mode timer time-based
  feat: improve match result modal styling
  refactor: use null instead of explicit fallback value for camera selection
  refactor: use string UUIDs instead of incrementing integers
  fix: update array bracket formatting
  chore: refactor out new build parts functionality
  chore: update comments
  feat: obj mesh reduction fix
  feat: glTF dense meshes extra rung
  feat: mesh decimation for obj and gltf
  chore: update comments
  chore: cleanup comments
  ...

@Dhruv-0-Arora Dhruv-0-Arora left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gamepieces currently do not stop when you push them around but rather continue oscillating.
No friction?

@AlexD717

AlexD717 commented Aug 7, 2026

Copy link
Copy Markdown
Member

In addition, I think it makes sense to have the gampieces not show up in the top bar search (as we discussed yesterday)
Screenshot 2026-08-07 at 8 05 37 AM

@BrandonPacewic
BrandonPacewic marked this pull request as draft August 7, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gameplay Relating to the playability of Synthesis mirabuf Relating to the mirabuf format

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants