Files
Ely-GPUI-Components/tasks/ch31-43.md
T
ZacharyZhang-NY 9854cfa460 T21b and T21c: Documents, reading and knowledge
- DocumentViewer: pages the app drew on a desk, the page under the view's middle
  counted, zoom steps and fit, thumbnails, notes pinned where a press lands, and
  the owner's FindWidget over the pages, hits lit and the current one revealed
- PageThumbnailList, EpubReader (chapters, type size, progress), PrintPreview
- MarkdownRenderer feeds TableOfContents through sections and outline
- Footnote, TooltipTerm, Glossary, ReadingProgress, ZenMode
- Backlinks, Favorites, TrashBin, PageCover, PageIcon, TemplatePicker,
  VersionHistory with PageHistoryDiff
- editor::FindWidget shows the replace fold and option toggles only with handlers
- block editor tests move to documents/blocks
- icons: a-arrow-down, a-arrow-up
- gallery: reading and knowledge sections; scripted find, changes and zen
2026-09-26 04:34:32 -04:00

294 lines
7.8 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
## T31 Project — `src/project`
- [ ] KanbanBoard / KanbanColumn / KanbanCard
- [ ] TaskList
- [ ] TaskItem — check, priority, due date, assignee
- [ ] TaskDetailPanel
- [ ] SubtaskList
- [ ] GanttChart / TimelineView → `charts::GanttChart`
- [ ] Roadmap
- [ ] Sprint Board → `project::KanbanBoard`
- [ ] Burndown Chart
- [ ] PriorityIndicator
- [ ] StatusSelect
- [ ] AssigneePicker
- [ ] DueDatePicker → `forms::DatePicker`
- [ ] LabelManager
- [ ] IssueCard
- [ ] IssueIdBadge
- [ ] MilestoneProgress
- [ ] WorkloadView
- [ ] TimeTracker
- [ ] Pomodoro Timer
- [ ] DatabaseView (from T21c) — table, board, gallery, calendar, timeline
## T32 Canvas & Design — `src/canvas`
- [ ] InfiniteCanvas
- [ ] CanvasGrid / Guides
- [ ] Ruler
- [ ] SelectionBox
- [ ] TransformHandles
- [ ] SnapIndicator
- [ ] LayerPanel
- [ ] AssetPanel
- [ ] InspectorPanel
- [ ] AlignmentToolbar
- [ ] ToolPalette
- [ ] ZoomControls / ZoomIndicator
- [ ] MiniMap
- [ ] ArtboardFrame
- [ ] ShapeTools — rect, ellipse, polygon, line, arrow
- [ ] PenTool / PathEditor
- [ ] TextTool
- [ ] BrushTool / BrushSettings
- [ ] ColorPanel
- [ ] GradientPanel → `forms::GradientEditor`
- [ ] ShadowEditor
- [ ] BorderEditor
- [ ] TypographyPanel
- [ ] ConstraintsEditor
- [ ] AutoLayoutControls
- [ ] ExportPanel
- [ ] NodeEditor / NodeGraph
- [ ] Node / Port / Edge / Connection
- [ ] FlowChart / DiagramEditor
- [ ] MindMap
- [ ] Whiteboard
- [ ] StickyNote
- [ ] Connector Line
- [ ] HistoryPanel
## T33 DB & Dev Tools — `src/devtools`
- [ ] ConnectionManager
- [ ] ConnectionForm
- [ ] SchemaTree
- [ ] QueryEditor → `editor::CodeEditor`
- [ ] QueryResultGrid → `tables::DataGrid`
- [ ] QueryHistory
- [ ] QueryPlanViewer
- [ ] TableStructureEditor
- [ ] ERDiagram
- [ ] IndexManager
- [ ] RedisKeyBrowser
- [ ] DocumentViewer (MongoDB / JSON) → `devtools::JsonViewer`
- [ ] JsonViewer / JsonTree
- [ ] JsonEditor
- [ ] YamlViewer
- [ ] XmlViewer
- [ ] ApiRequestBuilder
- [ ] ResponseViewer
- [ ] HeadersTable
- [ ] QueryParamsEditor → `forms::KeyValueInput`
- [ ] EnvironmentSelector
- [ ] CollectionTree
- [ ] WebSocketConsole
- [ ] GraphQLExplorer
- [ ] 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