Skip to content

Exporter UI Refactor [AARD-1883] #1194

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

Open
wants to merge 18 commits into
base: dev
Choose a base branch
from
Open

Exporter UI Refactor [AARD-1883] #1194

wants to merge 18 commits into from

Conversation

rutmanz
Copy link
Member

@rutmanz rutmanz commented Jul 3, 2025

Task

AARD-1883

Uses Fusion's palette system to make the UI for the exporter a React webpage. Goal is to make the UI cleaner, easier to build on, and not such a pain to update.

Symptom

When you click the exporter button in fusion, you previously saw the old UI. The old UI was difficult to update and very inflexible in its layout.

Solution

  • Old ConfigureCommand GUI replaced with a palette, which has all of the same inputs re-implemented using MUI and React
  • Uses the Fusion-Web communication protocol to transfer data at key moments
    • When selecting joints and game pieces (Web UI prompts Fusion to allow the user to select an appropriate item in the scene, Fusion returns the selected items)
    • When first opening the panel (Fusion sends calculated robot weight)
    • When exporting (Web UI sends configuration to Fusion and initiates the export process)

Photos

image

Limitations

  • Uses Fusion's internal units (rad/s, cm/s, kg, N) instead of user's unit preferences
    • This isn't a technical limitation, could update to account for that if we think it's important

Verification

  • Confirmed that ExporterOptions objects were the same with both the old configuration UI and the new web UI
  • Confirmed that saving and loading of config in the document metadata worked
  • Confirmed that joint selector and gamepiece selectors allow you to select joints and gamepieces
  • Confirmed that models can be imported

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.

@rutmanz rutmanz self-assigned this Jul 3, 2025
@rutmanz rutmanz added enhancement ui/ux Relating to user interface, or in general, user experience exporter labels Jul 3, 2025
@rutmanz rutmanz force-pushed the zachr/1883/exporter-ui branch from 553417a to cea6ff1 Compare July 9, 2025 18:28
@rutmanz rutmanz marked this pull request as ready for review July 9, 2025 18:32
@rutmanz rutmanz requested review from a team as code owners July 9, 2025 18:32
@autodesk-chorus
Copy link

Chorus detected one or more security issues with this pull request. See the Checks tab for more details.

As a reminder, please follow the secure code review process as part of the Secure Coding Non-Negotiable requirement.

@azaleacolburn azaleacolburn added the refactor The most important part of software development. label Jul 9, 2025
@rutmanz rutmanz requested a review from azaleacolburn July 9, 2025 21:49
@rutmanz
Copy link
Member Author

rutmanz commented Jul 9, 2025

Also note that to test this, you'll need to build the react project. Not sure how we want to do that long-term because previously, using the exporter from the synthesis repo just worked out of the box

cd exporter/SynthesisFusionAddin/web
bun i
bun run build

@Dhruv-0-Arora Dhruv-0-Arora marked this pull request as draft July 9, 2025 22:00
@Dhruv-0-Arora
Copy link
Collaborator

Note

Waiting on #1170 and AARD-1882

@rutmanz rutmanz marked this pull request as ready for review July 11, 2025 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement exporter refactor The most important part of software development. ui/ux Relating to user interface, or in general, user experience
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants