Files
Ely-GPUI-Components/tasks/ch31-43.md
T
ZacharyZhang-NYandClaude Opus 5.5 4550c87bf4 DB & Dev Tools · APIs: requests, answers, environments, sockets and GraphQL
ApiRequestBuilder builds a request: its method and address, then tabs
for the query's pairs, headers, body and sign-in, with the address that
goes out under the field, the environment's {{variables}} filled in or
the missing ones named. Send hands the owner the request. The query's
pairs go through forms::KeyValueInput. ResponseViewer shows an answer's
status in its class's tone with its words, its time and size, then its
body, JSON indented, or its headers in a HeadersTable.
EnvironmentSelector picks a set of variables and masks secrets until
their eye opens them. CollectionTree holds saved requests in folders;
Enter opens one. WebSocketConsole shows a socket's messages, each
marked sent or received with its time, and sends on Enter while the
socket is open and the field holds words. GraphQLExplorer browses a
schema beside a query and its variables; Run waits for variables that
read as JSON and the answer shows as a tree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:24:44 -04:00

321 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
- [ ] RegexTester
- [ ] Base64 / Encoder
- [ ] ColorContrastChecker
- [ ] ContainerList
- [ ] PodList
- [ ] ResourceMonitor
## T34 Dashboard — `src/dashboard`
- [ ] Dashboard Grid
- [ ] Widget / DashboardCard
- [ ] StatCard → `data_display::Statistic`
- [ ] MetricsChart → `charts::LineChart`
- [ ] AlertList
- [ ] IncidentCard
- [ ] UptimeBar
- [ ] ServiceStatus
- [ ] HealthCheck Indicator
- [ ] LogStream → `terminal::LogViewer`
- [ ] TraceWaterfall → `agent::TraceViewer`
- [ ] EventStream
- [ ] ResourceGauge → `data_display::Gauge`
- [ ] SystemMonitor
- [ ] ProcessTable → `terminal::ProcessList`
- [ ] NetworkGraph (throughput) → `charts::RealtimeChart`
- [ ] MapView / GeoHeatmap → `maps::MapView`, `maps::GeoHeatmap` (T41)
- [ ] WorldMap → `maps::WorldMap` (T41)
- [ ] RefreshIntervalSelector
- [ ] 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