DashboardGrid lays widgets on columns: a tile's strip drags it and its corner resizes it a cell at a time, others move down and rise to fill gaps, a focused tile steps with the arrows, and under the theme's stack_below width the tiles stand in one column. DashboardCard frames a widget. AlertList acknowledges a firing alert from its row and opens one on Enter; IncidentCard shows an incident's gravity, phase and updates. UptimeBar, ServiceStatus and HealthCheck show what is up, a check's detail wrapping under its name when narrow. EventStream keeps kinds and holds the list while new events count up. RefreshIntervalSelector and DashboardFilterBar set the window, the filters and the refresh. StatCard, MetricsChart, ResourceGauge, LogStream, TraceWaterfall, SystemMonitor, ProcessTable and NetworkGraph point to their homes; the maps wait for T41.
321 lines
8.3 KiB
Markdown
321 lines
8.3 KiB
Markdown
# Chapters 31–43
|
||
|
||
## T31a Project · Tasks — `src/project`
|
||
|
||
- [x] PriorityIndicator
|
||
- [x] IssueIdBadge
|
||
- [x] StatusSelect
|
||
- [x] AssigneePicker
|
||
- [x] DueDatePicker → `forms::DatePicker`
|
||
- [x] TaskItem — check, priority, due date, assignee
|
||
- [x] TaskList
|
||
- [x] SubtaskList → `documents::Checklist`, which gains a field to add one
|
||
|
||
## T31b Project · Issues and boards
|
||
|
||
- [x] IssueCard
|
||
- [x] LabelManager
|
||
- [x] KanbanBoard / KanbanColumn / KanbanCard
|
||
- [x] Sprint Board → `project::KanbanBoard`
|
||
- [x] TaskDetailPanel
|
||
|
||
## T31c Project · Plans
|
||
|
||
- [x] GanttChart / TimelineView → `charts::GanttChart`
|
||
- [x] Roadmap
|
||
- [x] Burndown Chart → `charts::BurndownChart`, on the charts' scales and paint
|
||
- [x] MilestoneProgress
|
||
- [x] WorkloadView
|
||
|
||
## T31d Project · Time and databases
|
||
|
||
- [x] TimeTracker
|
||
- [x] Pomodoro Timer
|
||
- [x] DatabaseView (from T21c) — table, board, gallery, calendar, timeline
|
||
|
||
## T32a Canvas · Plane — `src/canvas`
|
||
|
||
- [x] InfiniteCanvas
|
||
- [x] CanvasGrid / Guides
|
||
- [x] Ruler
|
||
- [x] ZoomControls / ZoomIndicator
|
||
- [x] MiniMap
|
||
- [x] ArtboardFrame
|
||
|
||
## T32b Canvas · Tools
|
||
|
||
- [x] SelectionBox
|
||
- [x] TransformHandles
|
||
- [x] SnapIndicator
|
||
- [x] ToolPalette
|
||
- [x] ShapeTools — rect, ellipse, polygon, line, arrow
|
||
- [x] PenTool / PathEditor
|
||
- [x] TextTool
|
||
- [x] BrushTool / BrushSettings
|
||
- [x] HistoryPanel
|
||
|
||
## T32c Canvas · Panels
|
||
|
||
- [x] LayerPanel
|
||
- [x] AssetPanel
|
||
- [x] InspectorPanel
|
||
- [x] AlignmentToolbar
|
||
- [x] ColorPanel
|
||
- [x] GradientPanel → `forms::GradientEditor`
|
||
- [x] ShadowEditor
|
||
- [x] BorderEditor
|
||
- [x] TypographyPanel
|
||
- [x] ConstraintsEditor
|
||
- [x] AutoLayoutControls
|
||
- [x] ExportPanel
|
||
|
||
## T32d Canvas · Graphs and boards
|
||
|
||
- [x] NodeEditor / NodeGraph
|
||
- [x] Node / Port / Edge / Connection
|
||
- [x] FlowChart / DiagramEditor
|
||
- [x] MindMap
|
||
- [x] Whiteboard
|
||
- [x] StickyNote
|
||
- [x] Connector Line
|
||
|
||
## T33a DB & Dev Tools · Databases — `src/devtools`
|
||
|
||
- [x] ConnectionManager
|
||
- [x] ConnectionForm
|
||
- [x] SchemaTree
|
||
- [x] QueryEditor → `editor::CodeEditor`
|
||
- [x] QueryResultGrid → `tables::DataGrid`
|
||
- [x] QueryHistory
|
||
- [x] QueryPlanViewer
|
||
- [x] TableStructureEditor
|
||
- [x] ERDiagram
|
||
- [x] IndexManager
|
||
- [x] RedisKeyBrowser
|
||
|
||
## T33b DB & Dev Tools · Data formats
|
||
|
||
- [x] DocumentViewer (MongoDB / JSON) → `devtools::JsonViewer`
|
||
- [x] JsonViewer / JsonTree
|
||
- [x] JsonEditor
|
||
- [x] YamlViewer
|
||
- [x] XmlViewer
|
||
|
||
## T33c DB & Dev Tools · APIs
|
||
|
||
- [x] ApiRequestBuilder
|
||
- [x] ResponseViewer
|
||
- [x] HeadersTable
|
||
- [x] QueryParamsEditor → `forms::KeyValueInput`
|
||
- [x] EnvironmentSelector
|
||
- [x] CollectionTree
|
||
- [x] WebSocketConsole
|
||
- [x] GraphQLExplorer
|
||
|
||
## T33d DB & Dev Tools · Tools and machines
|
||
|
||
- [x] RegexTester
|
||
- [x] Base64 / Encoder
|
||
- [x] ColorContrastChecker
|
||
- [x] ContainerList
|
||
- [x] PodList
|
||
- [x] ResourceMonitor
|
||
|
||
## T34 Dashboard — `src/dashboard`
|
||
|
||
- [x] Dashboard Grid
|
||
- [x] Widget / DashboardCard
|
||
- [x] StatCard → `data_display::Statistic`
|
||
- [x] MetricsChart → `charts::LineChart`
|
||
- [x] AlertList
|
||
- [x] IncidentCard
|
||
- [x] UptimeBar
|
||
- [x] ServiceStatus
|
||
- [x] HealthCheck Indicator
|
||
- [x] LogStream → `terminal::LogViewer`
|
||
- [x] TraceWaterfall → `debug::TimelineProfiler`
|
||
- [x] EventStream
|
||
- [x] ResourceGauge → `data_display::Gauge`
|
||
- [x] SystemMonitor → `devtools::ResourceMonitor`
|
||
- [x] ProcessTable → `terminal::ProcessList`
|
||
- [x] NetworkGraph (throughput) → `charts::RealtimeChart`
|
||
- [ ] MapView / GeoHeatmap → `maps::MapView`, `maps::GeoHeatmap` (T41)
|
||
- [ ] WorldMap → `maps::WorldMap` (T41)
|
||
- [x] RefreshIntervalSelector
|
||
- [x] DashboardFilterBar
|
||
|
||
## T35 Settings — `src/settings`
|
||
|
||
- [ ] SettingsLayout
|
||
- [ ] SettingsSection
|
||
- [ ] SettingsRow
|
||
- [ ] SettingsSearch
|
||
- [ ] ThemeSelector → `theme::ThemeSwitcher`
|
||
- [ ] AccentColorPicker
|
||
- [ ] FontSizeControl
|
||
- [ ] FontFamilySelect → `forms::FontPicker`
|
||
- [ ] DensitySelector
|
||
- [ ] LanguageSelector → `forms::Combobox::languages` (T06f)
|
||
- [ ] KeyboardShortcutsList
|
||
- [ ] ShortcutEditor → `editor::KeybindingsEditor`
|
||
- [ ] ProxySettings
|
||
- [ ] StorageSettings / CacheClear
|
||
- [ ] PrivacySettings
|
||
- [ ] NotificationSettings
|
||
- [ ] StartupSettings
|
||
- [ ] ImportExportSettings
|
||
- [ ] ResetToDefault
|
||
- [ ] AdvancedSettings / FeatureFlags
|
||
- [ ] DeveloperMode Toggle
|
||
|
||
## T36 Account — `src/account`
|
||
|
||
- [ ] LoginForm
|
||
- [ ] SignupForm
|
||
- [ ] OAuthButtons
|
||
- [ ] MagicLinkForm
|
||
- [ ] TwoFactorInput
|
||
- [ ] ForgotPassword
|
||
- [ ] ProfileCard
|
||
- [ ] ProfileEditor
|
||
- [ ] AccountSwitcher
|
||
- [ ] WorkspaceSwitcher / OrgSwitcher
|
||
- [ ] UserMenu
|
||
- [ ] SessionList
|
||
- [ ] ApiKeyManager
|
||
- [ ] SubscriptionCard / PlanBadge
|
||
- [ ] UsageQuota
|
||
- [ ] BillingHistory
|
||
- [ ] PaymentMethodForm
|
||
- [ ] UpgradePrompt / Paywall
|
||
- [ ] TeamMemberTable
|
||
- [ ] RoleSelector
|
||
- [ ] InvitationList
|
||
|
||
## T37 Onboarding & Help — `src/onboarding`
|
||
|
||
- [ ] OnboardingWizard
|
||
- [ ] WelcomeTour → `overlays::Tour` (T09b)
|
||
- [ ] Coachmark / Hotspot — Coachmark → `overlays::Spotlight`; Hotspot here
|
||
- [ ] FeatureHighlight / NewBadge
|
||
- [ ] Checklist (first-run tasks)
|
||
- [ ] HelpTooltip
|
||
- [ ] HelpPanel / DocsSidebar
|
||
- [ ] KeyboardShortcutCheatsheet
|
||
- [ ] WhatsNewDialog
|
||
- [ ] FeedbackWidget
|
||
- [ ] ContactSupport
|
||
- [ ] InlineHelp
|
||
- [ ] EmptyStateWithAction → `feedback::EmptyState`
|
||
|
||
## T38 Interaction — `src/interaction`
|
||
|
||
- [ ] Draggable — native `on_drag`
|
||
- [ ] Droppable / DropTarget — native `on_drop`, `drag_over`
|
||
- [ ] DragOverlay / DragPreview — native drag view
|
||
- [ ] DragGhost → DragPreview (native)
|
||
- [ ] Sortable / SortableContext
|
||
- [ ] Resizable
|
||
- [ ] Rotatable
|
||
- [ ] Selectable / SelectionArea
|
||
- [ ] RubberBandSelection → `interaction::SelectionArea`
|
||
- [ ] LongPress → `primitives::Pressable`
|
||
- [ ] DoubleClick — native `ClickEvent::click_count`
|
||
- [ ] Gesture — prove: wheel zoom, pinch, two-finger swipe
|
||
- [ ] PanZoom → `layout::Viewport`
|
||
- [ ] Hotkeys / KeyBinding — native `actions!`, `bind_keys`, `key_context`
|
||
- [ ] KeyChord — native multi-keystroke bindings
|
||
- [ ] Undo / Redo Manager
|
||
- [ ] InfiniteScroll Trigger → `lists::InfiniteList`
|
||
- [ ] VirtualScroller — native `list()` / `uniform_list()`
|
||
- [ ] ScrollSync
|
||
- [ ] Autofocus — native `window.focus()`
|
||
- [ ] RovingTabIndex
|
||
- [ ] TypeAhead
|
||
- [ ] FocusVisible → `primitives::FocusRing`
|
||
|
||
## T39 Theme — `src/theme`
|
||
|
||
- [x] ThemeProvider (T00)
|
||
- [ ] ThemeSwitcher
|
||
- [x] ColorTokens / DesignTokens (T00)
|
||
- [ ] ThemeEditor
|
||
- [ ] ThemeImporter — VS Code theme JSON
|
||
- [ ] SyntaxThemes
|
||
- [ ] IconThemeProvider
|
||
- [ ] DensityProvider (T00)
|
||
- [ ] RadiusProvider (T00)
|
||
- [ ] FontProvider (T00)
|
||
- [ ] HighContrastMode (T00)
|
||
- [ ] ReducedMotionProvider (T00)
|
||
- [ ] Platform Style
|
||
- [ ] VibrancyBackground / Mica / Acrylic — native `WindowBackgroundAppearance::Blurred`
|
||
- [x] Elevation / Shadow (T00)
|
||
|
||
## T40 i18n & a11y — `src/i18n`
|
||
|
||
- [ ] I18nProvider
|
||
- [ ] Trans / LocalizedText
|
||
- [ ] LocaleNumber / LocaleDate
|
||
- [ ] RTL layout — prove: mirrored stacks
|
||
- [ ] LiveRegion / Announcer — blocked: gpui 0.2.2 has no accessibility tree
|
||
- [ ] SkipLink
|
||
- [ ] AccessibleIcon — blocked: no accessibility tree
|
||
- [ ] AriaLabel helper — blocked: no accessibility tree
|
||
- [ ] KeyboardNavigationHelper
|
||
- [ ] ScreenReaderOnly — blocked: no accessibility tree
|
||
- [ ] ColorBlindSafe Palette
|
||
|
||
## T41 Maps — `src/maps`
|
||
|
||
- [ ] MapView — host tiles
|
||
- [ ] MapMarker
|
||
- [ ] MapPopup
|
||
- [ ] MapCluster
|
||
- [ ] RouteLine
|
||
- [ ] GeoJSON Layer
|
||
- [ ] ChoroplethMap
|
||
- [ ] LocationPicker
|
||
- [ ] CoordinateDisplay
|
||
- [ ] WorldMap (from T34)
|
||
- [ ] GeoHeatmap (from T34)
|
||
|
||
## T42 Misc — `src/misc`
|
||
|
||
- [ ] Clock / WorldClock
|
||
- [ ] Stopwatch
|
||
- [ ] Calculator
|
||
- [ ] UnitConverter
|
||
- [ ] QRCodeScanner — prove: host frames, `rqrr` decode
|
||
- [ ] BarcodeDisplay → `data_display::Barcode`
|
||
- [ ] Captcha
|
||
- [ ] Signature → `forms::SignaturePad`
|
||
- [ ] Rating Widget → `forms::Rating`
|
||
- [ ] Poll / Survey
|
||
- [ ] Quiz / Flashcard
|
||
- [ ] ChangeLog Viewer → `data_display::Changelog`
|
||
- [ ] LicenseViewer
|
||
- [ ] Terms / Consent Dialog
|
||
- [ ] CookieBanner
|
||
- [ ] WebView — prove: `wry`
|
||
- [ ] IframeEmbed / EmbedCard
|
||
- [ ] HTMLPreview → `misc::WebView`
|
||
- [ ] PrintButton — blocked: gpui 0.2.2 has no print API
|
||
- [ ] ExportDialog — PDF, PNG, CSV, JSON
|
||
- [ ] ImportDialog — field mapping
|
||
- [ ] CSVImporter
|
||
- [ ] ShareSheet
|
||
|
||
## T43 Library Tooling — `src/tooling`
|
||
|
||
- [ ] ComponentGallery / Storybook
|
||
- [ ] PlaygroundPanel
|
||
- [ ] InspectorOverlay
|
||
- [ ] FPSMeter / PerfOverlay
|
||
- [ ] RenderCounter
|
||
- [ ] EventLogger
|
||
- [ ] DesignTokenViewer
|
||
- [ ] IconBrowser
|
||
- [ ] A11yChecker — contrast audit
|
||
- [ ] ScreenshotTest Harness — self-capture; scripted input since T01
|