feat(core): treat a grouped dock entry's category as an in-group sub-category#462
Merged
Conversation
…category When a dock entry's groupId resolves to a registered group, its outer dock-bar bucket is the group's own category and its own category becomes an in-group sub-category. Sub-categories divide the group popover, edge-mode sidebar, settings reorder list (own grp:<id>:::<subcat> containers), and command-palette drill-down, ordered by the shared category table. Orphan members (unregistered group) fall back to their own category; unset members fall into a default sub-category. Docs updated for the dual role of category; the stale skill-reference category-order table is corrected and viteplus group-vs-category wording clarified.
@vitejs/devtools
@vitejs/devtools-kit
@vitejs/devtools-oxc
@vitejs/devtools-rolldown
@vitejs/devtools-vite
@vitejs/devtools-vitest
commit: |
…S_ORDER The dock category-order table now has a single source of truth upstream in @devframes/hub (released in 0.7.10). Kit re-exports it from @devframes/hub/constants and drops its local copy, so standalone hub viewers and Vite DevTools order categories (and in-group sub-categories) identically. The released table is a framework-first superset (adds ui/data/performance/docs).
Hub 0.7.10's DocksEntriesContext adds client-side register/update — docks registered live in the page, merged over the server-provided devframe:docks docks by id (client overrides server; client-only entries appended) and never synced to shared state. Core hand-rolls its reactive context, so it now keeps a client-dock registry and threads the merged entry list through selection, entry state, grouping, and the command palette. Kit re-exports DockRegistration.
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.
Description
Clarifies and implements the dual role of a dock entry's
categoryfield: when an entry'sgroupIdresolves to a registered group, the entry's outer dock-bar bucket is the group's owncategory, and the entry's owncategorybecomes an in-group sub-category. A top-level (ungrouped) entry keepscategoryas its outer bucket, unchanged.In-group sub-categories divide, ordered by the same category table as the outer bar:
grp:<id>:::<subcat>) with its own custom-order + reset, and shows a header when a group spans more than one sub-category,Fallbacks: a group with no
categorysends its members to thedefaultouter bucket; a member with nocategoryfalls into adefaultin-group sub-category; an orphan member (itsgroupIdmatches no registered group) falls back to its owncategory. The outer category-hide toggle is not applied inside a group.Upstream + dependency
The companion
@devframes/hubchange (docstrings, hub's owngroupByCategoryconsistency, and a reconciled, exportedDEFAULT_CATEGORIES_ORDER) shipped in hub 0.7.10. This PR upgrades to it and makes the category-order table a single source of truth: kit re-exportsDEFAULT_CATEGORIES_ORDERfrom@devframes/hub/constantsand drops its local copy. The released table is a framework-first superset (addsui/data/performance/docs).The 0.7.10 upgrade also introduced a new client-side
DocksEntriesContextAPI (register/updatefor client-only docks merged over the server docks). Core hand-rolls its reactive context, so it now keeps a client-dock registry and threads the merged entry list through selection, entry state, grouping, and the palette; kit re-exportsDockRegistration.Linked Issues
Depends on devframes/devframe#130 (released as
@devframes/hub@0.7.10).Additional context
pnpm lint && pnpm typecheck && pnpm test && pnpm buildall pass (289 tests; +11 dock-group cases; export snapshots updated for the new kit exports).This PR was created with the help of an agent.