Files
Ely-GPUI-Components/TASKS.md
T

8.7 KiB

Tasks

Progress truth. Work runs top to bottom. No item is skipped. Each T item ends with a review in a herdr split pane, three rounds at most: codex (gpt-6-astra, effort max) through T24d round 2; from T24d round 3, after codex ran out of quota on 2026-09-26, a Claude session on Fable 5.1 at max effort, at the user's word; from T44a round 2, codex again, as the user asked; from T45d round 2, Claude Code on Fable 5.1 at high effort, at the user's word.

Per-component lines live in tasks/. Tags there:

Tag Meaning
→ path Alias or duplicate. One home, at path.
native gpui ships it. The gallery shows the native call.
host Ely draws the UI. The host app supplies the engine data.
prove Needs a crate or platform API not yet proven with gpui.
blocked Cannot be real on gpui. Reason given.
(Txx) Built early in task Txx as a dependency.

Items

  • T00 Foundation: package, theme, motion, assets, Icon, Button, gallery shell, docs
  • T01 Primitives — tasks/ch01-10.md
  • T02 Typography
  • T03 Layout
  • T04 Window & Shell
  • T05 Buttons & Actions
  • T06a Forms · Text
  • T06b Forms · Selection
  • T06c Forms · Date & Time
  • T06d Forms · Color
  • T06e Forms · Files
  • T06f Forms · Other
  • T06g Forms · Structure
  • T07a Navigation · Tabs & paths
  • T07b Navigation · Places
  • T07c Navigation · Palettes & tour
  • T08a Menus · Menu & hosts
  • T08b Menus · Bar, search & pie
  • T09a Overlays · Popovers & dialogs
  • T09b Overlays · Guides & floats
  • T10a Feedback · Messages
  • T10b Feedback · States
  • T11a Loading · Spinners & skeletons — tasks/ch11-20.md
  • T11b Loading · Progress & states
  • T11c Motion · Presence & order
  • T11d Motion · Effects
  • T12a Data Display · People & numbers
  • T12b Data Display · Records
  • T12c Data Display · Media
  • T12d Data Display · Codes & measures
  • T13a Lists & Trees · Lists
  • T13b Lists & Trees · Trees
  • T13c Lists & Trees · Files
  • T14a Tables · Core
  • T14b Tables · Columns & rows
  • T14c Tables · Grids
  • T15a Charts · Cartesian
  • T15b Charts · Parts and spreads
  • T15c Charts · Flows and relations
  • T16a Finance · Market charts
  • T16b Finance · Technical analysis
  • T16c Finance · Quotes & book
  • T16d Finance · Trading
  • T16e Finance · Markets & assets
  • T17a Editor · Core
  • T17b Editor · Intelligence
  • T17c Editor · Search
  • T17d Editor · Panels
  • T17e Editor · Status items
  • T18 Terminal
  • T19 Git
  • T20 Debug
  • T21a Documents · Editing — tasks/ch21-30.md
  • T21b Documents · Reading
  • T21c Documents · Knowledge
  • T22 Collaboration
  • T23a AI Chat · Messages
  • T23b AI Chat · Citations
  • T23c AI Chat · Input
  • T23d AI Chat · Conversations
  • T23e AI Chat · Welcome
  • T24a Agent · Tool calls
  • T24b Agent · Progress
  • T24c Agent · Changes
  • T24d Agent · Previews
  • T24e Agent · Environment
  • T24f Agent · Control and cost
  • T25a Generative · Prompt and settings
  • T25b Generative · Queue and results
  • T25c Generative · Canvas
  • T25d Generative · Sound and motion
  • T25e Generative · Models
  • T25f Generative · Data and prompts
  • T26a Media · Images
  • T26b Media · Crop and annotate
  • T26c Media · Video
  • T26d Media · Audio and controls
  • T26e Media · Capture and devices
  • T27a Files · Items
  • T27b Files · Explorer
  • T27c Files · Find and look
  • T27d Files · Transfers
  • T28a Messaging · Channels
  • T28b Messaging · Messages
  • T28c Messaging · People
  • T28d Messaging · Calls
  • T28e Messaging · Stickers and GIFs
  • T29a Mail · Boxes and lists
  • T29b Mail · Reading
  • T29c Mail · Writing
  • T29d Mail · Sorting
  • T30a Calendar · Months
  • T30b Calendar · Time grid
  • T30c Calendar · Agenda and people
  • T30d Calendar · Editing
  • T31a Project · Tasks — tasks/ch31-43.md
  • T31b Project · Issues and boards
  • T31c Project · Plans
  • T31d Project · Time and databases
  • T32a Canvas · Plane — tasks/ch31-43.md
  • T32b Canvas · Tools — tasks/ch31-43.md
  • T32c Canvas · Panels — tasks/ch31-43.md
  • T32d Canvas · Graphs and boards — tasks/ch31-43.md
  • T33a DB & Dev Tools · Databases — tasks/ch31-43.md
  • T33b DB & Dev Tools · Data formats — tasks/ch31-43.md
  • T33c DB & Dev Tools · APIs — tasks/ch31-43.md
  • T33d DB & Dev Tools · Tools and machines — tasks/ch31-43.md
  • T34 Dashboard — tasks/ch31-43.md (its two maps lines wait for T41)
  • T35 Settings — tasks/ch31-43.md
  • T36a Account · Sign in — tasks/ch31-43.md
  • T36b Account · Profile and access — tasks/ch31-43.md
  • T36c Account · Billing and team — tasks/ch31-43.md
  • T37a Onboarding · Flows and highlights — tasks/ch31-43.md
  • T37b Onboarding · Help — tasks/ch31-43.md
  • T38a Interaction · Pointer — tasks/ch31-43.md
  • T38b Interaction · Keys, scroll and focus — tasks/ch31-43.md
  • T39a Theme · Editing — tasks/ch31-43.md
  • T39b Theme · Importing — tasks/ch31-43.md
  • T39c Theme · Platform — tasks/ch31-43.md
  • T40a i18n — tasks/ch31-43.md
  • T40b a11y — tasks/ch31-43.md
  • T41a Maps · View — tasks/ch31-43.md
  • T41b Maps · Layers — tasks/ch31-43.md
  • T41c Maps · World — tasks/ch31-43.md
  • T42a Misc · Time — tasks/ch31-43.md
  • T42b Misc · Numbers — tasks/ch31-43.md
  • T42c Misc · Codes and checks — tasks/ch31-43.md
  • T42d Misc · Asking and learning — tasks/ch31-43.md
  • T42e Misc · Terms and notices — tasks/ch31-43.md
  • T42f Misc · Web — tasks/ch31-43.md
  • T42g Misc · Export and import — tasks/ch31-43.md
  • T43a Tooling · Workbench — tasks/ch31-43.md
  • T43b Tooling · Inspection — tasks/ch31-43.md
  • T43c Tooling · Catalogs — tasks/ch31-43.md
  • T44a Capture · Roots: roots still on w_full drop it, checked at 280px and in padded cards
  • T44b Port · Build: gpui and gpui_platform from Zed's repo by git at 1a28cff; the crate, its tests and the gallery build, and check.sh passes
  • T44c Port · Parity: every page and scripted state captured light and dark and matched against T44a's shots; AGENTS.md's gpui 0.2.2 and taffy 0.9 rules re-tested at 1a28cff and rewritten
  • T44d Web · Stories: the gallery builds for wasm32 through gpui_web; one story per component, chosen by URL, themed by the host page; what cannot run in a browser says why
  • T45 Website: frontend/ rebuilt after frontend-reference/ (serro.ai's language: heavy titles, thin faint text, hairlines, one accent), Vite 8, pnpm, React 19, TanStack Router, light and dark; isometric line miniatures that grow cell by cell on a marimba beat; every story live, a native capture where a browser cannot run it; no box inside a box, no subheadings; run locally, not published
  • T45a Site · Stack: the old frontend/ replaced by Vite 8, React 19 and TanStack Router under pnpm; routes /, /components/, /components/$page/$story; theme, fonts, the stories manifest
  • T45b Site · Iso: isometric line miniatures on a canvas, no perspective, hidden lines removed, cells growing on a sixteenth-note marimba beat, playable under the pointer, light and dark, still under reduced motion
  • T45c Site · Home: a full-screen hero and full-screen sections, each a miniature beside its live component, counts, the chapters as a city of plinths, a closing call; motion from scroll and route changes
  • T45d Site · Components: the chapter index and the story page redesigned; live stories without frames, native captures for what a browser cannot run, search, keys
  • T45e Site · Local: the gallery bundle built for localhost and the site served for the owner to see; not published
  • T46 E2E: Playwright against the built site
  • T47 Ship: GitHub repo (public), CI, Cloudflare deploy through npx wrangler
  • T48 Acceptance: live URL and MVP checklist

T00 detail

  • git, .gitignore, LICENSE-MIT, LICENSE-APACHE
  • Cargo.toml: gpui 0.2.2 with runtime_shaders, lints
  • Theme: light and dark palettes, high contrast, tokens, ActiveTheme, animated switch
  • Motion: durations, easings, spring
  • Assets: Lucide icons, Inter, JetBrains Mono, AssetSource
  • Icon, Button, IconButton
  • Gallery shell: chapter nav, theme toggle, self-capture
  • AGENTS.md, README.md

Review log

Every round's verdict lives in tasks/reviews.md.