Repository navigation
Code's popups stay inside its panel; the tour dims the panel around each control - #284
Merged
Merged
Conversation
…l but what may be tried
…ps its own keyframes
…focus fallen to the page returns to Next
…n; panel roots clip rather than scroll
…ow routing tried through the opening; consumer rules instead of pins
…yout, so the profile scrolls wholly out of view on any fonts
…ctly; the check is the product's fallback, not native wheel scrolling
Owner
Author
|
Head-specific evidence for
|
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.
What
Code's popups no longer take over the whole Manifold window, and the tutorial becomes a spotlight tour that dims the panel around each control.
One layer inside each Code panel
plugins/code/panel-layer.tsx: aPanelLayercontext (the panel root),PanelDialog(a non-modal<dialog open>centred in the visible part of the panel over a dim that covers only that panel),holdPanel(panel, keep)(per-element countedinerton everything in the panel but layers, the live region and whatkeepnames),useDeliberate(the question guards: 400 ms settle, 300 ms focus hold for keys, multi-click ignored),keepTab,giveFocusBack,focusBehind.showModal()now goes through it: the questions a Launch waits on (DecisionDialog), Shortcuts, Models' import, and the native permission review (Setup, Manage accounts, and the separate accounts panel, whose root now provides the layer). Only the Code panel dims and goes inert; the rest of Manifold is neither covered nor held.Esctakes the way out; a settled press on the dim does too for questions and Shortcuts, never for the import or a review. Focus goes back to what had it, and a sheet a question's fix opens gives it back there in turn. The live region stays out of the hold, so it keeps speaking. Panel roots getisolation: isolate.tutorialOffer, thetourchoice,PressDecision) are gone.The tour
clip-pathcut, 6 px round the lit parts) grows from where the welcome stood to the first control and glides between controls; a 1 px accent rule sits on it; the card comes in beside it as it lands, with progress as blocks (read out with the card as "Step N of M").Escends the walk from anywhere in the panel. A step whose control is not shown keeps its card in the middle. The end puts focus on More and the dim fades as the opening closes. Reduced motion places everything at once.Verification
Head-specific evidence for
ade745df2a8488cda36b6e288357bba941da4fac:scripts/gate.sh(Bun 1.4.2, two CPUs, exact Manifold82605419ea9a67198d9ea0dae1257a8fd812ecd8and OMP pins): exit 0. 461 unit tests pass; type check clean; four bundles packed; disposable native composition; real-browser verifierPASS (618s).9c7856d388) also passed.pass (39603f133b); the later commits touch only the tour's settle, focus, scrolling and the verifier.pass (5828a7e616)for the product, then the two scrolling fixes (280c2f71f7,bf29bbda42) read in round 4.pass (ade745df2a)after five rounds (coverage, races, measured settle, consumer rules over pins).What the verifier states it does not prove: panel keys with focus on the root while a dialog holds the panel (no real input reaches that state),
Escwithin the welcome's first 400 ms, the struck word's check gate being open, and←from the panel root.Closes #283