| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
text_view: Add Inline plugin (#3031) ## Summary TextView previously rejected inline plugins, so the Markdown example rendered formulas by replacing entire paragraphs. Add atomic, read-only inline extensions through `MarkdownPlugin` and `.plugin(...)`, using the existing block extension mechanism. Inline parser/renderer callbacks remain private implementation details; Base and Component expose no closure registration builders for inline extensions. Inline text and images now participate in baseline layout, wrapping, selection, plain/Markdown copying, and accessibility, with explicit layout invalidation for asynchronous resources. Parse inline math by default, with no separate syntax switch, and migrate the existing formula renderer to the inline API and add mention profile cards using `[@huacnlee](mention:huacnlee)`. Mentions use underlined text with a muted @ prefix and no background or extra padding. Compact profile cards use a small avatar and two lines of text. Hover cards render outside the inline flow, centered below the entire mention rather than the mouse position. Keep the existing Math section and add only a short English mention example. Document the API in Base and Component. Parser configuration changes can explicitly trigger reparsing with `parser_revision`. Inline objects inherit enclosing Markdown formatting and links, and their actual metrics participate in table column sizing. The example retains prepared and pending formulas across unrelated prose edits. ## Test Plan - `cargo test -p gpui-base -p gpui-component --lib text::` — 208 passed (137 Base, 71 Component) - `GPUI_MATHJAX_ROOT=/tmp/gpui-inline-math/node_modules/mathjax-full cargo test -p example-markdown -- --include-ignored` — 15 passed, including actual MathJax SVG and cache reuse tests. Set `GPUI_MATHJAX_ROOT` to an installed `mathjax-full` package to reproduce. - `cargo build -p example-markdown` - Rustfmt on changed Rust files and `git diff --check`. - Automated coverage includes parser revision changes, inherited inline formatting, left/middle/right link clicks and drag suppression, table resource resizing, cache retention, UTF-8 source ranges and streamed append, nested markup, mixed text/formula selection in both directions, narrow widths, font/rem scaling, virtual-list remeasurement, fallback behavior, accessibility, and lazy mention hover cards with atomic copying. - Native macOS example checked for formula baselines, 100/150/200% scaling, narrow preview widths, and accessible names. Accessible names and centered profile cards were also verified in the native window; the latest underline styling was build-checked but has not been visually rechecked. Windows and Linux were not run. ## Checklist - [x] Read CONTRIBUTING and followed the guidelines. - [x] Reviewed the changes, including AI-generated code. - [ ] Passed `cargo run` for related stories (the Markdown example was used instead). - [ ] Tested Windows and Linux. --------- Co-authored-by: Codex <codex@openai.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com> | 19 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 | |
chore: isolate story examples from test-support (#2985) ## Description Running story examples enables the gallery's `gpui-kit/test-support` development dependency. GPUI's `App::flush_effects()` then synchronously draws dirty windows during updates, adding work to interactive execution. Move all eight story examples into standalone `example-*` workspace packages that depend on the gallery normally. Their GPUI dependency graphs exclude `test-support` and `leak-detection`. Move fixtures with them, update shared fixture references, and update the documented commands. Editor behavior and story test configuration are preserved. This is a temporary workaround for the reported Linux stuttering, not a fix for GPUI's test-support performance. Why the slowdown is particularly severe on Linux still needs profiling and an upstream investigation; no before/after frame-time measurements or cross-platform performance verification are claimed here. ## Break Changes Launch the migrated examples by package name: ```diff - cargo run --example editor + cargo run -p example-editor - cargo run --example stream_markdown + cargo run -p example-stream-markdown ``` The same convention applies to brush, dock, html, large-text, markdown, and tiles. ## How to Test - Build all eight packages with `cargo build -p example-editor -p example-brush -p example-dock -p example-html -p example-large-text -p example-markdown -p example-stream-markdown -p example-tiles`. - `cargo test -p example-markdown`: 10 tests. - Inspect each package with `cargo tree -p example-editor -e features -i gpui-pre` (substitute each package): no `test-support` or `leak-detection` features. - Rust formatting, diff whitespace, fixture paths, and source-move equivalence checked. Interactive Linux scrolling and macOS/Windows performance have not been tested. ## Checklist - [x] Read the contributing guidelines. - [x] Reviewed the migration diff; AI-assisted implementation. - [ ] Ran interactive examples and verified scrolling. - [ ] Tested macOS, Windows and Linux performance. | 23 天前 |