Skip to content

Intake Multiple Gamepieces #1177

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jul 1, 2025
Merged

Conversation

ryanzhangofficial
Copy link
Member

@ryanzhangofficial ryanzhangofficial commented Jun 26, 2025

AARD-1821

Updates the intake and ejection system to support multiple game pieces by replacing the single _ejectable field with an _ejectables array. It enforces the maxPieces limit, prevents duplicates, and adds support for FIFO or LIFO ejection order.

Intake-Multiple-Gamepieces.mp4

@ryanzhangofficial ryanzhangofficial requested review from HunterBarclay and a team as code owners June 26, 2025 23:37
@ryanzhangofficial ryanzhangofficial changed the base branch from prod to dev June 26, 2025 23:38
@ryanzhangofficial ryanzhangofficial requested a review from a team as a code owner June 26, 2025 23:38
@ryanzhangofficial ryanzhangofficial added gameplay Relating to the playability of Synthesis ui/ux Relating to user interface, or in general, user experience labels Jun 26, 2025
@ryanzhangofficial ryanzhangofficial force-pushed the ryan/1821/intake-multiple-gamepieces branch from a8e6653 to 2164d5e Compare June 26, 2025 23:40
@AlexD717
Copy link
Member

Is it intended behavior that when you press eject it ejects all the game pieces, or is it supposed to eject them one at a time?

@ryanzhangofficial
Copy link
Member Author

Honestly, I wasn't really sure how to handle that. I think it really depends on the design of the robot. I choose to eject all because on the flip side you could intake multiple simultaneously.

@AlexD717
Copy link
Member

What is the point of the LIFO and FIFO order if it just ejects all the pieces?

@ryanzhangofficial
Copy link
Member Author

That's true, I'll make the change.

@ryanzhangofficial ryanzhangofficial force-pushed the ryan/1821/intake-multiple-gamepieces branch from 6f5e359 to b7f5975 Compare June 27, 2025 18:04
Copy link
Member

@AlexD717 AlexD717 left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Collaborator

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

Choose a reason for hiding this comment

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

Could you add a tooltip that explains the FIFO and LIFO eject order?

Also, the configure assets panel looks a but cluttered with how every thing is placed. This will probably be fixed with the UI refactor.
image

This isn't necessarily for this PR but I think it would probably be beneficial to remove the "reset orientation" button since the reset button does pretty much the exact same thing except resetting velocity.

I also think it might be helpful to put the max pieces into the ejector configuration since the pieces themselves are held at the ejector. A potential ticket might also be to display a gamepiece when configuring the ejector to help visualize (might not be helpful though since the arrow mesh is just fine.)
Also making the max pieces an input instead of a slider might be something worth considering.

@ryanzhangofficial ryanzhangofficial force-pushed the ryan/1821/intake-multiple-gamepieces branch from 76dc22c to df777f0 Compare June 27, 2025 21:32
@ryanzhangofficial
Copy link
Member Author

Added the tooltips and did some refactoring on the ejector panel. I agree that the merging of reset and reset orientation could be another PR. I think having a self input option in addition to the sliders for different settings in configure assets could warrant its own ticket, as it is sometimes frustrating to get exact values (e.g. velocity).

Copy link
Member

@BrandonPacewic BrandonPacewic left a comment

Choose a reason for hiding this comment

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

Looks good to me. Nice job tracking down those weird issues as they seemed less than trivial.

Also, the configure assets panel looks a but cluttered with how every thing is placed. This will probably be fixed with the UI refactor.
image

This isn't necessarily for this PR but I think it would probably be beneficial to remove the "reset orientation" button since the reset button does pretty much the exact same thing except resetting velocity.

I also think it might be helpful to put the max pieces into the ejector configuration since the pieces themselves are held at the ejector. A potential ticket might also be to display a gamepiece when configuring the ejector to help visualize (might not be helpful though since the arrow mesh is just fine.)
Also making the max pieces an input instead of a slider might be something worth considering.

Just waiting for @Dhruv-0-Arora to re-review, I think this current version is more than fine. We can always re-evaluate before we do any sort of release.

* dev: (144 commits)
  fix: remove debug log
  feat: revert settings on pressing cancel
  format: run prettier
  Units.test error fixed
  DOMUnitExpression Test
  Update fission/src/systems/preferences/PreferencesSystem.ts
  DOMUnit Test
  Create MeshCreation.test.ts
  Create Lazy.test.ts
  Create EasingFunctions.test.ts
  Undo vite.config.ts timout increase
  Removed formatting
  Timeout changed back
  2471 Robot Unit Tests Removed
  Typo
  vite.config.ts no auto format
  No Auto Format on vite.config.ts
  Unit test timeout set to one minute
  format
  Update fission/src/ui/panels/configuring/assembly-config/ConfigurePanel.tsx
  ...
@BrandonPacewic BrandonPacewic dismissed Dhruv-0-Arora’s stale review July 1, 2025 18:21

Getting this feature in for now, will revisit for UI polish before any sort of release.

@BrandonPacewic BrandonPacewic merged commit 840aa3e into dev Jul 1, 2025
15 checks passed
@BrandonPacewic BrandonPacewic mentioned this pull request Jul 1, 2025
@BrandonPacewic BrandonPacewic deleted the ryan/1821/intake-multiple-gamepieces branch July 1, 2025 18:22
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 ui/ux Relating to user interface, or in general, user experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants