Skip to content

fix: persist scene checkbox selection in publish/download picker#2089

Merged
kpal81xd merged 59 commits into
mainfrom
fix-publish-scene-selection-persist
Jun 12, 2026
Merged

fix: persist scene checkbox selection in publish/download picker#2089
kpal81xd merged 59 commits into
mainfrom
fix-publish-scene-selection-persist

Conversation

@kpal81xd

Copy link
Copy Markdown
Contributor

What's Changed

The publish / zip download dialog rebuilds its scene list on every open and resets the checkboxes to just the primary scene, so the selected scene set was lost each time. In projects with 30-40 scenes this means re-ticking 10-15 scenes for every build.

  • Persist the selected scene ids in localStorage under publish:selectedScenes:<project>:<branch>, mirroring the existing publish:primaryScene key
  • Save on every checkbox change (covers select all and the primary scene auto-select paths, since both flow through each checkbox's change event)
  • Restore the saved selection when the dialog opens, filtered to scenes that still exist; fall back to the primary scene when nothing usable is stored (unchanged previous behaviour)

Checks

kpal81xd added 30 commits June 11, 2026 16:21
apply the builds panel design language to the version control pickers:
kebab row menus with rounded bordered dropdowns, modern list row hover
and header bars, toolbar-style branch actions, primary/secondary side
panel buttons, modern form fields, and red destructive menu items.
display declarations on the changes tab, compare bar and view banner
were defeating pcui-hidden and the hidden attribute, rendering every
panel at once; gate them and drop the compare bar shadow.
the project picker closes on any pointerdown outside its content dom,
so the branch dropdown and dialogs on layout root dismissed the whole
picker when clicked; anchor them inside the picker panel instead and
drop the branch dropdown shadow.
pcui renders [placeholder] as a fixed top-right chip with its own
background, which floats outside the filter input, textarea and dialog
fields; mirror the placeholder onto the native input elements instead
and unify the muted color. drop the doubled divider at the bottom of
the branch list.
8px gap on both axes, header-bar filter row with aligned 12px padding,
builds-style group headers and badge radius, 6px corners on the
dropdown, dialogs and compare bar.
the darkest slab background read as inconsistent against the top bar;
blend at rest, darken on hover/open. the tooltip overlapped the open
dropdown and duplicated the button label, so remove it.
the editor styles webkit scrollbars with an 8px black track, so any
1px horizontal overflow rendered as a thick dark band; clamp x
overflow on the branch, history, changes and main scroll areas.
the context menu is wider than the 320px panel, so right-edge
alignment clamped it onto the dropdown and buried it, reading as the
dropdown vanishing.
restore the original menu position; the kebab keeps a pressed state
and the row keeps its hover presentation until the menu hides, instead
of the actions vanishing when the menu backdrop steals hover.
kpal81xd added 25 commits June 11, 2026 16:21
…ed values

- buildNameIndex: tolerate both flat {guid: name} and nested {entities: {guid: name}} scene payload shapes
- valueKind: explicit 'json' type now returns early before curve sniffing
- valueKind: curve sniffing only runs when type is empty, 'curve', or 'curveset'
- valueKind: remove unnecessary optional chain on string param
- export DiffCheckpoints and CheckpointLike types; replace diff: any with DiffCheckpoints
- add tests pinning nested entity shape, src-wins-over-dst for entities, json-typed curves, off-size arrays
The publish and zip download dialog rebuilt its scene list on every
open and reset the selection to just the primary scene, forcing users
with many scenes to re-tick their build set each time. Persist the
selected scene ids in localStorage (keyed by project and branch, like
the existing primary scene key), save on checkbox change and restore
on open, falling back to the primary scene when nothing is stored.
@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
editor Ready Ready Preview, Comment Jun 12, 2026 7:53am

Request Review

@kpal81xd kpal81xd self-assigned this Jun 12, 2026
@kpal81xd kpal81xd added the bug Something isn't working label Jun 12, 2026
@kpal81xd kpal81xd merged commit d80022c into main Jun 12, 2026
8 checks passed
@kpal81xd kpal81xd deleted the fix-publish-scene-selection-persist branch June 12, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant