Files
Ely-GPUI-Components/TASKS.md
T

6.9 KiB

Tasks

Progress truth. Work runs top to bottom. No item is skipped. Each T item ends with a codex review (gpt-6-astra, effort max, herdr split pane). Three rounds at most.

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

Tag Meaning
→ path Alias or duplicate. One home, at path.
native gpui 0.2.2 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 0.2.2.
blocked Cannot be real on gpui 0.2.2. 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
  • T07 Navigation
  • T08 Menus
  • T09 Overlays
  • T10 Feedback
  • T11a Loading — tasks/ch11-20.md
  • T11b Motion
  • T12 Data Display
  • T13 Lists & Trees
  • T14 Tables
  • T15 Charts
  • 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
  • T24 Agent
  • T25 Generative
  • T26 Media
  • T27 Files
  • T28 Messaging
  • T29 Mail
  • T30 Calendar
  • T31 Project — tasks/ch31-43.md
  • T32 Canvas & Design
  • T33 DB & Dev Tools
  • T34 Dashboard
  • T35 Settings
  • T36 Account
  • T37 Onboarding & Help
  • T38 Interaction
  • T39 Theme
  • T40 i18n & a11y
  • T41 Maps
  • T42 Misc
  • T43 Library Tooling
  • T44 Capture: every component, light and dark, plus motion clips
  • T45 Website: frontend/, Vite 8, pnpm, light and dark, motion
  • T46 E2E: Playwright against the built site
  • T47 Ship: GitHub repo (public), CI, Pages deploy
  • 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

Item Round Verdict Notes
T00 1 FAIL capture swallowed errors; root not focused; raw px sizes; gallery copy; tag conflict
T00 2 FAIL AGENTS.md called border_1 a rem helper
T00 3 PASS
T01 1 FAIL img loading needs an id; radii lost; focus loop cap; tooltip geometry literals
T01 2 FAIL Cover painted outside the box once the clip was removed
T01 3 FAIL two-line doc comment; fixed after the cap, verified by scan, no fourth review
T02 1 FAIL stale selection; strftime and zone fallbacks; \text flattening; probes missed targets; ellipsis overflow; u64 precision; caret sizes; LineClamp copy; 500-line wording
T02 2 PASS
T03 1 FAIL restore kept cached split and float state; drags lacked an owner; weights unchecked; pane id overflow broke atomic restore; sticky copy escaped the clip; wheel propagated past the viewport; drawer pull lost the pointer; no top dock; grip sizes raw
T03 2 FAIL closing a pane made NaN or infinite weights; drag ghost text black in dark
T03 3 FAIL even split of a denormal weight underflowed; fixed after the cap by normalizing on close and split, verified by tests and capture, no fourth review
T04 1 FAIL system close skipped TitleBar::on_close; hosted windows had no Tab scope; switcher lost Tab to an ancestor, dropped focus on close, kept a stale index
T04 2 FAIL a removed on_close kept blocking the system close; switcher keys bubbled past it
T04 3 PASS
T05 1 FAIL hold task kept its state alive; a third click wedged the done state; border_1 undid the group seam
T05 2 FAIL AGENTS.md said no window is found by scanning; popups are
T05 3 PASS
T06a 1 FAIL twin ids in clear and eye buttons; text fields not Tab stops; IME undo; stepping from a stale value; mask literals re-read as input; undo while disabled; Down past the last line; clamp before rounding; stuck mention dismissal; NaN swallowed by min and max
T06a 2 FAIL float error in rounded bounds; composition commit skipped filter and length; a typed leading literal was eaten; PIN select-all collapsed; stepper state read the old value
T06a 3 FAIL a mask diff misread a select-all replacement; grid tolerance too wide for large numbers; fixed after the cap by fitting masks inside TextInput with the exact edit, and a float-error tolerance; verified by tests and capture, no fourth review
T06b 1 FAIL kept highlight and cascade trail went out of bounds; keyboard click reclosed MultiSelect and Cascader; disabled rows committed by keyboard; Combobox hid its owner's value; a disabled chosen radio left no Tab stop; a disabled Rating took arrows
T06b 2 FAIL a free Combobox cleared the text it mounted with
T06b 3 PASS
T06c 1 FAIL range preview reseeded the month; disabled pickers still committed; month buttons left the cursor; hour column scrolled before layout; */1 day fields were not wildcards; next(0) ran on; clock fell back to UTC; zone offsets went stale; "never runs" overclaimed
T06c 2 FAIL the description of an unstarred full day field ignored the OR rule
T06c 3 PASS
T06d 1 FAIL a zero-size checker hung the paint loop; a dragged stop lost its grip after passing another; opacity(1.0) kept alpha, so opaque pickers stayed see-through; inset thumbs drifted from the drawn gradients; swatch fills and checkers crossed rounded corners; the thumb ring was a literal white
T06d 2 PASS
T06e 1 PASS
T06f 1 FAIL a stroke lost the move that started the drag and its release point; language codes were not searchable though the gallery said so; emoji search compared a lowercase query with mixed-case names
T06f 2 PASS