Commit Graph
100 Commits
Author SHA1 Message Date
ZacharyZhang-NY 717d07ee4e CI · the crate's tests and the gallery on Linux, Windows and macOS, arm64 and x86_64; tests type the platform's secondary key 2026-10-04 00:00:43 -04:00
ZacharyZhang-NY 399e3a6b53 Rendering · web: the RenderSurface story runs live; an e2e test holds that the slider redraws its field 2026-10-03 23:53:30 -04:00
ZacharyZhang-NY 87832c768a Rendering · gallery page: a banded field drawn at device pixels, its slider bumps the revision; the gallery builds on Linux 2026-10-03 23:31:51 -04:00
ZacharyZhang-NY a538092e99 Rendering · RenderSurface: host frames at the box's device pixels, redrawn on a new size or revision, freed from the atlas 2026-10-03 23:22:49 -04:00
ZacharyZhang-NY 61d2378ae2 Tasks · T50a: chapter 44 Rendering, RenderSurface planned, what gpui can and cannot host 2026-10-03 23:14:27 -04:00
ZacharyZhang-NY ba0e0127b4 Scripts · stories.py reads components from the chapter task files alone, not the GitHub round's list 2026-10-03 22:54:14 -04:00
ZacharyZhang-NYandClaude Opus 5.5 2f8b2f687c Tasks · G4: pushed, #2 closed, #3 answered
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:36:16 -04:00
ZacharyZhang-NYandClaude Opus 5.5 0dbb8c747c Forms, a11y · Checkbox, Switch, Radio, RadioGroup, Slider and Select name their role, label and state (#3)
A slider's thumb reports its value, the bounds it can reach and its orientation; a select's trigger its value, placeholder and whether its list is open; a disabled control says so in its description.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:35:48 -04:00
ZacharyZhang-NYandClaude Opus 5.5 5ff7c219ef Lists · tree guides fall from the parent's chevron and run unbroken across rows (#2)
The chevron takes its indent as a margin, so no gap parts it from its guide column; the cursor's ring is an overlay, so the guides fill the row through its border.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 01:21:26 -04:00
ZacharyZhang-NY 7380afb419 Dialogs · a confirm or alert message names itself to assistive technology 2026-10-02 19:28:01 -04:00
ZacharyZhang-NY cf9770b57e Dialogs, a11y · Dialog card names its role, title and detail; prompt error reads as a label; Cancel and Close read i18n; a disabled button says so in its description 2026-10-02 18:52:08 -04:00
ZacharyZhang-NY 290939f82f i18n, a11y, IME · palette copy reads i18n with builtin en/zh; dialog and palette Enter run on the field's key-down action, so an IME-kept Enter never submits; Button, IconButton, TextInput, Tabs, EditorTabs, StatusBarItem and palette rows name their role and label 2026-10-02 12:58:43 -04:00
ZacharyZhang-NY b54500b0e4 Ely 0.1.1 2026-10-01 14:13:54 -04:00
ZacharyZhang-NY 5a5cd636de T48m Docs · E2E passes review; T48 closes 2026-10-01 14:02:00 -04:00
ZacharyZhang-NY 9bdba85727 T48m Docs · E2E: a hashless prose link proves routing in place; the section link keeps its own test 2026-10-01 13:57:16 -04:00
ZacharyZhang-NY ae7614cbf5 T48m Docs · E2E: each guide's heading, rail name and browser title checked; a prose link routes in place 2026-10-01 13:50:45 -04:00
ZacharyZhang-NY d5511238fe T48m Docs · E2E: the Docs link, every guide, the rail, previous and next, section links, the compiled sample and Copy, an unknown guide; the rail marks only the open guide 2026-10-01 13:41:18 -04:00
ZacharyZhang-NY 33c4d651b8 T48l Docs · Testing passes review 2026-10-01 13:40:30 -04:00
ZacharyZhang-NY ae5c2a19f3 T48l Docs · Testing: the feature, an app's limit, writing a test inside Ely, tests to read 2026-10-01 13:34:47 -04:00
ZacharyZhang-NY a84ec17b6a T48k Docs · WebAssembly passes review 2026-10-01 13:33:37 -04:00
ZacharyZhang-NY 2b2f284ed9 T48k Docs · WebAssembly: pictures land in <out>/assets/, the HTTP client is the web's; table words stay whole and long titles hyphenate 2026-10-01 13:30:33 -04:00
ZacharyZhang-NY 16e001ec00 T48k Docs · WebAssembly: the check, an app in the browser, the gallery build, embedding, what differs 2026-10-01 13:22:53 -04:00
ZacharyZhang-NY 02c2d9dfcd T48j Docs · Internationalization passes review 2026-10-01 13:22:35 -04:00
ZacharyZhang-NY a1203af405 T48j Docs · Internationalization: catalogs and messages, locales, right to left; the i18n example compiles 2026-10-01 13:15:07 -04:00
ZacharyZhang-NY 287fe63306 T48i Docs · Overlays passes review 2026-10-01 13:13:59 -04:00
ZacharyZhang-NY bf8ce3f254 T48i Docs · Overlays: only dialogs, popovers and menus take focus; the close button belongs to a fullscreen dialog 2026-10-01 13:12:13 -04:00
ZacharyZhang-NY 4c3b7811f1 T48i Docs · Overlays: drawing over the page, dialogs, popovers, toasts; the overlays example compiles 2026-10-01 13:07:03 -04:00
ZacharyZhang-NY d38430f46a T48h Docs · Icons, fonts and assets passes review 2026-10-01 13:04:09 -04:00
ZacharyZhang-NY c16c6b69d2 T48h Docs · Icons, fonts and assets: icons, adding one, file icons, fonts, an app's own assets; the icons example compiles 2026-10-01 12:57:47 -04:00
ZacharyZhang-NY a9fd0b58a7 T48g Docs · Motion passes review 2026-10-01 12:55:27 -04:00
ZacharyZhang-NY c41ce2055c T48g Docs · Motion: durations and easings, reduced motion, components that move; the motion example compiles 2026-10-01 12:51:23 -04:00
ZacharyZhang-NY dbcedfae88 T48f Docs · Focus and keyboard passes review 2026-10-01 12:48:48 -04:00
ZacharyZhang-NY 73c79bc79a T48f Docs · Focus and keyboard: what init binds, the root scope, making a Tab stop, buttons, overlays; the focus example compiles 2026-10-01 12:38:02 -04:00
ZacharyZhang-NY 85e1fc923a T48e Docs · Theme passes review 2026-10-01 12:36:39 -04:00
ZacharyZhang-NY da39d0a914 T48e Docs · Theme: reading tokens, the calls that change them, an owner's palette, chart hues; the theme example compiles 2026-10-01 12:32:53 -04:00
ZacharyZhang-NY b41a9d3565 T48d Docs · Getting started passes review 2026-10-01 12:30:09 -04:00
ZacharyZhang-NY 1303a407fc T48d Docs · Getting started: four steps, a window that follows the theme, changing state from a press; the start example compiles 2026-10-01 12:26:17 -04:00
ZacharyZhang-NY f90182c638 T48c Docs · Installation passes review 2026-10-01 12:26:00 -04:00
ZacharyZhang-NY 17194c3afd T48c Docs · Installation: GPUI compiles the shaders at run time; the panic quoted without a trailing space 2026-10-01 12:22:19 -04:00
ZacharyZhang-NY 6da6ab00dc T48c Docs · Installation: requirements, the git dependencies and why, shaders, a check, failures and their fixes 2026-10-01 12:17:18 -04:00
ZacharyZhang-NY f326b6dab6 T48b Docs · Introduction passes review 2026-10-01 12:15:07 -04:00
ZacharyZhang-NY 23ccc36668 T48b Docs · Introduction: what Ely gives an app, what is stable, a first window, license 2026-10-01 12:11:29 -04:00
ZacharyZhang-NY 484bec30e1 T48a Docs · Frame passes review; an id-less heading fails the build, protocol-relative links stay native 2026-10-01 12:08:02 -04:00
ZacharyZhang-NY 0b300f1f94 T48a Docs · Frame: guides render at build in a Vite plugin, so a bad one fails the build; focus rings whole in the rail and list; plain heading words, unique ids, captions only when named, code under example= refused 2026-10-01 12:01:42 -04:00
ZacharyZhang-NY 128cc5992f T48a Docs · Frame: titles and the list read plain words, links with a section route, long code wraps, the rail stays in flow on narrow screens, check.sh holds every docs example to Cargo.toml 2026-10-01 11:52:29 -04:00
ZacharyZhang-NY a52241667f T48a Docs · Frame: a Docs tab, /docs/ and /docs/$page/, Markdown guides with a rail, an on-this-page list, previous and next and code blocks; full Rust samples are compiled examples shown as text 2026-10-01 11:40:50 -04:00
ZacharyZhang-NY 6253e4f2d2 CONTRIBUTING.md: setup, where things go, the house rules reviews catch, checks, license 2026-10-01 11:25:34 -04:00
ZacharyZhang-NY 700f402997 Pull request template: what and why, screenshots, the house checklist 2026-10-01 11:14:21 -04:00
ZacharyZhang-NY 9e5850fcb9 CI: checkout v7, setup-node v7 and pnpm/action-setup v6, on Node 24 2026-10-01 11:03:09 -04:00
ZacharyZhang-NY 47a4199a97 Issue forms: Bug Report, Component Request and Other, each titled by its kind; blank issues point to the live components 2026-10-01 10:58:09 -04:00
ZacharyZhang-NY 4f0b3726fe T47 Ship: CI runs the crate's checks on macOS and the site's tests and build 2026-10-01 10:38:19 -04:00
ZacharyZhang-NY 56f0e7b2f7 T47 Ship: the site lives at elygpui.com; its share image and the gallery's pictures load from there 2026-10-01 10:38:18 -04:00
ZacharyZhang-NY cb45f5232f Remove frontend-reference: the folder, its ignore line and its docs 2026-10-01 10:03:27 -04:00
ZacharyZhang-NY 567ab6f36f 更新 README.md 2026-10-01 08:51:27 -04:00
ZacharyZhang-NY fcfebb3db4 T47 Ship: a gallery whose wasm fetch fails retries, then tells the host; the host shows it at once and waits a minute for a slow start 2026-10-01 08:49:10 -04:00
ZacharyZhang-NY 3a0274eeab T47 Ship: wrangler leaves macOS folder files out 2026-10-01 08:44:46 -04:00
ZacharyZhang-NY 0fdd3d5e02 T47 Ship: the OG image lives at the site's own domain 2026-10-01 08:43:43 -04:00
ZacharyZhang-NY bc0fafd57f T46a Site · the hero title fits at 768 too 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 48f344091d T46a Site · Owner's notes pass review; the hero title fits its column 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 8441ee60cd T46a Site · Owner's notes: short story names, aligned icons, a whole city title, tighter story tops, hidden scroll bars, a tablet step at 1024 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 908834465d T46 E2E passes review; T45 closes 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY be56983e15 T46 E2E: typing proven by inked pixels, home frames proven mounted before their claims, full screen measured, window captures decoded 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY faa3dddbfe T46 E2E: the suite follows the new site (hero, features, city, search, rail, keys, captures, live frames, focus, skip, full screen), in Chrome, Firefox and a phone 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 37ea96721a T45e Site · Local passes review 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 52d94a79c9 T45e Site · Local: pnpm local builds the gallery for localhost, builds the site and serves both on 4173 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 557c8dd2cd T45d Site · Components passes review; Slash leaves a hidden field alone; the review log moves to tasks/reviews.md 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 5cc9a302fb T45d Site · Components: the rail reveals the current story with room, Shift arrows stay the page's 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 8444dd3c12 T45d Site · Components: comments one short line 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 97f9811356 T45d Site · Components: one search over chapters, stories and components (Slash, Enter, Escape), the index in hairline rows, the story beside a sticky chapter rail, arrows between stories 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 24687a09fb T45c Site · Home: full screen stops the glide at once, a starting gallery leaves the host's focus alone, a focused frame stays mounted 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY c3f9cd533a T45c Site · Home: full screen locks the page's overflow and Lenis halts on it, ending a glide in flight 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY e2b9670043 T45c Site · Home: a route change ends the glide, full screen holds against the wheel, each skip control focuses its own target 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 23ebaba2a1 T45c Site · Home: a full-screen hero, five live features beside their miniatures, counts on the beat, the chapters as a city, a closing call; smooth scroll, reveals from scroll, a fade between routes; the OG image from the new hero 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY f9c20b251c T45b Site · Iso passes review 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY dbce181588 T45b Site · Iso: diagonal cells in order, the pointer meets only grown cells, motion follows the system live, replay by key, the header fits 280px 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 3aa895c24d T45b Site · Iso: isometric line miniatures on a canvas, hidden lines removed, cells on a marimba beat, playable under the pointer, still under reduced motion 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 8a5ce82119 T45a Site · Stack passes review 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY 5a29fc780a T45a Site · Stack: comments one short line 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY b22e80ac47 T45a Site · Stack: reloads open in the current mode, the first paint keeps the system's, plain route changes 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY f67e5c0839 T45a Site · Stack: Vite 8, React 19 and TanStack Router under pnpm; routes, theme, fonts, the manifest 2026-10-01 08:38:05 -04:00
ZacharyZhang-NY e17e31a689 Update README.md 2026-09-30 00:29:08 -04:00
ZacharyZhang-NY b4ad854508 T45 Website: native captures stand in where a browser cannot run, an OG image, no web notes 2026-09-30 00:03:23 -04:00
ZacharyZhang-NY 5550552e76 T45 Website: an isometric miniature grows to a marimba; finance, charts and chat beside their models; no bars, no boxes 2026-09-29 23:40:04 -04:00
ZacharyZhang-NY 3153d892f4 T46 E2E: Playwright walks the built site, desktop and phone, live stories included 2026-09-29 23:40:04 -04:00
ZacharyZhang-NY 3ec0ae790c T45 Website: a home in motion and every story live, chapters on the left 2026-09-29 23:40:04 -04:00
ZacharyZhang-NY ab3f6eb98f T44d Web · Stories passes review 2026-09-29 23:39:50 -04:00
ZacharyZhang-NY acc39374fa T44d Web · Hidden builders start nothing, fields blink only in focus, grids paste with Control 2026-09-29 23:02:37 -04:00
ZacharyZhang-NY 752e7cba0c T44d Web · Hidden demos keep still, wide ones scroll whole, pastes read the web's clipboard 2026-09-29 22:13:27 -04:00
ZacharyZhang-NY d2018f8510 T44d Web · Stories stand alone: nested ones surface, hidden ones drop their demos, early themes land, pastes arrive 2026-09-29 19:16:41 -04:00
ZacharyZhang-NY 2a132d7d41 T44d Web · The gallery's start takes its defaults from one place 2026-09-29 19:16:41 -04:00
ZacharyZhang-NY 95db323797 T44d Web · What a browser cannot do says why; fonts resolve; the bundle builds
Demos that open a second window, take files, move the window, read the
clipboard or set native menus show a note on the web in the blocked style.
IBM Plex Sans Regular joins the assets, unmodified, where gpui's svg
renderer loads it: gpui_web answers .SystemUIFont with it. The gallery's
web entry registers a Hebrew cut of Noto Sans Hebrew. scripts/web.sh builds
the bundle with wasm-bindgen and wasm-opt -Oz, 20.0 MB, and fails past 25 MiB.
2026-09-29 19:16:41 -04:00
ZacharyZhang-NY 09dd3fc2cb T44d Web · Gallery builds for wasm32: one story per section by URL, themed by the host
The gallery's entry runs natively or, on wasm32, from a wasm_bindgen start
through gpui_web, single-threaded with WebGL2 fallback. ?page, ?story and
?theme choose what shows; an unknown one fails in the page and the log.
set_theme switches the mode later. Pictures load from ELY_GALLERY_ASSETS.
scripts/stories.py writes examples/gallery/stories.json from the pages.
2026-09-29 19:16:41 -04:00
ZacharyZhang-NY 29f1c8f467 web: the library checks for wasm32 (carried) 2026-09-29 19:16:41 -04:00
ZacharyZhang-NY 822a58810a T44c Port · Parity passes review 2026-09-29 19:14:18 -04:00
ZacharyZhang-NY 26629a8b74 Port · Parity: the last long comments are short 2026-09-29 18:43:49 -04:00
ZacharyZhang-NY 007ed30d4a Port · Parity: dark shots judged; the status shot waits out the tooltip; comments one short line 2026-09-29 18:18:05 -04:00
ZacharyZhang-NYandClaude Opus 5.5 d7272e88bd Port · Parity: every page matches gpui 0.2.2's; the rules re-tested
Every page and scripted state was shot with gpui 0.2.2 and with the
port, light and dark, full width and at 280px, judged pair by pair by
agents with skeptics, and every page's log diffed. What differed is
fixed, each with a test that fails without it where the test platform
can show it:

- The gallery's harness takes posted mouse moves (gpui_macos listens
  to a tracking area), posts each drag move twice (it no longer
  replays a held drag), and waits three frames before each shot.
