feat(onboarding): tour of the UI for first-time users - #1391
Open
Dhruv-0-Arora wants to merge 68 commits into
Open
feat(onboarding): tour of the UI for first-time users#1391Dhruv-0-Arora wants to merge 68 commits into
Dhruv-0-Arora wants to merge 68 commits into
Conversation
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Dhruv-0-Arora
force-pushed
the
darora1/218/ui-tour
branch
from
July 10, 2026 22:50
922894a to
c3c101c
Compare
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Thread structured per-asset `year` and optional `thumbnail` from the manifest through to cached assets so the asset library can group and preview assets: - Widen the manifest schema (ManifestFileEntry) with year/thumbnail. - Derive year (parsed from filenames at build time) and resolve a sibling thumbnail path in update_manifest.ts. - Expose both on DefaultAssetInfo, resolving the thumbnail to a servable URL. - Persist them onto MirabufCacheInfo via cacheRemote/storeInCache so downloaded assets retain the metadata; older cached entries still deserialize since the fields are optional.
Replace the docked ImportMirabufPanel with a large centered LibraryModal that lists assets by competition year, matching the Figma design: - Year tabs (descending, with an "Other" tab for undated assets) over a card grid that merges each year's robots and field, with thumbnail placeholders, a cached badge, and spawn/download/delete affordances. - Keep Saved (cached), Autodesk Hub (APS), and Import-from-File as secondary sections so no functionality is lost. - Extract spawnCachedMira and the remote/APS/download-all flows into a shared librarySpawnActions module. - Migrate all call sites from openPanel to openModal; drop the Library from the panel mutual-exclusion group and replicate the block-spawn-while-configuring guard in openModal; defer the Import<->Library handoff a tick to avoid the single-modal clobber. - Advance the onboarding tour on a new modal-open trigger and update the step copy to reference year tabs.
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Encapsulate the APS state, event subscriptions, and spawn handler in AutodeskHubAccordion so the Library body only deals with default/cached assets. Also fix DownloadButton using the delete icon.
The deployed manifest had no year fields, so every asset fell into the single 'Other' tab. Regenerate the asset pack with update_manifest.ts to write year (and thumbnail) metadata, and fix the script's basepath case (Mira -> mira) so it targets the actual served directory on case-sensitive filesystems.
…previews Fusion embeds a 250x250 PNG thumbnail in every mira file's metadata, which was going unused (per rutmanz's PR note). Extract it at manifest-build time into a sibling thumbnails/<name>.png and reference it from the manifest, so library cards show real asset renders instead of placeholder icons. The assembly is already decoded for GUID/name normalization, so this adds no extra parsing.
Dhruv-0-Arora
force-pushed
the
darora1/218/ui-tour
branch
from
July 15, 2026 17:17
c10042f to
48abf49
Compare
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Informational tourcards prevent clicking anything on the screen except the tourcard itself. This commit also modifies the structure of some tourcards to help improve the flow of onboarding
Insert a "Set Up Your Assembly" card between "Choose a Robot" and "Select an Assembly". It points at the Assembly Setup panel and tells the user to pick an input scheme or press Finish, which auto-assigns the Ernie (WASD) scheme. The step advances on ConfigurationSavedEvent. Anchor it to the input-scheme list rather than the panel root, whose bounding box is widened by the transform gizmo control. Also re-sync the Popper position in a short burst after an anchored step mounts: the panel slides in via a CSS transform that fires no resize event, which otherwise leaves the callout measured against its pre-animation position.
Dhruv-0-Arora
force-pushed
the
feat/63/ui-redesign
branch
3 times, most recently
from
July 16, 2026 15:28
0d44711 to
cbab725
Compare
Dhruv-0-Arora
force-pushed
the
darora1/218/ui-tour
branch
2 times, most recently
from
July 16, 2026 17:16
682466f to
6848d4f
Compare
Dhruv-0-Arora
marked this pull request as ready for review
July 17, 2026 00:56
Dhruv-0-Arora
requested review from
RoushilS and
azaleacolburn
and removed request for
a team
July 17, 2026 00:56
previously, if you spawned a robot instead of a field @ the beginning, it would prevent you from moving past tour cards 3 & 4 Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Dhruv-0-Arora
force-pushed
the
darora1/218/ui-tour
branch
from
August 13, 2026 05:26
3838e35 to
68297ee
Compare
From the previous commit, there was an issue where the scrim (overlay) would prevent a user from clicking the add button if they accidentally spawn a robot instead of a field Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
…he next button Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Dhruv-0-Arora
force-pushed
the
darora1/218/ui-tour
branch
from
August 13, 2026 06:46
8e0ce4b to
f6f8b0b
Compare
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
azaleacolburn
approved these changes
Aug 13, 2026
0xda157
requested changes
Aug 13, 2026
Contributor
There was a problem hiding this comment.
- You can spawn a robot when it asks you to spawn a field, which causes the tour to ask you to spawn a robot when you've already done so
- If the step has not been completed, I think that showing a toast instead of just disabling the next button is really weird. I'd prefer to just have the button do nothing.
- The tour card pointing at the library should not be covering the items in the library

