134 lines
6.6 KiB
Markdown
134 lines
6.6 KiB
Markdown
# 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
|
|
|
|
- [x] T00 Foundation: package, theme, motion, assets, Icon, Button, gallery shell, docs
|
|
- [x] T01 Primitives — `tasks/ch01-10.md`
|
|
- [x] T02 Typography
|
|
- [x] T03 Layout
|
|
- [x] T04 Window & Shell
|
|
- [x] T05 Buttons & Actions
|
|
- [x] T06a Forms · Text
|
|
- [x] T06b Forms · Selection
|
|
- [x] T06c Forms · Date & Time
|
|
- [x] T06d Forms · Color
|
|
- [x] 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
|
|
|
|
- [x] git, `.gitignore`, `LICENSE-MIT`, `LICENSE-APACHE`
|
|
- [x] `Cargo.toml`: gpui 0.2.2 with `runtime_shaders`, lints
|
|
- [x] Theme: light and dark palettes, high contrast, tokens, `ActiveTheme`, animated switch
|
|
- [x] Motion: durations, easings, spring
|
|
- [x] Assets: Lucide icons, Inter, JetBrains Mono, `AssetSource`
|
|
- [x] Icon, Button, IconButton
|
|
- [x] Gallery shell: chapter nav, theme toggle, self-capture
|
|
- [x] `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 | |
|