- Rolling digits: a block column, so taffy 0.13 lends the cell no
  baseline, and a line of whole device pixels, since gpui snaps each
  length on its own. DescriptionList's row aligns ends.
- Margins that taffy 0.13 collapses through a plain block: the
  drawer's pull and snap, the stagger and transition rise, the dialog
  and palette rises, the fullscreen dialog's slide.
- An Input keeps room to type in a squeezed row; the field rows drop
  w_full, whose reason was taffy 0.9's.

AGENTS.md's rules that named gpui 0.2.2 or taffy 0.9 were re-tested
against both sources and rewritten, and new ones say what the port
changed. TASKS.md's tags follow: what the new gpui makes possible is
prove. Captions, doc comments and README say what holds now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 10:39:55 -04:00
ZacharyZhang-NYandClaude Opus 5.5 41368430f5 Tasks: the site deploys to Cloudflare through wrangler
The Dokploy line was a misreading; the plan stays as it was.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 00:28:32 -04:00
ZacharyZhang-NYandClaude Opus 5.5 dc465d7244 T44b Port · Build passes review
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 21:24:24 -04:00
ZacharyZhang-NYandClaude Opus 5.5 f76c3c1280 Port · Calendar: a real exit clears the preview after a key
The calendar's grid clears its preview on leave, and ignores a leave
that follows a key. gpui records the exit a key makes before the
handler runs, so the guard swallowed it and a real exit afterwards
had no change left to report: the stale day stayed the preview. The
grid now listens independently of input, while its days keep the
default, so a key is no leave and a real exit is. A test leaves the
grid after an arrow, a letter and a month key.

shaped()'s doc goes back to its one line; AGENTS.md keeps the why.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 20:54:25 -04:00