- The "switch modes" tour card covers the switch modes dropdown

AlexD717
requested changes
Aug 13, 2026
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com> Co-authored-by: Alexey Dmitriev <157652245+AlexD717@users.noreply.github.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com> Co-authored-by: Alexey Dmitriev <157652245+AlexD717@users.noreply.github.com> Co-authored-by: 0xda157 <153149335+0xda157@users.noreply.github.com>
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Brings in Multiplayer v2 (Glueball). Nine files conflicted; several more auto-merged across the same areas. Resolution decisions: PreferenceTypes.ts - Took dev's MultiplayerHost/Port/Secure and dropped MultiplayerClientID, which dev deliberately removed in the v2 rewrite. Kept HasSeenOnboardingTour. Synthesis.tsx - Kept dev's Stack that groups DragModeIndicator with MultiplayerHUD, and wrapped the tree in TourProvider with TourOverlay after PortraitOverlay. MirabufLoader.ts / LibrarySpawnActions.ts - This branch moved spawnCachedMira out to LibrarySpawnActions.ts, so dev's edits to the old copy were ported by hand rather than merged: - added the "Cannot spawn a second field!" guard for multiplayer sessions - renamed newObject payload sceneObjectKey to sceneObjectId - dropped the bodyIds payload field - broadcast is no longer async, so broadcastSpawn no longer awaits it - retargeted the import from multiplayer/types to multiplayer/MultiplayerTypes - Kept dev's consolePrefixer logger in MirabufLoader.ts. SceneRenderer.ts - Kept both sides: this branch's captureAssemblyThumbnail and dev's optional id parameter on registerSceneObject. Took dev's relocated components/overlays/SceneOverlayEvents path. MobileHUD.tsx (moved by dev to components/overlays/) - Took dev's import paths for the new location and dev's globalOpenModal multiplayer flow, which supersedes the startWorldCallback prop this branch was passing. Kept LibraryModal in place of ImportMirabufPanel. TopBar.tsx / ConfigurePanel.tsx - Additive import unions only. Kept dev's setCloseModal and MatchModeType alongside the tour imports. ImportMirabufPanel.tsx - Deleted. This branch replaced it with LibraryModal, and dev's only change to it was an import path rewrite, so nothing behavioural was lost. No references remain. biome.json (only deliberate deviation from dev) - Added an overrides entry disabling the linter and formatter for src/systems/multiplayer/bindings, matching how src/proto is already handled. dev's existing "!src/systems/multiplayer/bindings" sits in the formatter includes only, so the generated glueball bindings were still linted and formatted and blocked the pre-commit hook. Verified after resolution: tsc clean, biome clean on source, 817 unit tests pass, production build succeeds.
Dhruv-0-Arora
force-pushed
the
darora1/218/ui-tour
branch
from
August 13, 2026 19:58
b9ef68c to
aa852ff
Compare
AlexD717
requested changes
Aug 13, 2026
AlexD717
left a comment
Member
There was a problem hiding this comment.
Still asking me to spawn a robot if I already spawned it
Screen.Recording.2026-08-13.at.4.14.17.PM.mov
Signed-off-by: Dhruv Arora <dhruv.arora1@autodesk.com>
Collaborator
Author
|
@AlexD717 now when you do the robot and field out of order, the tour card 7 will appear in the middle of the screen because the intake button is not visible. I don't think we should change this. |
0xda157
requested changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



SYNTH-218
Onboarding users onto the new UI. Helping them navigate through using Synthesis and understand the different parts of the simulator.
Certain onboarding modules block clicking anything on the screen except the TourCard itself.
Note
Onboarding is only for the first time you open the simulator. To see it, you must clear your preferences. There is now a button in settings which you can use the do onboarding again
Component UI:

In addition, this PR adds the new Library modal. This modal sorts each robot and field by year in addition to adding their thumbnails.
Important
Some PRs that have worked on the InitialConfigPanel may have been lost in merging. Ensure your PRs have been merged in and not silently merged out.
Before merging, ensure the following criteria are met:
Signed-off-by: Dhruv Arora dhruv.arora1@autodesk.com