From 95db323797e66957c04d6e3b66cfc1217dad3155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Tue, 29 Sep 2026 19:16:41 -0400 Subject: [PATCH] =?UTF-8?q?T44d=20Web=20=C2=B7=20What=20a=20browser=20cann?= =?UTF-8?q?ot=20do=20says=20why;=20fonts=20resolve;=20the=20bundle=20build?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- AGENTS.md | 19 ++-- README.md | 5 +- .../ibm-plex-sans/IBMPlexSans-LICENSE.txt | 92 ++++++++++++++++++ .../ibm-plex-sans/IBMPlexSans-Regular.ttf | Bin 0 -> 200500 bytes .../gallery/fonts/NotoSansHebrew-LICENSE.txt | 92 ++++++++++++++++++ .../gallery/fonts/NotoSansHebrew-Regular.ttf | Bin 0 -> 14096 bytes examples/gallery/pages/account/access.rs | 3 +- examples/gallery/pages/chat/compose.rs | 3 +- examples/gallery/pages/data/people.rs | 3 +- examples/gallery/pages/files/actions.rs | 3 +- examples/gallery/pages/forms/files.rs | 3 +- examples/gallery/pages/forms/rich.rs | 3 +- examples/gallery/pages/media/edit.rs | 6 +- examples/gallery/pages/menus/more.rs | 15 ++- examples/gallery/pages/navigation/palettes.rs | 6 +- examples/gallery/pages/primitives/native.rs | 6 +- examples/gallery/pages/settings/pages.rs | 3 +- examples/gallery/pages/shell/chrome.rs | 18 +++- examples/gallery/pages/shell/status.rs | 40 ++++---- examples/gallery/pages/shell/system.rs | 16 ++- examples/gallery/pages/theme/importing.rs | 3 +- examples/gallery/pages/theme/platform.rs | 22 +++-- examples/gallery/shell.rs | 40 ++++---- examples/gallery/ui.rs | 21 ++-- examples/gallery/web.rs | 8 +- scripts/web.sh | 27 +++++ 26 files changed, 381 insertions(+), 76 deletions(-) create mode 100644 assets/fonts/ibm-plex-sans/IBMPlexSans-LICENSE.txt create mode 100644 assets/fonts/ibm-plex-sans/IBMPlexSans-Regular.ttf create mode 100644 examples/gallery/fonts/NotoSansHebrew-LICENSE.txt create mode 100644 examples/gallery/fonts/NotoSansHebrew-Regular.ttf create mode 100755 scripts/web.sh diff --git a/AGENTS.md b/AGENTS.md index 443422f..bdc68c5 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,7 @@ Ely GPUI Component. A component library for GPUI, in light and dark. - Rust 1.95, edition 2024. One crate: `ely-gpui-component`. - gpui and gpui_platform from Zed's repo by git at 1a28cff, the code gpui-pre 0.3.7 republishes. gpui takes `stacker`, which keeps deep layouts off the stack's end; gpui_platform takes `font-kit`, without which macOS draws no text. Feature `runtime_shaders`, on by default, turns on gpui_platform's: machines without Xcode lack the Metal compiler. -- Assets, embedded with `rust-embed`: Lucide 1.48.0 icons (ISC), Inter 4.1 (regular, medium, semibold, italic) and JetBrains Mono 2.304 (OFL). +- Assets, embedded with `rust-embed`: Lucide 1.48.0 icons (ISC), Inter 4.1 (regular, medium, semibold, italic), JetBrains Mono 2.304 and IBM Plex Sans Regular (OFL). Plex sits unmodified, its name reserved, where gpui's svg renderer loads it: gpui_web answers `.SystemUIFont` with it, and svg text falls back to it on the web. - Catalog data: `emojis` (Unicode emoji), `isolang` (ISO 639, native names), `isocountry` (ISO 3166), `iso_currency` (ISO 4217, also minor units for money). - Codes: `qrcode` (QR) and `barcoders` (Code 128, EAN-13), both MIT OR Apache-2.0, default features off. `rqrr` 0.11 ((MIT OR Apache-2.0) AND ISC, default features off) reads QR codes from the host's frames. - macOS extras (tray icon, Dock badge) call AppKit through `cocoa` 0.26 and `objc` 0.2, the crates gpui already links. @@ -16,15 +16,17 @@ Ely GPUI Component. A component library for GPUI, in light and dark. - Markdown: `pulldown-cmark` 0.13 (MIT, default features off) for CommonMark with tables, tasks, strikethrough, footnotes and math. - Pictures: `image` 0.25 (MIT OR Apache-2.0), the crate gpui decodes with, default features off; it turns decoded frames and rims map tiles. - Maps: Natural Earth's 110m countries (public domain). `assets/maps/countries.geojson`, trimmed by `scripts/countries.py` to an ISO code, a name and positions to 0.01°, backs `maps::WorldMap`; the gallery's tiles are cut from the same file, z0 to z3, by `scripts/tiles.py` with Pillow. -- Web: on wasm32, `web-time` 1.1 (MIT OR Apache-2.0) gives the `Instant` gpui's executor returns, std's own natively; jiff takes `js`, rust-embed `debug-embed`, similar `wasm32_web_time`. +- Web: on wasm32, `web-time` 1.1 (MIT OR Apache-2.0) gives the `Instant` gpui's executor returns, std's own natively; jiff takes `js`, rust-embed `debug-embed`, similar `wasm32_web_time`. The gallery's web entry takes `gpui_web`, `wasm-bindgen`, `js-sys` and `web-sys` as wasm-only dev-dependencies, and a Hebrew cut of Noto Sans Hebrew 2.003 (OFL, `examples/gallery/fonts`): gpui_web asks the browser for emoji and CJK alone. The `wasm-bindgen` CLI at Cargo.lock's version and binaryen's `wasm-opt` finish the bundle. - Gallery: `examples/gallery`. Website: `frontend/` (Vite 8, pnpm), built after the components: a home page in motion with three.js and smooth scroll, and a components page with categories on the left and the chosen component on the right, after astryx.atmeta.com and gpui-kit.com. Each component runs live from the gallery built for wasm32 through gpui_web, in an iframe, never as a screenshot. It deploys to Cloudflare through `npx wrangler`. ## Commands -- `cargo run --example gallery` opens the gallery. `-- --page ` starts on a page. +- `cargo run --example gallery` opens the gallery. `-- --page ` starts on a page; `--story ` with it draws that section alone. - `cargo run --example gallery -- --capture <dir>` writes PNGs of every page, light and dark, top to bottom, then each page's scripted states, including windows the demos open. macOS only. - `cargo run --example gallery -- --narrow 280 --capture <dir>` lays each page, header and body, at that width in a padded card and shoots it without its script, whose aims are measured at full width. Demos that set their own width run past the card. - `RUSTC_BOOTSTRAP=1 cargo check --lib --target wasm32-unknown-unknown` checks the web build; gpui_web's `wasm_thread` needs the bootstrap, as Zed's web examples do. +- `ELY_GALLERY_ASSETS=<address of out/assets/> scripts/web.sh <out>` builds the gallery for the browser, profile `web`, and fails past Cloudflare's 25 MiB. It opens at `?page=<slug>&story=<title or slug>&theme=light|dark`; the host page calls `gallery.setTheme(mode)` or posts `{ ely: "theme", theme }` later. +- `python3 scripts/stories.py` writes `examples/gallery/stories.json`, every page's sections in drawing order with their components, for the site. `scripts/check.sh` refuses a stale one. - `cargo test --lib --features test-support`, `cargo clippy --all-targets --features test-support -- -D warnings`, `cargo fmt --check`. `scripts/check.sh` runs them with the house rules. - `rm -rf target/debug/incremental` and `cargo clean -p ely-gpui-component` after each task item keep the disk lean. Cargo keeps every old build of the crate and its tests under a new hash; by T25 they had filled the disk. - `scripts/icons.sh <lucide-name>...` adds icons. Then add a line to `IconName` in `src/primitives/icon.rs`. @@ -142,7 +144,7 @@ Ely GPUI Component. A component library for GPUI, in light and dark. - Badges, tags and avatars live in `data_display`; forms and shell draw theirs from there, and `data_display` imports neither. A hue worn in a row, a label's or an event's, is `data_display::color_mark`, and `Palette::hue` gives the chart color by index. A tag is never wider than its container; a long label ends in an ellipsis beside its remove mark. - A picture drawn in code reaches gpui as a `RenderImage`. A host that replaces one frees the old through `App::drop_image`, or every frame stays in the sprite atlas (the gallery's model). - `img()` keeps loading state, and moves an animated picture's frames, only with an id; the frames hold still while its window is inactive or gpui's own `reduce_motion` is on, which the theme's reduced motion does not set. Content masks are rectangles, but `img()` draws only the part of its picture inside its box and rounds that part with its own radius, so a `Cover` crop keeps its corners. -- gpui reads a `&str` picture source with a scheme as a web address, and any other as an embedded asset. A file goes through `Path` (`documents::source` in the crate, `Path::new` in the gallery). +- gpui reads a `&str` picture source with a scheme as a web address, and any other as an embedded asset. A file goes through `Path` (`documents::source` in the crate, `ui::picture` in the gallery). - Taffy sizes a flex column by the height a ratio box has at its set width, before its cap, so chat's `shaped` pictures sit in a block inside such a column (`chat::ImageMessage`, `VideoMessage`, `ImageGrid`). - Taffy 0.13 collapses a child's vertical margin through a block parent with no padding or border on that side, and its size cache keeps only that block's size, so a box that measures it again leaves the margin out. A component moves a box with a relative offset, or with padding where what follows moves too, not with such a margin: `layout::Drawer` pulls and snaps its panel, and a fullscreen `overlays::Dialog` slides its card, with `top`; `motion::Stagger`, `Transition`, a centered Dialog and the palette's card rise with padding, so the box a scrim centers grows with them; the gallery's inspector sample is its probe's own child. A margin that stops at its parent is safe: a flex or grid item's own, or a child's of a flex item or of a box with padding or a border on that side. A flex wrapper stops the collapse but gives its items a definite height, so percent heights inside start to resolve (the Drawer's `max_h(relative(0.85))`). - Tiles in a picture's shape sit in flex rows of `flex_1` cells (`generative::GenerationGrid`). A cell's padding counts in its flex base, so a row of fewer cells gives each more width; cells that match across rows keep their inset on a box inside (`messaging::VideoCallGrid`). @@ -175,8 +177,12 @@ Ely GPUI Component. A component library for GPUI, in light and dark. - A component built on `lists::Tree` fills its box; the host gives it a height. A fixed-width column beside a `flex_1` one takes `flex_none`, or it shrinks. - Editor rows read their text through `CodeEditor::row_text`: a multi-line ghost cuts its line, and the rest follows the ghost's last line. - gpui clears `debug_bounds` each frame: a test sees an element leave as well as appear. -- Time reads `web_time::Instant`: std's compiles for wasm32 and panics in the browser. `scripts/check.sh` refuses std's in `src`. -- What cannot build for wasm32 is absent there through `cfg(not(target_family = "wasm"))`, never faked: the live terminal, `Terminal` and `Launch` with their grid, keys and search. +- Time reads `web_time::Instant`: std's compiles for wasm32 and panics in the browser. `scripts/check.sh` refuses std's in `src` and the gallery. +- What cannot build for wasm32 is absent there through `cfg(not(target_family = "wasm"))`, never faked: the live terminal, `Terminal` and `Launch` with their grid, keys and search, and the gallery's capture harness. +- A gallery demo a browser cannot run says why on the web through `ui::web_note`, in the blocked style: a second window (`own_window`), files from the dialog or a drop (`NO_FILES`), the menu bar, window moves, a clipboard read. +- A story is a gallery section: its title is a literal, one per page. Under `ui::Story` the one asked for draws without its title and the rest hide, which skips their prepaint and paint; a story the page lacks fails in the page. +- The gallery's pictures go through `asset!` and `ui::picture` or `ui::resource`: a file natively, on the web an address under `ELY_GALLERY_ASSETS`, since gpui reads no files there. +- The first frame wears the host's mode through `Theme::set_mode_now`; `set_mode` fades from the colors on screen. - The system time zone comes from `typography::format::system_zone`, which fails loud; jiff's `TimeZone::system()` falls back to UTC in silence. - A Select with nothing to pick stays shut: disabled, it shows its placeholder; open, it fails (`media::DeviceSelector` says no device was found). - A list opens with its cursor on the current choice: Select on the chosen row, Combobox on its value, MultiSelect on the first one ticked, SelectableList on its first selected row. A selection the owner makes, not the echo of the list's own pick, moves SelectableList's cursor there. @@ -241,3 +247,4 @@ Ely GPUI Component. A component library for GPUI, in light and dark. - 2026-09-28: gpui builds an AccessKit tree on macOS, Windows and Linux, not the web, from elements with an id and a `role`, so the accessibility entries turn from `blocked` to `prove`. It still has no tray or badge API, so TrayIcon and DockBadge call AppKit. - 2026-09-28: SystemNotification is `prove`: gpui's `show_system_notification` posts only from an app bundle; unbundled, as `cargo run` starts the gallery, it logs and drops the call, and the web posts nothing. - 2026-09-29: the ported debug gallery draws its heaviest page about 1.6 times slower than on gpui 0.2.2 (tooling: 9 fps, worst frame 117 ms, against 14 fps and 72 ms), with gpui's accessibility tree on or off (`Application::new_inaccessible` measured the same). Ely's code did not change there; the frame cost is gpui's. +- 2026-09-29: the web gallery runs on one thread, since a static site sends no cross-origin isolation, and draws through WebGL2 where WebGPU is missing. Its pictures are served beside the wasm, not embedded: the wasm stays under Cloudflare's 25 MiB, and a story fetches only its own. `wasm-opt -Oz` takes the wasm from 23.0 to 20.0 MB; gzip and brotli stay near 7.9 and 5.5 MB. diff --git a/README.md b/README.md index 86d4c44..6ae3fee 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,11 @@ fn main() { cargo run --example gallery cargo run --example gallery -- --page buttons cargo run --example gallery -- --capture shots # macOS: PNG of every page, light and dark +ELY_GALLERY_ASSETS=https://example.com/gallery/assets/ scripts/web.sh dist # for the browser ``` +In a browser, `?page=buttons&story=icon-button&theme=dark` draws one section alone; `examples/gallery/stories.json` lists them all. + ## Build notes - gpui compiles its Metal shaders at runtime here (`runtime_shaders`, on by default), so a full Xcode install is not required. gpui_platform needs `font-kit`, or macOS draws no text. @@ -43,5 +46,5 @@ cargo run --example gallery -- --capture shots # macOS: PNG of every page, lig ## License -MIT or Apache-2.0, at your option. Lucide icons: ISC. Inter and JetBrains Mono: SIL Open Font License 1.1. +MIT or Apache-2.0, at your option. Lucide icons: ISC. Inter, JetBrains Mono, IBM Plex Sans and the gallery's Noto Sans Hebrew: SIL Open Font License 1.1. The gallery photos in `examples/gallery/assets` were generated for this project with gpt-image-2. diff --git a/assets/fonts/ibm-plex-sans/IBMPlexSans-LICENSE.txt b/assets/fonts/ibm-plex-sans/IBMPlexSans-LICENSE.txt new file mode 100644 index 0000000..f72f765 --- /dev/null +++ b/assets/fonts/ibm-plex-sans/IBMPlexSans-LICENSE.txt @@ -0,0 +1,92 @@ +Copyright © 2017 IBM Corp. with Reserved Font Name "Plex" + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. \ No newline at end of file diff --git a/assets/fonts/ibm-plex-sans/IBMPlexSans-Regular.ttf b/assets/fonts/ibm-plex-sans/IBMPlexSans-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bd6817d5202895da5ac4fad88de3da71e652881a GIT binary patch literal 200500 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±Lk;941wN9j(O#6{H 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 VkO`yz&)k7yBj|jf8c=D*002BjV;}$k literal 0 HcmV?d00001 diff --git a/examples/gallery/fonts/NotoSansHebrew-LICENSE.txt b/examples/gallery/fonts/NotoSansHebrew-LICENSE.txt new file mode 100644 index 0000000..d8cfd91 --- /dev/null +++ b/examples/gallery/fonts/NotoSansHebrew-LICENSE.txt @@ -0,0 +1,92 @@ +Copyright 2022 The Noto Project Authors (https://github.com/notofonts/hebrew) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION AND CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/examples/gallery/fonts/NotoSansHebrew-Regular.ttf b/examples/gallery/fonts/NotoSansHebrew-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8a4fea81ff2030c32dba8542eedd1e6d0b69f21c GIT binary patch literal 14096 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 V>jgVGh?39qQrK~aO7b|-{{c*f2@L=M literal 0 HcmV?d00001 diff --git a/examples/gallery/pages/account/access.rs b/examples/gallery/pages/account/access.rs index adaf485..99e0be3 100644 --- a/examples/gallery/pages/account/access.rs +++ b/examples/gallery/pages/account/access.rs @@ -12,7 +12,7 @@ use gpui::{App, IntoElement, ParentElement, SharedString, Styled, Window, div, p use crate::{ probe::probe, - ui::{change, keep, section}, + ui::{NO_FILES, change, keep, section, web_note}, }; /// The switchers' demo: the account and workspace in use. @@ -115,6 +115,7 @@ pub fn profile(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { "Someone at a glance, and their profile to edit: Save waits for a change, a name and an email that reads; Discard puts the saved profile back.", cx, ) + .children(web_note(NO_FILES, cx)) .child( div() .flex() diff --git a/examples/gallery/pages/chat/compose.rs b/examples/gallery/pages/chat/compose.rs index f2223b4..80383e2 100644 --- a/examples/gallery/pages/chat/compose.rs +++ b/examples/gallery/pages/chat/compose.rs @@ -15,7 +15,7 @@ use web_time::Instant; use crate::{ probe::probe, - ui::{keep, noise, section, set}, + ui::{NO_FILES, keep, noise, section, set, web_note}, }; const SYSTEM: &str = "You answer about color in plain words. Cite sources."; @@ -160,6 +160,7 @@ pub fn composer( "Where a message is written: attachments and context above the field, tools below, send at the end; Enter sends and Shift-Enter breaks the line. A slash at the start offers commands, an at sign offers context, and files dropped on it attach.", cx, ) + .children(web_note(NO_FILES, cx)) .child(probe( "chat-composer", div() diff --git a/examples/gallery/pages/data/people.rs b/examples/gallery/pages/data/people.rs index e4b1d0b..8511f71 100644 --- a/examples/gallery/pages/data/people.rs +++ b/examples/gallery/pages/data/people.rs @@ -15,7 +15,7 @@ use gpui::{App, IntoElement, ParentElement, SharedString, Styled, Window, div}; use crate::{ probe::probe, - ui::{keep, picture, row, section, set, specimen, specimens}, + ui::{NO_FILES, keep, picture, row, section, set, specimen, specimens, web_note}, }; const DUNES: &str = asset!("dunes-square.jpg"); @@ -119,6 +119,7 @@ pub fn avatars(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { "A picture, or initials on a tone the name keeps, or an icon. Presence sits on the corner. Hover the last one, then press it to choose a picture, or drop one on it.", cx, ) + .children(web_note(NO_FILES, cx)) .child(specimens().children(sizes.map(|(size, name)| { specimen(name, Avatar::new(SharedString::from(format!("avatar-{name}")), "Kofi Mensah").size(size), cx) }))) diff --git a/examples/gallery/pages/files/actions.rs b/examples/gallery/pages/files/actions.rs index 5271fe1..d3ebd66 100644 --- a/examples/gallery/pages/files/actions.rs +++ b/examples/gallery/pages/files/actions.rs @@ -10,7 +10,7 @@ use jiff::Timestamp; use crate::{ probe::probe, - ui::{change, keep, section}, + ui::{NO_FILES, change, keep, section, web_note}, }; pub fn context_menu(cx: &mut App) -> impl IntoElement + use<> { @@ -84,6 +84,7 @@ pub fn drop_files(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> "Files dropped in, as forms::DropZone takes them; each lands in the list below.", cx, ) + .children(web_note(NO_FILES, cx)) .child(probe( "files-drop", div() diff --git a/examples/gallery/pages/forms/files.rs b/examples/gallery/pages/forms/files.rs index ed39b96..e88dc4b 100644 --- a/examples/gallery/pages/forms/files.rs +++ b/examples/gallery/pages/forms/files.rs @@ -5,7 +5,7 @@ use gpui::{App, IntoElement, ParentElement, Styled, Window, div, px}; use crate::{ probe::probe, - ui::{keep, section, set, specimen, specimens}, + ui::{NO_FILES, keep, section, set, specimen, specimens, web_note}, }; fn names(paths: &[PathBuf]) -> String { @@ -44,6 +44,7 @@ pub fn files(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { "Click a field or Browse for the system's dialog, or drop files from Finder. A folder, or two files on a one-file target, turns it red.", cx, ) + .children(web_note(NO_FILES, cx)) .child( specimens() .child(specimen( diff --git a/examples/gallery/pages/forms/rich.rs b/examples/gallery/pages/forms/rich.rs index 478b8d7..07839bc 100644 --- a/examples/gallery/pages/forms/rich.rs +++ b/examples/gallery/pages/forms/rich.rs @@ -10,7 +10,7 @@ use gpui::{App, IntoElement, Keystroke, ParentElement, SharedString, Styled, Win use super::text::field; use crate::{ probe::probe, - ui::{code, section}, + ui::{NO_FILES, code, section, web_note}, }; pub fn mention(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { @@ -99,6 +99,7 @@ pub fn path(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { "Type a path, or Browse with the system's dialog.", cx, ) + .children(web_note(NO_FILES, cx)) .child(probe( "path", div() diff --git a/examples/gallery/pages/media/edit.rs b/examples/gallery/pages/media/edit.rs index 655a635..d2b06de 100644 --- a/examples/gallery/pages/media/edit.rs +++ b/examples/gallery/pages/media/edit.rs @@ -9,7 +9,7 @@ use gpui::{App, IntoElement, ParentElement, SharedString, Styled, Window, div, p use crate::{ probe::probe, - ui::{keep, picture, section, set}, + ui::{keep, picture, section, set, web_note}, }; const ATRIUM: &str = asset!("atrium.jpg"); @@ -106,6 +106,10 @@ pub fn upload(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { "A picture to send: drop one or browse for it, then crop it. Replace picks another; Remove empties it.", cx, ) + .children(web_note( + "A browser hands gpui no files: on the web the file dialog fails, drops never arrive, and the picture this starts with, a file on disk, cannot be read.", + cx, + )) .child(probe( "media-upload", div().w(px(420.)).child( diff --git a/examples/gallery/pages/menus/more.rs b/examples/gallery/pages/menus/more.rs index 8c24f95..a4e6c6d 100644 --- a/examples/gallery/pages/menus/more.rs +++ b/examples/gallery/pages/menus/more.rs @@ -9,16 +9,27 @@ use gpui::{App, IntoElement, ParentElement, Styled, Window, div, px}; use super::rows::{ran, run}; use crate::{ probe::probe, - ui::{section, specimen}, + ui::{section, specimen, web_note}, }; pub fn menu_bar(cx: &mut App) -> impl IntoElement + use<> { - let menus = cx.get_menus().expect("the gallery sets its menus in main"); + let menus = match cx.get_menus() { + Some(menus) => menus, + None if cfg!(target_family = "wasm") => crate::app_menus() + .into_iter() + .map(gpui::Menu::owned) + .collect(), + None => panic!("the gallery sets its menus in main"), + }; section( "MenuBar Menu", "The app's own menus, the ones cx.set_menus gave the system, drawn in the window. Picking a row dispatches its action.", cx, ) + .children(web_note( + "A browser page has no menu bar, and gpui on the web keeps no cx.set_menus: this bar draws the gallery's own list of the same menus.", + cx, + )) .child(specimen( "hover moves between menus while one is open", probe("menubar", MenuBar::new("app-bar", menus)), diff --git a/examples/gallery/pages/navigation/palettes.rs b/examples/gallery/pages/navigation/palettes.rs index a3d4364..53286f2 100644 --- a/examples/gallery/pages/navigation/palettes.rs +++ b/examples/gallery/pages/navigation/palettes.rs @@ -8,7 +8,7 @@ use gpui::{App, Entity, IntoElement, ParentElement, SharedString, Window}; use crate::{ probe::{Opened, probe}, - ui::{keep, row, section, set, specimen}, + ui::{keep, own_window, row, section, set, specimen}, }; /// Moves `value` to the front of a recent list, keeping `size` entries. @@ -398,7 +398,7 @@ pub fn search_palette(window: &mut Window, cx: &mut App) -> impl IntoElement + u )) .child(specimen( "a window above all others", - probe( + own_window(probe( "launcher", Button::new("launcher-button", "Open the launcher") .variant(ButtonVariant::Ghost) @@ -415,7 +415,7 @@ pub fn search_palette(window: &mut Window, cx: &mut App) -> impl IntoElement + u Err(error) => log::error!("gallery: launcher: {error:#}"), } }), - ), + ), cx), cx, )), ) diff --git a/examples/gallery/pages/primitives/native.rs b/examples/gallery/pages/primitives/native.rs index 5555a12..d6c7d54 100644 --- a/examples/gallery/pages/primitives/native.rs +++ b/examples/gallery/pages/primitives/native.rs @@ -13,7 +13,7 @@ use gpui::{ use crate::{ probe::probe, - ui::{code, row, section}, + ui::{code, row, section, web_note}, }; pub fn boxes(cx: &App) -> impl IntoElement + use<> { @@ -445,6 +445,10 @@ pub fn clipboard(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> "write_to_clipboard and read_from_clipboard on App.", cx, ) + .children(web_note( + "A browser reads its clipboard only as it pastes, into a field: on the web gpui's read_from_clipboard finds nothing, so Paste reports no text. Copy works.", + cx, + )) .child( row() .gap_3() diff --git a/examples/gallery/pages/settings/pages.rs b/examples/gallery/pages/settings/pages.rs index 0caacef..6a06777 100644 --- a/examples/gallery/pages/settings/pages.rs +++ b/examples/gallery/pages/settings/pages.rs @@ -11,7 +11,7 @@ use ely_gpui_component::{ use gpui::{AnyElement, App, Entity, IntoElement, ParentElement, Styled, div, px}; use super::window::{Fields, Prefs, SIZE}; -use crate::ui::change; +use crate::ui::{NO_FILES, change, web_note}; /// The open section's page. pub(super) fn page(prefs: &Entity<Prefs>, fields: &Fields, section: &str, cx: &App) -> AnyElement { @@ -198,6 +198,7 @@ fn storage(prefs: &Entity<Prefs>, cx: &App) -> AnyElement { }), ), ) + .children(web_note(NO_FILES, cx)) .child( SettingsSection::new("Defaults") .description("A larger font size shows here.") diff --git a/examples/gallery/pages/shell/chrome.rs b/examples/gallery/pages/shell/chrome.rs index b9749fb..414fd54 100644 --- a/examples/gallery/pages/shell/chrome.rs +++ b/examples/gallery/pages/shell/chrome.rs @@ -7,7 +7,7 @@ use ely_gpui_component::{ }; use gpui::{App, Div, IntoElement, ParentElement, Styled, Window, div, px}; -use crate::ui::{code, row, section, specimen, specimens}; +use crate::ui::{code, row, section, specimen, specimens, web_note}; /// A window drawn inside the page. pub fn window_frame(width: f32, height: f32, cx: &App) -> Div { @@ -116,6 +116,10 @@ pub fn window_controls(cx: &App) -> impl IntoElement + use<> { "Minimize and zoom act on this window. Close here only logs.", cx, )) + .children(web_note( + "A browser owns the page's window: gpui on the web only logs minimize and zoom.", + cx, + )) } pub fn drag_area(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { @@ -142,6 +146,10 @@ pub fn drag_area(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> .child("Double-click to zoom this window"), ) .child(code("drag_region(id, window, cx)", cx)) + .children(web_note( + "A browser owns the page's window: gpui on the web neither moves nor zooms it.", + cx, + )) } pub fn resize_border(cx: &App) -> impl IntoElement + use<> { @@ -154,6 +162,10 @@ pub fn resize_border(cx: &App) -> impl IntoElement + use<> { "Linux draws its own edges. This macOS window keeps the system's, so the border lays out only.", )) .child(code("ResizeBorder::new().child(app)", cx)) + .children(web_note( + "A browser sizes the page's canvas itself: gpui on the web resizes no window from its edges.", + cx, + )) } pub fn menus(cx: &App) -> impl IntoElement + use<> { @@ -177,4 +189,8 @@ pub fn menus(cx: &App) -> impl IntoElement + use<> { .child(Caption::new( "MenuBar draws the same menus inside the window. It lands with Menus, chapter 8.", )) + .children(web_note( + "A browser page has no menu bar and no Dock: gpui on the web keeps neither cx.set_menus nor cx.set_dock_menu.", + cx, + )) } diff --git a/examples/gallery/pages/shell/status.rs b/examples/gallery/pages/shell/status.rs index 8e44919..d1a364a 100644 --- a/examples/gallery/pages/shell/status.rs +++ b/examples/gallery/pages/shell/status.rs @@ -11,7 +11,7 @@ use gpui::{App, IntoElement, ParentElement, Styled, Window, div}; use super::chrome::window_frame; use crate::{ probe::{Opened, probe}, - ui::{row, section, specimen}, + ui::{own_window, row, section, specimen}, }; fn log_action(name: &'static str) -> impl Fn(&mut Window, &mut App) + 'static { @@ -59,14 +59,17 @@ pub fn update_window(cx: &App) -> impl IntoElement + use<> { .child(update_dialog().on_later(log_action("later"))), cx, )) - .child(probe( - "update-open", - Button::new("update-open", "Open update window") - .variant(ButtonVariant::Outline) - .on_click(|_, _, cx| match update_dialog().open(cx) { - Ok(handle) => Opened::insert("update", handle.into(), cx), - Err(error) => log::error!("gallery: update window failed: {error:#}"), - }), + .child(own_window( + probe( + "update-open", + Button::new("update-open", "Open update window") + .variant(ButtonVariant::Outline) + .on_click(|_, _, cx| match update_dialog().open(cx) { + Ok(handle) => Opened::insert("update", handle.into(), cx), + Err(error) => log::error!("gallery: update window failed: {error:#}"), + }), + ), + cx, )) } @@ -101,14 +104,17 @@ pub fn crash_reporter(cx: &App) -> impl IntoElement + use<> { .child(reporter(true)), cx, )) - .child(probe( - "crash-open", - Button::new("crash-open", "Open crash window") - .variant(ButtonVariant::Outline) - .on_click(move |_, _, cx| match reporter(false).open(cx) { - Ok(handle) => Opened::insert("crash", handle.into(), cx), - Err(error) => log::error!("gallery: crash window failed: {error:#}"), - }), + .child(own_window( + probe( + "crash-open", + Button::new("crash-open", "Open crash window") + .variant(ButtonVariant::Outline) + .on_click(move |_, _, cx| match reporter(false).open(cx) { + Ok(handle) => Opened::insert("crash", handle.into(), cx), + Err(error) => log::error!("gallery: crash window failed: {error:#}"), + }), + ), + cx, )) } diff --git a/examples/gallery/pages/shell/system.rs b/examples/gallery/pages/shell/system.rs index 49a64f9..60cbc35 100644 --- a/examples/gallery/pages/shell/system.rs +++ b/examples/gallery/pages/shell/system.rs @@ -7,7 +7,7 @@ use gpui::{App, IntoElement, ParentElement, SharedString, Window}; use crate::{ probe::probe, - ui::{blocked, row, section}, + ui::{blocked, row, section, web_note}, }; const ITEMS: [&str; 3] = ["Open gallery", "Toggle theme", "Quit"]; @@ -23,6 +23,10 @@ pub fn tray(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { "An SF Symbol in the menu bar with a menu. macOS only.", cx, ) + .children(web_note( + "A browser page has no menu bar to hold an icon, so showing one fails and logs why.", + cx, + )) .child( row() .child(probe( @@ -113,6 +117,10 @@ pub fn dock(cx: &mut App) -> impl IntoElement + use<> { "A count on the app's Dock icon. macOS only.", cx, ) + .children(web_note( + "A browser page has no Dock icon to badge, so setting one fails and logs why.", + cx, + )) .child( row() .child(probe( @@ -138,7 +146,11 @@ pub fn notification(cx: &App) -> impl IntoElement + use<> { cx, ) .child(blocked( - "Not yet shown: gpui posts a system notification only from an app bundle, and the gallery runs unbundled.", + if cfg!(target_family = "wasm") { + "Not shown: gpui on the web posts no system notification." + } else { + "Not yet shown: gpui posts a system notification only from an app bundle, and the gallery runs unbundled." + }, cx, )) } diff --git a/examples/gallery/pages/theme/importing.rs b/examples/gallery/pages/theme/importing.rs index 33da772..571ff1f 100644 --- a/examples/gallery/pages/theme/importing.rs +++ b/examples/gallery/pages/theme/importing.rs @@ -4,7 +4,7 @@ use ely_gpui_component::{ }; use gpui::{App, IntoElement, ParentElement, SharedString, Styled, Window, div, px}; -use crate::ui::{change, keep, section, specimen, specimens}; +use crate::ui::{NO_FILES, change, keep, section, specimen, specimens, web_note}; /// Which code palette the demo last chose. struct Chosen(SharedString); @@ -17,6 +17,7 @@ pub fn importing(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> "A VS Code color theme dropped here reads into Ely's palette, the colors it leaves out kept from Ely's; Apply sets it on the whole gallery. Code palettes choose the colors of code for the mode shown.", cx, ) + .children(web_note(NO_FILES, cx)) .child( specimens() .child(specimen( diff --git a/examples/gallery/pages/theme/platform.rs b/examples/gallery/pages/theme/platform.rs index 7be0164..0520203 100644 --- a/examples/gallery/pages/theme/platform.rs +++ b/examples/gallery/pages/theme/platform.rs @@ -14,7 +14,7 @@ use gpui::{ use crate::{ probe::{Opened, probe}, - ui::{change, keep, section, specimen, specimens}, + ui::{change, keep, native_only, section, specimen, specimens}, }; const PLATFORMS: [(Platform, &str); 3] = [ @@ -38,10 +38,14 @@ pub fn platform(window: &mut Window, cx: &mut App) -> impl IntoElement + use<> { .child(specimen("IconTheme", icons(window, cx), cx)) .child(specimen( "Vibrancy", - probe( - "frosted-open", - Button::new("frosted-open", "Open a frosted window") - .on_click(|_, _, cx| frosted(cx)), + native_only( + probe( + "frosted-open", + Button::new("frosted-open", "Open a frosted window") + .on_click(|_, _, cx| frosted(cx)), + ), + "A browser page is a single window, and gpui leaves what lies behind it to the browser, so no frosted window opens and nothing blurs through.", + cx, ), cx, )), @@ -141,10 +145,10 @@ fn frosted(cx: &mut App) { window_background: WindowBackgroundAppearance::Blurred, ..Default::default() }; - let handle = cx - .open_window(options, |_, cx| cx.new(|_| Frosted)) - .expect("the frosted window opens"); - Opened::insert("frosted", handle.into(), cx); + match cx.open_window(options, |_, cx| cx.new(|_| Frosted)) { + Ok(handle) => Opened::insert("frosted", handle.into(), cx), + Err(error) => log::error!("gallery: frosted window failed: {error:#}"), + } } /// A window whose sidebar lets the desktop through. diff --git a/examples/gallery/shell.rs b/examples/gallery/shell.rs index 17672dc..0df1375 100644 --- a/examples/gallery/shell.rs +++ b/examples/gallery/shell.rs @@ -227,6 +227,19 @@ impl Gallery { } } + /// The window's root: the focus scope, over Ely's ground, ink and type. + fn root(&self, cx: &App) -> FocusScope { + let theme = cx.theme(); + FocusScope::new(&self.focus) + .root() + .size_full() + .flex() + .bg(theme.colors.bg) + .text_color(theme.colors.fg) + .font_family(theme.font_family.clone()) + .text_size(theme.text_size(TextSize::Base)) + } + /// The page's demos, or the story's alone; why not, once the start or the story failed. fn body( &mut self, @@ -259,24 +272,10 @@ impl Gallery { impl Render for Gallery { fn render(&mut self, window: &mut Window, cx: &mut Context<Self>) -> impl IntoElement { let page = &pages::ALL[self.page]; - let body = self.body(page, window, cx); - let sidebar = self.sidebar(cx); - let switcher = self.switcher(cx); - let theme = cx.theme(); - let colors = &theme.colors; - - let root = FocusScope::new(&self.focus) - .root() - .size_full() - .flex() - .bg(colors.bg) - .text_color(colors.fg) - .font_family(theme.font_family.clone()) - .text_size(theme.text_size(TextSize::Base)); - let body = match body { + let body = match self.body(page, window, cx) { Ok(body) => body, Err(failure) => { - return root.child( + return self.root(cx).child( div().w_full().p_6().child( Alert::new("gallery-failure", Severity::Danger, "Nothing to show") .body(failure), @@ -285,7 +284,7 @@ impl Render for Gallery { } }; if self.story.is_some() { - return root.child( + return self.root(cx).child( on_axis(div().id(("story", self.pass))) .size_full() .overflow_y_scroll() @@ -293,7 +292,12 @@ impl Render for Gallery { .child(div().p_6().child(body)), ); } - root.child(sidebar).child( + let sidebar = self.sidebar(cx); + let switcher = self.switcher(cx); + let theme = cx.theme(); + let colors = &theme.colors; + + self.root(cx).child(sidebar).child( on_axis(div().id(("page", self.pass))) .flex_1() .h_full() diff --git a/examples/gallery/ui.rs b/examples/gallery/ui.rs index 3c9b26d..4aa8571 100644 --- a/examples/gallery/ui.rs +++ b/examples/gallery/ui.rs @@ -163,20 +163,29 @@ pub fn blocked(text: impl Into<SharedString>, cx: &App) -> impl IntoElement { .child(div().flex_1().min_w_0().child(text.into())) } +/// Why a demo that takes files takes none on the web. +pub const NO_FILES: &str = "A browser hands gpui no files: on the web the file dialog fails and dropped files never arrive, so nothing is taken here."; + /// What a browser cannot do here, and why: a note on the web, nothing natively. pub fn web_note(text: &'static str, cx: &App) -> Option<AnyElement> { cfg!(target_family = "wasm").then(|| blocked(text, cx).into_any_element()) } -/// A button that opens a window of its own; a browser page is one window, so there a note stands in. +/// A demo a browser cannot run: on the web its note stands in. +pub fn native_only(element: impl IntoElement, note: &'static str, cx: &App) -> AnyElement { + match web_note(note, cx) { + Some(note) => note, + None => element.into_any_element(), + } +} + +/// A button that opens a window of its own, which a browser page cannot. pub fn own_window(button: impl IntoElement, cx: &App) -> AnyElement { - match web_note( + native_only( + button, "A browser page is a single window: gpui opens no second window or popup on the web, so this one cannot open here.", cx, - ) { - Some(note) => note, - None => button.into_any_element(), - } + ) } /// A demo's state, kept across frames under `key`. diff --git a/examples/gallery/web.rs b/examples/gallery/web.rs index 6635ec8..0d890be 100644 --- a/examples/gallery/web.rs +++ b/examples/gallery/web.rs @@ -1,4 +1,4 @@ -use std::{cell::RefCell, rc::Rc, sync::Arc}; +use std::{borrow::Cow, cell::RefCell, rc::Rc, sync::Arc}; use anyhow::{Context as _, Result, anyhow, bail}; use ely_gpui_component::Assets; @@ -9,6 +9,9 @@ use web_sys::UrlSearchParams; use crate::{Start, choose, launch, pages, shell::Choice, shell::Gallery}; +/// The i18n page's Hebrew: gpui_web asks the browser for emoji and CJK alone. +const HEBREW: &[u8] = include_bytes!("fonts/NotoSansHebrew-Regular.ttf"); + thread_local! { /// The running app and its window, for the host page's calls. static HOST: RefCell<Option<(AsyncApp, WindowHandle<Gallery>)>> = const { RefCell::new(None) }; @@ -95,6 +98,9 @@ pub fn start() { .with_http_client(http) .with_assets(Assets) .run(move |cx| { + cx.text_system() + .add_fonts(vec![Cow::Borrowed(HEBREW)]) + .expect("the gallery's Hebrew face registers"); let window = launch(start, cx); HOST.with(|host| *host.borrow_mut() = Some((cx.to_async(), window))); }); diff --git a/scripts/web.sh b/scripts/web.sh new file mode 100755 index 0000000..e53e2f4 --- /dev/null +++ b/scripts/web.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Builds the browser gallery into <out>; ELY_GALLERY_ASSETS is the address of <out>/assets/. +set -eu +out=$(mkdir -p "${1:?usage: scripts/web.sh <out dir>}" && cd "$1" && pwd) +: "${ELY_GALLERY_ASSETS:?set ELY_GALLERY_ASSETS to the address of <out>/assets/, ending in /}" +cd "$(dirname "$0")/.." +version=$(sed -n '/^name = "wasm-bindgen"$/{n;s/^version = "\(.*\)"$/\1/p;}' Cargo.lock) +wasm-bindgen --version | grep -qx "wasm-bindgen $version" || { + echo "wasm-bindgen $version needed: cargo install wasm-bindgen-cli --version $version --locked" >&2 + exit 1 +} +command -v wasm-opt >/dev/null || { echo "wasm-opt needed: brew install binaryen, or npm i -g binaryen" >&2; exit 1; } +# gpui_web's wasm_thread asks for an unstable feature even single-threaded, as Zed's own web build does. +RUSTC_BOOTSTRAP=1 cargo build --example gallery --target wasm32-unknown-unknown --profile web +wasm="${CARGO_TARGET_DIR:-target}/wasm32-unknown-unknown/web/examples/gallery.wasm" +wasm-bindgen "$wasm" --out-dir "$out" --out-name gallery --target web --no-typescript \ + --remove-name-section --remove-producers-section +# Cloudflare serves no file over 25 MiB; -Oz takes a seventh off, though not off the gzip. +wasm-opt -Oz --enable-bulk-memory --enable-nontrapping-float-to-int --enable-sign-ext \ + --enable-mutable-globals --enable-reference-types --enable-multivalue \ + "$out/gallery_bg.wasm" -o "$out/gallery_bg.wasm" +cp examples/gallery/index.html "$out/" +rm -rf "$out/assets" +cp -R examples/gallery/assets "$out/assets" +size=$(wc -c < "$out/gallery_bg.wasm" | tr -d ' ') +[ "$size" -le 26214400 ] || { echo "gallery_bg.wasm is $size bytes, over Cloudflare's 25 MiB" >&2; exit 1; } +echo "gallery_bg.wasm: $size bytes"