Appearance
playout — feature queue
Repo: playout-studio/playout · Path: /Users/Shared/moltis/repos/playout Audit branch: develop Stack: Vue 3, FormKit, @playout/ui, Tailwind, vue-i18n (en/fr/no, CI-enforced parity)
✅ Inventory verified against
develop@998e706don 2026-07-30. The earlier detached-HEAD build (11f029bb) has been reconciled:settings-keybindswas added (#425) andcallbackwas folded into the Sign in row.
Derived from src/router/routes.ts. Redirect-only and layout-shell routes are excluded (overlay, settings). Ordered by user impact: auth and live-operation paths first, admin and settings later.
| # | Feature | Routes | Patterns | Status |
|---|---|---|---|---|
| 1 | Sign in | login, callback | authentication/login, authentication/social-login, forms/password | drafted |
| 2 | Password reset | forgot-password, reset-password — ⚠️ not on develop | authentication/password-reset, forms/password | filed (PR #437, unmerged) |
| 3 | Admin registration | register-admin | authentication/signup, forms/code-confirmation | drafted |
| 4 | Tenant chooser | choose-tenant | data-display/list-view, forms/selection-input | drafted |
| 5 | Event list | events | data-display/list-view, data-display/card-grid, forms/search-field | drafted |
| 6 | Event dashboard | dashboard | data-display/dashboard, data-display/statistics | drafted |
| 7 | Lower third overlay | lowerthird | forms/autocomplete, data-display/table, content-management/tooltip | drafted |
| 8 | Songs overlay | songs | forms/search-field, data-display/list-view, content-management/drag-and-drop | drafted |
| 9 | Bible overlay | bible | forms/selection-input, advanced/search-results | drafted |
| 10 | Queue overlay | queue | content-management/drag-and-drop, data-display/list-view | drafted |
| 11 | Custom overlay components | custom | forms/rich-text-editor, forms/color-picker, advanced/wizard | drafted |
| 12 | Screens | screens, live-screen, production-screen | data-display/card-grid, user-feedback/empty-states | drafted |
| 13 | Streaming | streaming, streaming-connections, streaming-modules | forms/toggle, user-feedback/progress-indicator, user-feedback/notification | drafted |
| 14 | Custom songs | custom-songs | data-display/table, forms/rich-text-editor | drafted |
| 15 | Sharing links | settings-sharing, claim-sharing-link | social/share-dialog, authentication/account-settings | drafted |
| 16 | Tenant settings | settings-general, settings-locations, settings-overlay | authentication/account-settings, forms/form-validation | drafted |
| 17 | Keyboard shortcuts | settings-keybinds | forms/form-validation, user-feedback/notification, content-management/tooltip | drafted |
| 18 | Admin management | settings-admins | data-display/table, authentication/user-profile | drafted |
| 19 | Audit log | audit | data-display/timeline, data-display/table, data-display/filter-panel | drafted |
| 20 | Profile | profile | authentication/user-profile, authentication/account-settings | drafted |
| 21 | Platform admin | admin, admin-tenant, overview, languages, tickets, mails, syncs, persons | data-display/table, data-display/dashboard, data-display/filter-panel | drafted |
| 22 | Error and empty states | not-found, unauthorized, help | user-feedback/empty-states, navigation/link | drafted |
21 features to audit (Password reset is done — see the 2026-07-30 audit and the four commits on atlas/issue-436).
Inventory-level observations
- CONTENT-01 passes CI but fails in reality.
pnpm check:localesverifies key parity, not content parity. The tenant-chooser audit foundfr.ymlandno.ymlcarrying the keys with verbatim English values marked# TODO: translate— 298 of 639 keys repo-wide. So a French or Norwegian user sees English for roughly half the app while CI stays green. Treat this as one project-level CONTENT-01 finding for playout, raised once — not per feature. Individual feature drafts should note untranslated keys they touch, but must not each re-file the architectural problem. This is the playout analogue of the members / tt-time-tracker no-i18n situation described in BASELINE.md's CONTENT-01 section.
Changes since the 11f029bb inventory
- Added #17 Keyboard shortcuts.
#425introduced/:tenant/settings/keybinds(src/views/Tenant/Settings/Keybinds.vue, 174 lines). Split out of Tenant settings rather than folded in: shortcut capture, conflict detection and reset-to-default draw on a different set of patterns than the settings forms. callbackadded to #1 Sign in.src/views/Authentication/Callback.vuehandles the OAuth code exchange and has its own visible error state, so it is not a shell route. Note on sight: its two error strings and the "Back to login" label are hardcoded English in a repo with CI-enforced i18n parity — verify during the Sign in audit.- Pattern slugs corrected and verified (2026-07-30). Seven rows cited slugs that do not exist in the corpus and would have failed
get_patternat audit time:feedback(no such pattern — rows 17 and 22), and the unprefixedempty-states,progress-indicator,notificationandfilter-panel(rows 12, 13, 19, 21, 22). Row 15'sadvanced/share-dialogwas in the wrong category — the real slug issocial/share-dialog. All 31 distinct slugs in this queue now validate against the 92-pattern corpus returned bylist_patterns, as do the other three project queues. - Slug convention confirmed: the short
category/nameform used throughout these queues resolves correctly —get_patternacceptsuser-feedback/empty-statesand returnspatterns/user-feedback/empty-states. Thepatterns/prefix is not needed. - Views touched on
developsince the old inventory, relevant to queued rows:Admin/Overview.vue,Admin/TenantDashboard.vue(#21),Overlay/Bible.vue(#9),Overlay/Queue.vue(#10),Tenant/CustomSongs.vue(#14),Settings/General.vueandSettings/Overlay.vue(#16).
Suggested next: #1 Sign in — adjacent to the reset work, shares the same files, and several baseline rules were already applied to Login.vue during that change, so it should be quick and will confirm the rubric is calibrated.