Commit Graph
204 Commits
Author SHA1 Message Date
ZacharyZhang-NYandClaude Opus 5.5 3c35daa4d8 Menus · button rows: Menu::buttons lays icon buttons in one row, arrows cross it, a press inside a panel stays the menu's
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-13 20:20:18 -04:00
ZacharyZhang-NYandClaude Opus 5.5 ab9a14c692 Markdown pictures: freed with their elements, glyphs whole, failures keep the source, file URLs parsed, Mermaid labels in Ely's ink
CI / site (push) Successful in 23s
CI / crate (push) Failing after 27m31s
CI / platforms (windows-latest) (push) Failing after 9s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-11 23:59:56 -04:00
ZacharyZhang-NYandClaude Opus 5.5 d5ecc5a69e Markdown: display math through RaTeX, Mermaid through mermaid-rs-renderer, pictures from the owner's folder
CI / crate (push) Failing after 25m44s
CI / site (push) Successful in 32s
CI / platforms (windows-latest) (push) Successful in 4m47s
CI / platforms (ubuntu-24.04) (push) Canceled after 0s
Latex typesets with RaTeX to outlined SVG drawn by gpui's SvgRenderer at the
window's scale, loaded as an asset off the main thread. Diagram draws a
mermaid block in Mermaid's theme for the mode. MarkdownRenderer::base names
the folder pictures load from; data addresses decode, web ones stay unloaded.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-11 23:38:22 -04:00
ZacharyZhang-NY 49ed1f8405 Site and gallery: the repo and the showcase catalog live on Gitea at git.zacharyzhang.com
CI / crate (push) Failing after 2s
CI / site (push) Successful in 30s
CI / platforms (ubuntu-24.04) (push) Failing after 1m48s
CI / platforms (macos-15-intel) (push) Canceled after 0s
CI / platforms (ubuntu-24.04-arm) (push) Canceled after 0s
CI / platforms (windows-11-arm) (push) Canceled after 0s
CI / platforms (windows-latest) (push) Failing after 15s
Links, the header's Gitea mark, the catalog's archive download and the showcase pin
workflow (Gitea's API and commit status) move off GitHub; pinned at 6973834, which
restores TokenLedger.
2026-10-09 16:20:32 -04:00
ZacharyZhang-NY 5490869f23 BlockEditor fills its box and scrolls with a scrollbar, bringing the caret into view as it moves; a ScrollArea keeps a wheel it can use, so the page behind stays (#7) 2026-10-08 21:47:07 -04:00
ZacharyZhang-NY 3a0a4bb699 Panics · P42 Misc: handlers in new; the web view shows wry's failures; kept state fits lists that changed 2026-10-07 07:17:20 -04:00
ZacharyZhang-NY 513ea50946 Panics · P38 Interaction: handlers in new; resizes fit the limits now, stale drags and leaders do nothing 2026-10-07 06:39:05 -04:00
ZacharyZhang-NY 8db6cecd5a Panics · P37 Onboarding: handlers in new; gone articles, steps and topics hold 2026-10-07 06:18:15 -04:00
ZacharyZhang-NY e7aec1651e Panics · P36 Account: handlers in new; gone accounts, workspaces, providers and roles mark none; expiries refuse overflow 2026-10-07 05:59:27 -04:00
ZacharyZhang-NY ad472490e0 Panics · P35 Settings: handlers in new; gone sections and themes mark none, drifted font sizes peg 2026-10-07 05:38:45 -04:00
ZacharyZhang-NY 45cecebea5 Panics · P34 Dashboard: handlers in new; gone tiles move nothing, unmatched tiles and cards stay out 2026-10-07 05:27:56 -04:00
ZacharyZhang-NY 05e846b62a Panics · P33 Devtools: handlers in new; stale collection moves, environments and diagram tables change nothing 2026-10-07 05:15:49 -04:00
ZacharyZhang-NY ffe4f38103 Panics · P32 Canvas: panels take their handlers in new; stale nodes, shapes, layers and topics change nothing 2026-10-07 05:02:40 -04:00
ZacharyZhang-NY 829ef681ba Git · ThreeWayMerge draws rows in view with its words in i18n and lines read out; diff3 base sections parse; branch and tag rows pick from the keyboard; shorter comments 2026-10-07 02:36:16 -04:00
ZacharyZhang-NY 51d2aea02e Git · CommitList, FileHistory, BlameView draw only rows in view, rows are stops with list semantics; CommitList loads more near its end; CommitInput words read i18n 2026-10-07 01:16:54 -04:00
ZacharyZhang-NY edd2c125e5 Git · ChangesList: each press names its section, rows are stops and one shows as current 2026-10-07 00:18:25 -04:00
ZacharyZhang-NY 9eab2019a8 Panics · P22 Collaboration: marks outside their text stay out under the owner's index; accept answers None; zero reactions and stale masked offsets hold 2026-10-07 00:17:15 -04:00
ZacharyZhang-NY 4f8f3bd4c4 Git · ChangesList: line counts are optional, so binary files and folders show none 2026-10-06 22:55:43 -04:00
ZacharyZhang-NY 919f26fcc6 Panics · P07 Navigation: Wizard takes its handlers; stale places in tabs, crumbs, history, steps and pages mark none 2026-10-06 17:06:25 -04:00
ZacharyZhang-NY f46cc4e7c3 Panics · P02 Typography: Link takes its handler, an unknown zone reads as UTC and says so, a long highlight query logs 2026-10-06 16:02:40 -04:00
ZacharyZhang-NY e5166e9e26 Panics · P01 Primitives: init returns an error, a missing app icon logs and shows a broken picture 2026-10-06 15:25:09 -04:00
ZacharyZhang-NY bd3772ad54 Charts · Navigation · Forms: band names widen a sideways chart's gutter; Pagination takes a size, speaks the locale and jumps to a typed page
- A horizontal chart's gutter grows to its widest band name, floored at the theme gutter and capped at half the chart; a name past the cap ends in an ellipsis (#10).
- Pagination's previous and next tooltips read i18n (English and zh-CN built in, app catalogs override); `.size(ControlSize)` sizes every control, Sm by default; `.jump()` adds a Go to field (#11).
- NumberInput keys the owner's value as shown: a draft survives a blur, a value set while focused lands when focus leaves, and an echo of its own commit is no new value. A ranged field holds room for its widest bound through `Input::least`.
2026-10-06 13:29:09 -04:00
ZacharyZhang-NY b4716bb09b Gallery · LicenseViewer reads Ely's MIT license from LICENSE 2026-10-05 01:38:24 -04:00
ZacharyZhang-NY 82c5275e7c Shell · ColumnShell's story on the Window & Shell page, the PRD line, stories.json and AGENTS.md (#6) 2026-10-05 01:14:17 -04:00
Amit Verma dfe1e9f42c Primitives · Icon::from_path draws an application's SVG with the theme's size and color; a path the asset source lacks fails at render 2026-10-04 17:24:39 -04:00
ZacharyZhang-NY 939397dbca Docs · Rendering: what GPUI can show, RenderSurface and its revision, a compiled example; AGENTS.md and README follow 2026-10-04 00:30:12 -04:00
ZacharyZhang-NY 35fb8897a0 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 2ec8c979b1 T48j Docs · Internationalization: catalogs and messages, locales, right to left; the i18n example compiles 2026-10-01 13:15:07 -04:00
ZacharyZhang-NY 8c3b6840a3 T48i Docs · Overlays: drawing over the page, dialogs, popovers, toasts; the overlays example compiles 2026-10-01 13:07:03 -04:00
ZacharyZhang-NY e5c90fdd40 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 06a19fefd8 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 c1f67f1da5 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 b9356cc504 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 3ca27c00d9 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 fba90c22e6 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 ed2904ce60 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 9ea811d4e8 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 327bdf4b7f 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 6ff43607b7 T45 Website: a home in motion and every story live, chapters on the left 2026-09-29 23:40:04 -04:00
ZacharyZhang-NY dcdd46038e 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 81adec5c47 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 2463bb0ac9 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 edab58e91a T44d Web · The gallery's start takes its defaults from one place 2026-09-29 19:16:41 -04:00
ZacharyZhang-NY 2cd2ca8bc1 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 48c7b09d8d 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 2da09c1947 Port · Parity: the last long comments are short 2026-09-29 18:43:49 -04:00
ZacharyZhang-NY c59d19645d 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-NY 3f1597fa28 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.
2026-09-29 10:39:55 -04:00
ZacharyZhang-NY 4c3ed1bbb9 Port · Build: Zed's gpui at 1a28cff
gpui and gpui_platform now come from Zed's repo by git at 1a28cff,
the code gpui-pre 0.3.7 republishes, so the gallery can later build
for the browser. gpui takes stacker, as 0.2.2 always did, and
gpui_platform takes font-kit, without which macOS draws no text;
runtime_shaders moves to gpui_platform.

The API moved: focus, blur and Tab steps take cx, Corner is Anchor,
shaped lines paint with an alignment, defer_draw takes a content
mask, the inspector registers a factory, async updates return their
value, and wrapped lines are shared, not cloned. Updates through a
window context go through the window, so a closed window still ends
them as it did.

Where the new gpui behaves differently, Ely keeps its old intent.
Holds and reveals under a resting pointer survive typing through
gpui's input-modality-independent hover; previews the keyboard also
moves keep the default, and the calendar's leave ignores a key press.
Enter reaches a button inside the code editor, since gpui now arms a
key click on the press. The event logger skips a lone modifier. A
video and an image grid keep their shape in a flex column under
taffy 0.13, as a picture does.

AGENTS.md records the new stack and the rules this port changes; the
rest of the old gpui and taffy rules are re-tested in T44c.
2026-09-28 20:30:17 -04:00
ZacharyZhang-NY a6f9a7b77b Capture · Roots: the roots round 2 missed
A sweep that read every render found 28 roots still on w_full,
reached by 64 components: the field button under Select and every
picker, the checked and mention fields, the slider track,
NumberInput, Steps, the state views, the agent previews, and every
chart and finance frame. All drop it. LivePreview's size_full becomes
h_full, since its card no longer fills.

Every host of those roots was listed and read, 231 in all. Five
tests that mounted a picker as the window root sit in a size_full
box, the index manager gives its method select a flex_1 box, and the
notification center and the gallery's state frames stack their state
views in a column so they stretch.

Each dropped root carries a debug selector, and six chapter tests
mount 43 components in a padded card whose column is measured by
content, through layout::tests::narrow_width: each root must take the
full 240px. With w_full back on the roots, all six fail.

AGENTS.md names the roots that keep w_full and why: picture frames
that keep a ratio, and rows that hand a text field its share.
2026-09-28 19:34:01 -04:00