diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5bf4f95..119532b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -62,11 +62,17 @@ jobs: - name: Compare the committed version against the published one id: decide run: | - VERSION=$(python3 -c "import tomllib;print(tomllib.load(open('Cargo.toml','rb'))['workspace']['package']['version'])") + # `cargo pkgid` rather than a TOML parser. The version is resolved by + # the tool that owns it, so this cannot disagree with what the build + # actually produces, and it needs no interpreter on the runner. + VERSION=$(cargo pkgid -p chuzz-gui | sed 's/.*@//') echo "version=$VERSION" >> "$GITHUB_OUTPUT" + # `latest.json` is written by this workflow further down, so its shape + # is known: one "version" field. `sed` reads it rather than a JSON + # parser, which keeps the runner requirement at coreutils. LIVE=$(curl -fsS --max-time 30 "$CDN_BASE/latest.json" 2>/dev/null \ - | python3 -c 'import json,sys; print(json.load(sys.stdin)["version"])' 2>/dev/null || echo "") + | sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1) if [ "${{ inputs.force }}" = "true" ]; then echo "publish=true" >> "$GITHUB_OUTPUT" @@ -237,31 +243,32 @@ jobs: run: | TARBALL="$BUNDLE_DIR/Chuzz.app.tar.gz" test -f "$TARBALL.sig" || { echo "::error::missing $TARBALL.sig"; exit 1; } - python3 - "$VERSION" "$TARBALL.sig" "$CDN_BASE" <<'PY' - import json, sys, datetime - version, sig_path, base = sys.argv[1], sys.argv[2], sys.argv[3] - with open(sig_path) as f: - signature = f.read().strip() - manifest = { - "version": version, - "pub_date": datetime.datetime.now(datetime.timezone.utc) - .strftime("%Y-%m-%dT%H:%M:%SZ"), - "platforms": { - "darwin-aarch64": { - "signature": signature, - # The query string is a cache-buster, and it works because - # this pull zone keys its cache on the full URL including - # the query, so each release advertises a URL no edge has - # ever held. Brew fetches the bare URL and relies on the - # purge. - "url": f"{base}/Chuzz.app.tar.gz?v={version}", - } - }, + # A minisign signature is base64 and the version is a semver string, + # so neither can hold a character JSON would need escaped, and this + # manifest is interpolation rather than serialisation. Guard that + # assumption instead of taking on a parser. + SIGNATURE=$(cat "$TARBALL.sig") + case $SIGNATURE in *[!A-Za-z0-9+/=]*) + echo "::error::signature is not plain base64; refusing to interpolate"; exit 1;; esac + case $VERSION in *[!0-9A-Za-z.+-]*) + echo "::error::version has unexpected characters; refusing to interpolate"; exit 1;; esac + + # The url query string is a cache-buster, and it works because this + # pull zone keys its cache on the full URL including the query, so + # each release advertises a URL no edge has ever held. Brew fetches + # the bare URL and relies on the purge. + cat > latest.json </dev/null || echo "") + LIVE=$(curl -sS -L "$CDN_BASE/latest.json" 2>/dev/null \ + | sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | head -1) if [ "$LIVE" = "$VERSION" ]; then echo "edge serves version $LIVE" exit 0 diff --git a/AGENTS.md b/AGENTS.md index fb37b66..b7b4631 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -12,15 +12,26 @@ - Keep browser policy separate from the renderer. The browser app owns tabs, navigation, history, permissions, persistence, and downloads. - Keep the local control surface protocol-compatible with AgencyZero's Blitz interface: `blitz.agent.control` and `blitz.diagnostics` over local MCP framing. - Control is opt-in, local-only, and unauthenticated only because the socket and descriptor are owner-readable. Never bind it to a network interface. -- **The engine is a pinned revision, not a sibling checkout.** `ps-blitz`, - `tauri-runtime-blitz` and `endpoint-libs` are git dependencies with a `rev` in - `Cargo.toml`, so `Cargo.lock` records exactly what a release builds and an - ordinary `cargo build` fetches it. Do not turn them back into `path = - "../..."`. That is what this repository did before, and it put the revision CI - used in a `BLITZ_REF` env var in release.yml while every developer built - against whatever happened to be on disk. The pin sat 44 commits behind, and - the release job broke the day a new engine package was added, because a path - dependency resolves against the filesystem and no local build can notice. +- **Every dependency is a published version with a caret, not a sibling + checkout.** `ps-blitz`, the renderers and `endpoint-libs` are ordinary + crates.io dependencies on `^`, so `cargo update` can move them, `Cargo.lock` + records exactly what a release builds, and two crates asking for the same + range share one copy instead of getting a second. Do not turn them back into + `path = "../..."`. That is what this repository did before, and it put the + revision CI used in a `BLITZ_REF` env var in release.yml while every developer + built against whatever happened to be on disk. The pin sat 44 commits behind, + and the release job broke the day a new engine package was added, because a + path dependency resolves against the filesystem and no local build can notice. + Do not reach for `rev` or `=` either: a git revision cannot be published and + an exact pin is a range of one, so both split the graph the same way. A git + `endpoint-libs` alongside the registry copy is precisely how this repository + ended up with two of it. +- **`tauri-runtime-blitz` is the one exception, and it is temporary.** It is + still a git dependency with a `rev` because the crate sets `publish = false` + and depends on a patched `usvg` for `Tree::intrinsic_dimensions`; crates.io + rejects anything with a git dependency. `ps-usvg` is published now, so the + path forward is to repoint it there, drop `publish = false`, release, and + bring this one to a caret with the rest. - **Building against a working checkout is opt-in and never edits a tracked file.** Put the `[patch]` tables in `.cargo/local-engine.toml`, which is gitignored, and reach for them per command: @@ -28,10 +39,12 @@ restores `Cargo.lock`, because a redirected build rewrites it to point at directories that exist on one machine. Patch only the crates you are actually changing; every entry is a pin that stops being tested. -- When you move the engine pin, move `tauri-runtime-blitz`'s to match. Both name - a ps-blitz revision, and two different ones put two engines in the graph, - which surfaces as missing methods and unrelated `PaintScene` traits rather - than as a version error. +- When you move the engine version, move `tauri-runtime-blitz`'s to match. Both + resolve a ps-blitz, and two different ones put two engines in the graph, which + surfaces as missing methods and unrelated `PaintScene` traits rather than as a + version error. This is why the exception above is worth closing: a caret on + both sides makes the shared range the thing that keeps them equal, instead of + a revision someone has to remember to move twice. - Work on a branch and ship through a pull request. Do not commit to `main`. - Run `cargo fmt --all -- --check`, `cargo clippy --workspace --all-targets --all-features -- -D warnings`, and `cargo test --workspace --all-features` before delivery. diff --git a/Cargo.lock b/Cargo.lock index 510ef80..a43daee 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -75,18 +75,6 @@ dependencies = [ "windows-core 0.62.2", ] -[[package]] -name = "accesskit_xplat" -version = "0.1.1" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "accesskit", - "accesskit_macos", - "accesskit_windows", - "android-activity", - "raw-window-handle", -] - [[package]] name = "adler2" version = "2.0.1" @@ -185,6 +173,18 @@ version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" +[[package]] +name = "anyrender" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aea77d85ae0be665528618c97164c2b510dc635e80b805e9a9df9a9fe72da423" +dependencies = [ + "kurbo", + "peniko", + "raw-window-handle", + "smallvec", +] + [[package]] name = "app_units" version = "0.7.8" @@ -427,90 +427,13 @@ checksum = "6099cdc01846bc367c4e7dd630dc5966dccf36b652fae7a74e17b640411a91b2" [[package]] name = "blitz-control-protocol" version = "0.1.0" -source = "git+https://github.com/pathscale/tauri-runtime-blitz.git?rev=070ab3a2fd460d7c9b2f3f341e7d6c50af669682#070ab3a2fd460d7c9b2f3f341e7d6c50af669682" +source = "git+https://github.com/pathscale/tauri-runtime-blitz.git?rev=330cbb0963f93f5be85771cabad7fa73117535ab#330cbb0963f93f5be85771cabad7fa73117535ab" dependencies = [ - "endpoint-libs 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "endpoint-libs", "serde", "serde_json", ] -[[package]] -name = "blitz-dom-api" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "markup5ever 0.39.0", - "ps-blitz-dom", -] - -[[package]] -name = "blitz-html" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "html5ever 0.39.0", - "ps-blitz-dom", - "ps-blitz-traits", - "xml5ever", -] - -[[package]] -name = "blitz-net" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "data-url", - "directories", - "http-cache", - "http-cache-reqwest", - "ps-blitz-traits", - "reqwest", - "reqwest-middleware", - "tokio", - "wasm-bindgen-futures", -] - -[[package]] -name = "blitz-paint" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "color", - "euclid", - "kurbo", - "parley", - "peniko", - "ps-anyrender", - "ps-anyrender-svg", - "ps-blitz-dom", - "ps-blitz-traits", - "ps-taffy", - "smallvec", - "stylo", - "usvg", -] - -[[package]] -name = "blitz-platform-api" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "ps-blitz-traits", -] - -[[package]] -name = "blitz-wasm" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "blitz-dom-api", - "blitz-platform-api", - "dom-abi", - "ps-blitz-dom", - "ps-blitz-traits", - "wasmi", -] - [[package]] name = "block-buffer" version = "0.10.4" @@ -538,167 +461,6 @@ dependencies = [ "objc2 0.6.4", ] -[[package]] -name = "boa_ast" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "bitflags 2.13.1", - "boa_interner", - "boa_macros", - "boa_string", - "indexmap 2.14.0", - "num-bigint", - "rustc-hash 2.1.3", - "strum", -] - -[[package]] -name = "boa_engine" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "aligned-vec", - "arrayvec", - "async-channel", - "bitflags 2.13.1", - "boa_ast", - "boa_gc", - "boa_interner", - "boa_macros", - "boa_parser", - "boa_string", - "bytemuck", - "cfg-if", - "cow-utils", - "dashmap", - "dynify", - "either", - "fast-float2", - "float16", - "futures-concurrency", - "futures-lite", - "hashbrown 0.17.1", - "icu_calendar", - "icu_normalizer", - "indexmap 2.14.0", - "intrusive-collections", - "itertools 0.15.0", - "num-bigint", - "num-integer", - "num-traits", - "num_enum", - "oneshot", - "pastey", - "portable-atomic", - "rand 0.10.2", - "regress", - "rustc-hash 2.1.3", - "ryu-js", - "serde", - "serde_json", - "small_btree", - "static_assertions", - "tag_ptr", - "tap", - "temporal_rs", - "thin-vec", - "thiserror 2.0.20", - "time", - "timezone_provider", - "xsum", -] - -[[package]] -name = "boa_gc" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "arrayvec", - "boa_macros", - "boa_string", - "either", - "hashbrown 0.17.1", - "thin-vec", -] - -[[package]] -name = "boa_interner" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "boa_gc", - "boa_macros", - "hashbrown 0.17.1", - "indexmap 2.14.0", - "once_cell", - "phf", - "rustc-hash 2.1.3", - "static_assertions", -] - -[[package]] -name = "boa_macros" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "cfg-if", - "cow-utils", - "proc-macro2", - "quote", - "syn 2.0.119", - "synstructure", -] - -[[package]] -name = "boa_parser" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "bitflags 2.13.1", - "boa_ast", - "boa_interner", - "boa_macros", - "fast-float2", - "icu_properties", - "num-bigint", - "num-traits", - "regress", - "rustc-hash 2.1.3", -] - -[[package]] -name = "boa_runtime" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "base64 0.22.1", - "boa_engine", - "boa_gc", - "bytemuck", - "comfy-table", - "either", - "futures", - "futures-lite", - "http", - "rustc-hash 2.1.3", - "serde_json", - "url", -] - -[[package]] -name = "boa_string" -version = "1.0.0-dev" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" -dependencies = [ - "fast-float2", - "itoa", - "pastey", - "rustc-hash 2.1.3", - "ryu-js", - "static_assertions", -] - [[package]] name = "borsh" version = "1.8.0" @@ -997,9 +759,9 @@ dependencies = [ [[package]] name = "chuzz-control" -version = "0.1.33" +version = "0.1.34" dependencies = [ - "endpoint-libs 2.1.5 (git+https://github.com/pathscale/endpoint-libs.git?rev=7eff4d850f1c84c1104c0729c68f50711940b7fb)", + "endpoint-libs", "serde", "serde_json", "tokio", @@ -1007,23 +769,23 @@ dependencies = [ [[package]] name = "chuzz-gui" -version = "0.1.33" +version = "0.1.34" dependencies = [ - "blitz-html", - "blitz-net", - "blitz-paint", - "blitz-wasm", "brotli", "chuzz-control", - "dioxus-native", "flate2", "image", "png 0.18.1", "ps-anyrender", "ps-anyrender-vello-cpu", "ps-blitz-dom", + "ps-blitz-html", + "ps-blitz-net", + "ps-blitz-paint", "ps-blitz-script", "ps-blitz-traits", + "ps-blitz-wasm", + "ps-dioxus-native", "serde", "serde_json", "tauri", @@ -1558,11 +1320,6 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da220af51a1a335e9a930beaaef53d261e41ea9eecfb3d973a3ddae1a7284b9c" -[[package]] -name = "debug_timer" -version = "0.1.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" - [[package]] name = "defmt" version = "1.1.1" @@ -1783,59 +1540,6 @@ dependencies = [ "syn 2.0.119", ] -[[package]] -name = "dioxus-native" -version = "0.7.0" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "android-activity", - "blitz-net", - "blitz-paint", - "cfg-if", - "dioxus-asset-resolver", - "dioxus-cli-config", - "dioxus-core", - "dioxus-core-macro", - "dioxus-document", - "dioxus-history", - "dioxus-hooks", - "dioxus-html", - "dioxus-native-dom", - "dioxus-signals", - "dioxus-stores", - "futures-util", - "keyboard-types 0.7.0", - "manganis", - "peniko", - "ps-anyrender", - "ps-anyrender-vello", - "ps-anyrender-vello-cpu", - "ps-anyrender-vello-hybrid", - "ps-blitz-dom", - "ps-blitz-shell", - "ps-blitz-traits", - "rustc-hash 2.1.3", - "slotmap", - "tokio", - "webbrowser", - "wgpu_context", - "winit", -] - -[[package]] -name = "dioxus-native-dom" -version = "0.7.0" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "dioxus-core", - "dioxus-html", - "futures-util", - "keyboard-types 0.7.0", - "ps-blitz-dom", - "ps-blitz-traits", - "rustc-hash 2.1.3", -] - [[package]] name = "dioxus-rsx" version = "0.7.10" @@ -1961,7 +1665,8 @@ dependencies = [ [[package]] name = "dom-abi" version = "0.1.1" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b56cecd6b08e26fa2df2616cfbffd767107c063459b73bddaa3d67344a634e99" dependencies = [ "serde", ] @@ -2121,21 +1826,6 @@ dependencies = [ "tokio-util", ] -[[package]] -name = "endpoint-libs" -version = "2.1.5" -source = "git+https://github.com/pathscale/endpoint-libs.git?rev=7eff4d850f1c84c1104c0729c68f50711940b7fb#7eff4d850f1c84c1104c0729c68f50711940b7fb" -dependencies = [ - "async-trait", - "bytes", - "eyre", - "futures", - "serde", - "serde_json", - "tokio", - "tokio-util", -] - [[package]] name = "enumset" version = "1.1.14" @@ -4949,11 +4639,12 @@ dependencies = [ [[package]] name = "pixels_window_renderer" version = "0.7.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8446b6281adf257c7454da61707febd23a9eff0c85e32ed20b0fccafd1539a" dependencies = [ - "debug_timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "anyrender", + "debug_timer", "pixels", - "ps-anyrender", ] [[package]] @@ -5194,10 +4885,24 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "ps-accesskit-xplat" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e040e752d1d2d0cff2dc5cd15b17f8c94f68111fd0f7729636117f0aa220097" +dependencies = [ + "accesskit", + "accesskit_macos", + "accesskit_windows", + "android-activity", + "raw-window-handle", +] + [[package]] name = "ps-anyrender" -version = "0.12.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5327da0a20e60efcd3dada8550ca954c7de9e25dee7426b1c1fbdac9671f4fd0" dependencies = [ "kurbo", "peniko", @@ -5207,55 +4912,59 @@ dependencies = [ [[package]] name = "ps-anyrender-svg" -version = "0.14.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46398b5d65887187d3d512aebdfc87bb8c22b13c4621e5b751f2984136b63307" dependencies = [ "image", "kurbo", "peniko", "ps-anyrender", - "usvg", + "ps-usvg", ] [[package]] name = "ps-anyrender-vello" -version = "0.13.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddf67f7119ac78ec0ec93c467aa3748ed780a474e16998a3e940c8371f5e047c" dependencies = [ - "debug_timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "debug_timer", "futures-channel", "kurbo", "peniko", "pollster", "ps-anyrender", + "ps-vello", "ps-wgpu-context", "rustc-hash 2.1.3", - "vello", "wasm-bindgen-futures", "wgpu", ] [[package]] name = "ps-anyrender-vello-cpu" -version = "0.15.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c824cddd4c61f6d98144542b1fdbf455df94c68892db0fbac3fa693fb260019e" dependencies = [ - "debug_timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "glifo", + "debug_timer", "kurbo", "peniko", "pixels_window_renderer", "ps-anyrender", - "vello_common", - "vello_cpu", + "ps-glifo", + "ps-vello-common", + "ps-vello-cpu", ] [[package]] name = "ps-anyrender-vello-hybrid" -version = "0.9.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d70154799ecff6b3e94b210597fada58afa385459ef2a2768f40eff20ff256a4" dependencies = [ - "debug_timer 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "debug_timer", "futures-channel", "glifo", "kurbo", @@ -5272,8 +4981,9 @@ dependencies = [ [[package]] name = "ps-blitz-debug-control" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb949b76f8ab3e9e8b64be0b052ee6e6b816159db8a758ae0cb72e314e3e42f" dependencies = [ "getrandom 0.4.3", "serde", @@ -5282,8 +4992,9 @@ dependencies = [ [[package]] name = "ps-blitz-dom" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e6b8ff7695ee4136693ad9d8e481eb6d7c32a79d8198dec8206968908453b9" dependencies = [ "accesskit", "app_units", @@ -5292,7 +5003,6 @@ dependencies = [ "color", "cssparser 0.37.0", "cursor-icon", - "debug_timer 0.1.3 (git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874)", "euclid", "html-escape", "image", @@ -5305,7 +5015,10 @@ dependencies = [ "percent-encoding", "ps-anyrender", "ps-blitz-traits", + "ps-debug-timer", + "ps-stylo-taffy", "ps-taffy", + "ps-usvg", "rayon", "rustc-hash 2.1.3", "selectors 0.40.0", @@ -5315,86 +5028,428 @@ dependencies = [ "stylo", "stylo_dom", "stylo_static_prefs", - "stylo_taffy", "stylo_traits", "thin-vec", "thread_local", "url", - "usvg", "web-time", "wuff", ] [[package]] -name = "ps-blitz-script" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" +name = "ps-blitz-dom-api" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62e5b9fac50a9f1ac5cb11922bf87d2159b2a92b24bd924ab68e4a43d09214c4" +dependencies = [ + "markup5ever 0.39.0", + "ps-blitz-dom", +] + +[[package]] +name = "ps-blitz-html" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fe6d14c36a54614166ebf9177fa92148070fd0af22b1b1fddc7e6b0680ed0d5" +dependencies = [ + "html5ever 0.39.0", + "ps-blitz-dom", + "ps-blitz-traits", + "xml5ever", +] + +[[package]] +name = "ps-blitz-net" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f938d2bf87ad93200369181c690b92ca130f2edaa7fd842d77666c45af6c984" +dependencies = [ + "data-url", + "directories", + "http-cache", + "http-cache-reqwest", + "ps-blitz-traits", + "reqwest", + "reqwest-middleware", + "tokio", + "wasm-bindgen-futures", +] + +[[package]] +name = "ps-blitz-paint" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42789f0e3d07922879392bf42b67e93695e90cbbcbd8f6197df3c72dd236bb47" +dependencies = [ + "color", + "euclid", + "kurbo", + "parley", + "peniko", + "ps-anyrender", + "ps-anyrender-svg", + "ps-blitz-dom", + "ps-blitz-traits", + "ps-taffy", + "ps-usvg", + "smallvec", + "stylo", +] + +[[package]] +name = "ps-blitz-platform-api" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d68d4ab916b39df9ab0294d6ac012a059200fb7ab20b0c8415785a367466701" +dependencies = [ + "ps-blitz-traits", +] + +[[package]] +name = "ps-blitz-script" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "103a6b9a8a2d2accee025e54f487a731d16ff4a89c479ef2c2824ef9225f375d" +dependencies = [ + "base64 0.22.1", + "data-url", + "getrandom 0.4.3", + "image", + "keyboard-types 0.7.0", + "markup5ever 0.39.0", + "ps-anyrender", + "ps-anyrender-vello-cpu", + "ps-blitz-debug-control", + "ps-blitz-dom", + "ps-blitz-html", + "ps-blitz-paint", + "ps-blitz-traits", + "ps-boa-engine", + "ps-boa-gc", + "ps-boa-runtime", + "rustc-hash 2.1.3", + "serde_json", + "url", + "web-time", +] + +[[package]] +name = "ps-blitz-shell" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08cbcc7c7a28123331620135cda504834c808d089caccc33ef8b5553958a5169" +dependencies = [ + "accesskit", + "android-activity", + "arboard", + "atomic_refcell", + "futures-util", + "keyboard-types 0.7.0", + "ps-accesskit-xplat", + "ps-anyrender", + "ps-blitz-dom", + "ps-blitz-paint", + "ps-blitz-script", + "ps-blitz-traits", + "wasm-bindgen", + "web-sys", + "web-time", + "winit", +] + +[[package]] +name = "ps-blitz-traits" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "543d757eec9cc725056b3bcb1f06ad1adedc9600392a25fed593701766eda60e" +dependencies = [ + "atomic_refcell", + "bitflags 2.13.1", + "bytes", + "cursor-icon", + "http", + "keyboard-types 0.7.0", + "serde", + "smol_str", + "url", +] + +[[package]] +name = "ps-blitz-wasm" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad1fc81467192323d0e58abe5db905c9d5c5f1d0ded811194714df44df6158ce" +dependencies = [ + "dom-abi", + "ps-blitz-dom", + "ps-blitz-dom-api", + "ps-blitz-platform-api", + "ps-blitz-traits", + "wasmi", +] + +[[package]] +name = "ps-boa-ast" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76e1f505a952e293994286e9cc04686304bd0d5e633a0941bb0d1292ca4b10ba" +dependencies = [ + "bitflags 2.13.1", + "indexmap 2.14.0", + "num-bigint", + "ps-boa-interner", + "ps-boa-macros", + "ps-boa-string", + "rustc-hash 2.1.3", + "strum", +] + +[[package]] +name = "ps-boa-engine" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fa07fb527f2aff71c04ae73b60f89206e4d463b98b4c5e992c4f0bb57d0fd9" +dependencies = [ + "aligned-vec", + "arrayvec", + "async-channel", + "bitflags 2.13.1", + "bytemuck", + "cfg-if", + "cow-utils", + "dashmap", + "dynify", + "either", + "fast-float2", + "float16", + "futures-concurrency", + "futures-lite", + "hashbrown 0.17.1", + "icu_calendar", + "icu_normalizer", + "indexmap 2.14.0", + "intrusive-collections", + "itertools 0.15.0", + "num-bigint", + "num-integer", + "num-traits", + "num_enum", + "oneshot", + "pastey", + "portable-atomic", + "ps-boa-ast", + "ps-boa-gc", + "ps-boa-interner", + "ps-boa-macros", + "ps-boa-parser", + "ps-boa-string", + "rand 0.10.2", + "regress", + "rustc-hash 2.1.3", + "ryu-js", + "serde", + "serde_json", + "small_btree", + "static_assertions", + "tag_ptr", + "tap", + "temporal_rs", + "thin-vec", + "thiserror 2.0.20", + "time", + "timezone_provider", + "xsum", +] + +[[package]] +name = "ps-boa-gc" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3edc6420a0e4d3291239b9245cedaa98c0e64061d56def25310669ffd0420cd9" +dependencies = [ + "arrayvec", + "either", + "hashbrown 0.17.1", + "ps-boa-macros", + "ps-boa-string", + "thin-vec", +] + +[[package]] +name = "ps-boa-interner" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7592c28751f6c1f4baaf86c929755f5572323fc13c5ff66bccc9d02d7b256a48" +dependencies = [ + "hashbrown 0.17.1", + "indexmap 2.14.0", + "once_cell", + "phf", + "ps-boa-gc", + "ps-boa-macros", + "rustc-hash 2.1.3", + "static_assertions", +] + +[[package]] +name = "ps-boa-macros" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291bead1f7cf7da4c8075223c59b7a3a704e21080d2bcd59f4bf64dcfb160271" +dependencies = [ + "cfg-if", + "cow-utils", + "proc-macro2", + "quote", + "syn 2.0.119", + "synstructure", +] + +[[package]] +name = "ps-boa-parser" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e088d99f155ea5c0e174dae08ea7b267b836a1ef4eb45ee6b35886e006dfb26" +dependencies = [ + "bitflags 2.13.1", + "fast-float2", + "icu_properties", + "num-bigint", + "num-traits", + "ps-boa-ast", + "ps-boa-interner", + "ps-boa-macros", + "regress", + "rustc-hash 2.1.3", +] + +[[package]] +name = "ps-boa-runtime" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34f30373d8a260680d02ab3dd1b49be8e4b1701bab4b8c778dfd72efb1c9029" +dependencies = [ + "base64 0.22.1", + "bytemuck", + "comfy-table", + "either", + "futures", + "futures-lite", + "http", + "ps-boa-engine", + "ps-boa-gc", + "rustc-hash 2.1.3", + "serde_json", + "url", +] + +[[package]] +name = "ps-boa-string" +version = "1.0.0-dev" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233851129c85083e0a66d9d216cf54e9ffefa9fb0623d9adf6c72380bbce80d5" +dependencies = [ + "fast-float2", + "itoa", + "pastey", + "rustc-hash 2.1.3", + "ryu-js", + "static_assertions", +] + +[[package]] +name = "ps-debug-timer" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2387c1a4325992b45f525d6e940321efef1589962806eef948ad5660388d33d" + +[[package]] +name = "ps-dioxus-native" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7f282bf9c9820c51a79f0515aa3f752ec5194cd4a17636cee2ee3b7dee15c1" dependencies = [ - "base64 0.22.1", - "blitz-html", - "blitz-paint", - "boa_engine", - "boa_gc", - "boa_runtime", - "data-url", - "getrandom 0.4.3", - "image", + "android-activity", + "cfg-if", + "dioxus-asset-resolver", + "dioxus-cli-config", + "dioxus-core", + "dioxus-core-macro", + "dioxus-document", + "dioxus-history", + "dioxus-hooks", + "dioxus-html", + "dioxus-signals", + "dioxus-stores", + "futures-util", "keyboard-types 0.7.0", - "markup5ever 0.39.0", + "manganis", + "peniko", "ps-anyrender", + "ps-anyrender-vello", "ps-anyrender-vello-cpu", - "ps-blitz-debug-control", + "ps-anyrender-vello-hybrid", "ps-blitz-dom", + "ps-blitz-net", + "ps-blitz-paint", + "ps-blitz-shell", "ps-blitz-traits", + "ps-dioxus-native-dom", "rustc-hash 2.1.3", - "serde_json", - "url", - "web-time", + "slotmap", + "tokio", + "webbrowser", + "wgpu_context", + "winit", ] [[package]] -name = "ps-blitz-shell" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" +name = "ps-dioxus-native-dom" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f97e6867ed11666ea134a9d844cc21ef0e2087e54f9bb6bfec3e4def0ab54996" dependencies = [ - "accesskit", - "accesskit_xplat", - "android-activity", - "arboard", - "atomic_refcell", - "blitz-paint", + "dioxus-core", + "dioxus-html", "futures-util", "keyboard-types 0.7.0", - "ps-anyrender", "ps-blitz-dom", - "ps-blitz-script", "ps-blitz-traits", - "wasm-bindgen", - "web-sys", - "web-time", - "winit", + "rustc-hash 2.1.3", ] [[package]] -name = "ps-blitz-traits" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" +name = "ps-glifo" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a51d7005df0becdb12516b0190fa8ceedce4ab862f8f9bc85e31038edd1877e1" dependencies = [ - "atomic_refcell", - "bitflags 2.13.1", - "bytes", - "cursor-icon", - "http", - "keyboard-types 0.7.0", - "serde", - "smol_str", - "url", + "bytemuck", + "foldhash 0.2.0", + "hashbrown 0.17.1", + "log", + "peniko", + "ps-vello-common", + "skrifa 0.44.0", + "smallvec", +] + +[[package]] +name = "ps-stylo-taffy" +version = "0.3.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "195da035081c62b72c2ff8da00edeb785186a438d04c8724b63ba2dd20857eee" +dependencies = [ + "ps-taffy", + "stylo", + "stylo_atoms", ] [[package]] name = "ps-taffy" version = "0.13.0" -source = "git+https://github.com/pathscale/ps-taffy.git?rev=4f86730bab59a1b1910fb5adb29a5dec6415d5f7#4f86730bab59a1b1910fb5adb29a5dec6415d5f7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdfbfb9089d7ce4f31237072cac4f7cd295dc23342a3a2886d566b50f0d1108d" dependencies = [ "arrayvec", "serde", @@ -5402,10 +5457,113 @@ dependencies = [ "smallvec", ] +[[package]] +name = "ps-usvg" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa6416d61344c2d54bf38e4bb4374c3e1c3835e9e3c7bc900a96eb788ce8c56" +dependencies = [ + "base64 0.23.1", + "data-url", + "flate2", + "fontdb", + "harfrust 0.12.0", + "imagesize", + "kurbo", + "log", + "pico-args", + "roxmltree 0.21.1", + "simplecss", + "siphasher", + "skrifa 0.44.0", + "strict-num", + "svgtypes", + "tiny-skia-path", + "unicode-bidi", + "unicode-script", + "unicode-vo", + "xmlwriter", +] + +[[package]] +name = "ps-vello" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98671b72f0cf65f7429fdc83175d661181b1f11f3b319e59ce5c8c1c71db09a" +dependencies = [ + "bytemuck", + "futures-intrusive", + "log", + "peniko", + "png 0.18.1", + "ps-vello-encoding", + "ps-vello-shaders", + "skrifa 0.44.0", + "static_assertions", + "thiserror 2.0.20", + "wgpu", +] + +[[package]] +name = "ps-vello-common" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29f5a5b9d29161c7815857f93ea71258705d272f6667bfc8b864eabd7eda2ca" +dependencies = [ + "bytemuck", + "fearless_simd", + "guillotiere", + "log", + "peniko", + "png 0.18.1", + "smallvec", + "thiserror 2.0.20", +] + +[[package]] +name = "ps-vello-cpu" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3bcd3285fb3fd178f859fd8ee4bfafaa17f3e575435e3e9fb4354b951c437d1" +dependencies = [ + "bytemuck", + "hashbrown 0.17.1", + "ps-glifo", + "ps-vello-common", +] + +[[package]] +name = "ps-vello-encoding" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01fd171542e9a1272a3e33198a6ce3cf0efece1e5d6db14d6747eae3b7866b98" +dependencies = [ + "bytemuck", + "guillotiere", + "log", + "peniko", + "skrifa 0.44.0", + "smallvec", +] + +[[package]] +name = "ps-vello-shaders" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6c37f4dae69719d5aa5b13066acca0514b2d1956c6372ce4209ec5175359a3d" +dependencies = [ + "bytemuck", + "log", + "naga", + "ps-vello-encoding", + "thiserror 2.0.20", +] + [[package]] name = "ps-wgpu-context" version = "0.8.0" -source = "git+https://github.com/pathscale/ps-anyrender.git?rev=f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef#f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089c166b3c856d7c1d542725a09b392d1ff9609cf1998ee1c07154825cfe79c" dependencies = [ "futures-intrusive", "wgpu", @@ -6416,7 +6574,8 @@ dependencies = [ [[package]] name = "small_btree" version = "0.1.0" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ba60d2df92ba73864714808ca68c059734853e6ab722b40e1cf543ebb3a057a" dependencies = [ "arrayvec", ] @@ -6738,16 +6897,6 @@ dependencies = [ "toml 1.1.4+spec-1.1.0", ] -[[package]] -name = "stylo_taffy" -version = "0.3.0-beta.3" -source = "git+https://github.com/pathscale/ps-blitz.git?rev=a81bea599c2f67a9a1568e0f8911435c59af8874#a81bea599c2f67a9a1568e0f8911435c59af8874" -dependencies = [ - "ps-taffy", - "stylo", - "stylo_atoms", -] - [[package]] name = "stylo_traits" version = "0.20.0" @@ -6899,7 +7048,8 @@ dependencies = [ [[package]] name = "tag_ptr" version = "0.1.0" -source = "git+https://github.com/boa-dev/boa.git?rev=8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d#8a1e8fe07f626f7a067afc2c9885d5d87de4bb5d" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0e973b34477b7823833469eb0f5a3a60370fef7a453e02d751b59180d0a5a05" [[package]] name = "tap" @@ -7049,12 +7199,15 @@ dependencies = [ [[package]] name = "tauri-runtime-blitz" version = "0.1.0" -source = "git+https://github.com/pathscale/tauri-runtime-blitz.git?rev=070ab3a2fd460d7c9b2f3f341e7d6c50af669682#070ab3a2fd460d7c9b2f3f341e7d6c50af669682" +source = "git+https://github.com/pathscale/tauri-runtime-blitz.git?rev=330cbb0963f93f5be85771cabad7fa73117535ab#330cbb0963f93f5be85771cabad7fa73117535ab" dependencies = [ "blitz-control-protocol", - "endpoint-libs 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "endpoint-libs", "http", "keyboard-types 0.7.0", + "objc2 0.6.4", + "objc2-app-kit 0.3.2", + "objc2-foundation 0.3.2", "peniko", "ps-anyrender", "ps-anyrender-vello", @@ -7065,6 +7218,7 @@ dependencies = [ "raw-window-handle", "serde", "serde_json", + "stylo", "tauri", "tauri-runtime", "tauri-utils", @@ -7784,33 +7938,6 @@ dependencies = [ "url", ] -[[package]] -name = "usvg" -version = "0.48.1" -source = "git+https://github.com/DioxusLabs/resvg?branch=devin%2F1785858271-intrinsic-dimensions#3289a9b0c3d3352692bf5acdf5f6e6949cdb57b5" -dependencies = [ - "base64 0.23.1", - "data-url", - "flate2", - "fontdb", - "harfrust 0.12.0", - "imagesize", - "kurbo", - "log", - "pico-args", - "roxmltree 0.21.1", - "simplecss", - "siphasher", - "skrifa 0.44.0", - "strict-num", - "svgtypes", - "tiny-skia-path", - "unicode-bidi", - "unicode-script", - "unicode-vo", - "xmlwriter", -] - [[package]] name = "utf16_iter" version = "1.0.5" @@ -7852,25 +7979,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vello" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261359dbef879f8110ef7e1c442246c838d33d3d91cb05e0ea9288d432760c9f" -dependencies = [ - "bytemuck", - "futures-intrusive", - "log", - "peniko", - "png 0.18.1", - "skrifa 0.42.1", - "static_assertions", - "thiserror 2.0.20", - "vello_encoding", - "vello_shaders", - "wgpu", -] - [[package]] name = "vello_common" version = "0.0.9" @@ -7888,31 +7996,6 @@ dependencies = [ "thiserror 2.0.20", ] -[[package]] -name = "vello_cpu" -version = "0.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588691169aed86b5c8fb487266afee01323234e6fd0a3f2aaec0eaa8e4007f23" -dependencies = [ - "bytemuck", - "glifo", - "hashbrown 0.17.1", - "vello_common", -] - -[[package]] -name = "vello_encoding" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2346f5f0d7dccb3582fcd397b4a57b43165209f1424e0d76e85dd814db164af7" -dependencies = [ - "bytemuck", - "guillotiere", - "peniko", - "skrifa 0.42.1", - "smallvec", -] - [[package]] name = "vello_hybrid" version = "0.0.9" @@ -7929,19 +8012,6 @@ dependencies = [ "wgpu", ] -[[package]] -name = "vello_shaders" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd38937516fa4b47423d9255bb5e4a65e839ec9d57c38c4af6189ce56bf46b7" -dependencies = [ - "bytemuck", - "log", - "naga", - "thiserror 2.0.20", - "vello_encoding", -] - [[package]] name = "vello_sparse_shaders" version = "0.0.9" diff --git a/Cargo.toml b/Cargo.toml index 4cdaf98..2b721f6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["apps/chuzz", "crates/chuzz-control"] resolver = "3" [workspace.package] -version = "0.1.33" +version = "0.1.34" edition = "2024" rust-version = "1.91" license = "MIT OR Apache-2.0" @@ -12,51 +12,59 @@ repository = "https://github.com/pathscale/chuzz" homepage = "https://github.com/pathscale/chuzz" [workspace.dependencies] -# The engine, by revision rather than by path. +# The engine, by version. # -# These were `path = "../ps-blitz/..."`, which made the sibling checkout on each -# machine the real dependency and left the revision CI used declared separately, -# in a `BLITZ_REF` env var in release.yml. Two sources of truth that nothing -# reconciled: the pin sat 44 commits behind while local builds moved on, and the -# release job broke the moment a new engine package was added, because a path -# dependency resolves against whatever is on disk and no local build can notice. +# These were `path = "../ps-blitz/..."`, then revisions. The path form made the +# sibling checkout on each machine the real dependency and left the revision CI +# used declared separately in a `BLITZ_REF` env var, two sources of truth that +# nothing reconciled: the pin sat 44 commits behind while local builds moved on. +# A revision fixed that and introduced its own tax, because a git dependency is +# not a version: every engine release meant editing eight lines here and a +# matching set in `tauri-runtime-blitz`, and the day those disagreed cargo put +# two engines in the graph and reported it as # -# A rev here is the single declaration. `Cargo.lock` records it, CI needs no -# clone step, and an ordinary `cargo build` fetches exactly what a release does. -# To build against a working checkout, see `scripts/local-engine.sh`; it is -# opt-in precisely so that the default exercises these pins. +# expected `blitz_script::document::ScriptDocument`, found `ScriptDocument` # -# `tauri-runtime-blitz` pins this same revision, which is what keeps one engine -# in the graph. Move the two together, or `PaintScene` becomes two unrelated -# traits and the errors read as a broken engine rather than as two of them. -blitz-dom = { package = "ps-blitz-dom", git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } -blitz-html = { git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } -blitz-net = { git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } -blitz-script = { package = "ps-blitz-script", git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } -blitz-traits = { package = "ps-blitz-traits", git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } +# with both types pointing at the same file. +# +# A caret is what was meant all along. `cargo update` moves it, `Cargo.lock` +# records what was resolved, and anything else asking for the same range gets +# the same crate rather than a second copy. To build against a working checkout, +# see `scripts/local-engine.sh`; it is opt-in so the default exercises what a +# release actually resolves. +blitz-dom = { package = "ps-blitz-dom", version = "^0.3.0-beta.6" } +blitz-html = { package = "ps-blitz-html", version = "^0.3.0-beta.6" } +blitz-net = { package = "ps-blitz-net", version = "^0.3.0-beta.6" } +blitz-script = { package = "ps-blitz-script", version = "^0.3.0-beta.6" } +blitz-traits = { package = "ps-blitz-traits", version = "^0.3.0-beta.6" } # The wasmi host binding over blitz-dom-api, so a WebAssembly guest can build a # document with no JavaScript and no URL in the path. -blitz-wasm = { git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } -dioxus-native = { git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874", default-features = false } +blitz-wasm = { package = "ps-blitz-wasm", version = "^0.3.0-beta.6" } +dioxus-native = { package = "ps-dioxus-native", version = "^0.7.2", default-features = false } # The MCP framing the control server speaks, same source and feature as # tauri-runtime-blitz uses for its agent-control surface. -endpoint-libs = { git = "https://github.com/pathscale/endpoint-libs.git", rev = "7eff4d850f1c84c1104c0729c68f50711940b7fb", default-features = false, features = ["agent-control"] } +endpoint-libs = { version = "^2.1.5", default-features = false, features = ["agent-control"] } brotli = { version = "8", default-features = false, features = ["std"] } -image = { version = "=0.25.6", default-features = false } +image = { version = "^0.25.6", default-features = false } # Headless capture: renders a page to a buffer with the CPU rasteriser, so the # result can be inspected without a window. +# # Must be the same anyrender blitz-paint links against, or PaintScene is two -# unrelated traits and the painter cannot be passed to paint_scene. blitz-paint -# takes it from whatever `ps-blitz/Cargo.toml` pins at the revision above, so -# this rev has to be kept equal to that one by hand. It rotted once: ps-blitz -# moved to acb9714 and this stayed on 0e4122b, which broke every `--capture` +# unrelated traits and the painter cannot be passed to paint_scene. That used to +# mean keeping a revision here equal by hand to the one in +# `ps-blitz/Cargo.toml`, and it rotted exactly as you would expect: ps-blitz +# moved to acb9714 while this stayed on 0e4122b, breaking every `--capture` # build with # # error[E0277]: the trait bound `VelloCpuScenePainter: PaintScene` is not satisfied # note: there are multiple different versions of crate `ps_anyrender_vello_cpu` # # reading as a broken painter when it was really two of them. -anyrender = { package = "ps-anyrender", git = "https://github.com/pathscale/ps-anyrender.git", rev = "f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef" } +# +# Both sides take it by version now, so cargo unifies them instead of two people +# remembering to. A caret is also what ps-blitz declares, so the ranges agree by +# construction rather than by coincidence. +anyrender = { package = "ps-anyrender", version = "^0.13.0" } # `filters` is off by default in the backend, and with it off `push_layer` # discards both the element's `filter:` and its `backdrop-filter:`. # @@ -67,8 +75,8 @@ anyrender = { package = "ps-anyrender", git = "https://github.com/pathscale/ps-a # every backdrop inside a layer, which is every backdrop on a real page; the # revision below closes the stack, snapshots, and reopens it, so glass renders # in the CPU paths as well as on the GPU. -anyrender_vello_cpu = { package = "ps-anyrender-vello-cpu", git = "https://github.com/pathscale/ps-anyrender.git", rev = "f1c53ba12aa8a8691ba5a04976c0cab4bffb76ef", features = ["filters"] } -blitz-paint = { git = "https://github.com/pathscale/ps-blitz.git", rev = "a81bea599c2f67a9a1568e0f8911435c59af8874" } +anyrender_vello_cpu = { package = "ps-anyrender-vello-cpu", version = "^0.17.0", features = ["filters"] } +blitz-paint = { package = "ps-blitz-paint", version = "^0.3.0-beta.6" } png = "=0.18.1" # Naming `wasmi::Linker` is unavoidable: `blitz_wasm::add_to_linker` takes one, # and blitz-wasm does not re-export the runtime. This must stay on the same @@ -81,7 +89,7 @@ serde = { version = "1", features = ["derive"] } serde_json = "1" tokio = "1" url = "2.5" -tauri = { version = "=2.11.5", default-features = false } +tauri = { version = "^2.11.5", default-features = false } # `diagnostics`, always, rather than behind a cargo feature. # # It is two runtime planes, and neither costs anything until it is switched on @@ -98,7 +106,7 @@ tauri = { version = "=2.11.5", default-features = false } # explaining. A window that would not paint could not be photographed by the # one thing that could photograph it, because the capability had been optimised # out of the binary that needed it. -tauri-runtime-blitz = { git = "https://github.com/pathscale/tauri-runtime-blitz.git", rev = "070ab3a2fd460d7c9b2f3f341e7d6c50af669682", features = ["diagnostics"] } +tauri-runtime-blitz = { git = "https://github.com/pathscale/tauri-runtime-blitz.git", rev = "330cbb0963f93f5be85771cabad7fa73117535ab", features = ["diagnostics"] } [profile.release] lto = "thin" @@ -113,10 +121,12 @@ codegen-units = 1 debug = "line-tables-only" strip = "none" -# `[patch]` only applies from the top-level workspace, so ps-blitz's own patch -# section is ignored when chuzz is the root. Its blitz-dom calls -# `usvg::Tree::intrinsic_dimensions`, which exists only on this branch, so -# without this the engine does not compile here even though it compiles there. -# Keep this in step with `ps-blitz/Cargo.toml`'s `[patch.crates-io]`. -[patch.crates-io] -usvg = { git = "https://github.com/DioxusLabs/resvg", branch = "devin/1785858271-intrinsic-dimensions" } +# No patch table. There was one: `[patch]` only applies from the top-level +# workspace, so ps-blitz's own was ignored when chuzz is the root, and its +# blitz-dom needs a `usvg` carrying `Tree::intrinsic_dimensions` and +# `pub use svgtypes` that no published linebender usvg has. That had to be +# copied here and kept in step by hand. +# +# The fork is published as `ps-usvg` now and ps-blitz depends on it by version, +# so the requirement travels with the dependency instead of being restated by +# every consumer. diff --git a/apps/chuzz/frontend/bun.lock b/apps/chuzz/frontend/bun.lock index 497c733..c72e9bd 100644 --- a/apps/chuzz/frontend/bun.lock +++ b/apps/chuzz/frontend/bun.lock @@ -7,12 +7,13 @@ "dependencies": { "@chuzz/ui": "workspace:*", "@iconify/tailwind4": "^1.0.6", - "@pathscale/ui": "^2.5.0", + "@pathscale/ui": "2.7.4", + "@solidjs/web": "2.0.0-rc.0", "@tauri-apps/api": "^2.1.1", "clsx": "^2.1.1", "popmotion": "^11.0.5", - "solid-js": "^1.9.5", - "solid-layouts": "^0.1.3", + "solid-js": "2.0.0-rc.0", + "solid-layouts": "^0.2.1", "tailwind-merge": "^3.6.0", }, "devDependencies": { @@ -20,17 +21,18 @@ "@rsbuild/core": "^1.3.20", "@rsbuild/plugin-babel": "^1.0.5", "@rsbuild/plugin-solid": "^1.0.5", - "@solidjs/testing-library": "^0.8.10", + "@solidjs/testing-library": "1.0.0-beta.2", "@tailwindcss/postcss": "^4.1.7", "@testing-library/jest-dom": "^7.0.0", "@types/node": "^22.15.17", + "babel-preset-solid": "2.0.0-rc.0", "fork-ts-checker-webpack-plugin": "^9.1.0", "jsdom": "^30.0.0", - "rsbuild-plugin-solid-layouts": "^0.1.3", - "solid-layouts-oxc": "0.1.6", + "rsbuild-plugin-solid-layouts": "^0.2.1", + "solid-layouts-oxc": "0.2.1", "tailwindcss": "^4.0.7", "typescript": "^5.7.2", - "vite-plugin-solid": "^2.11.14", + "vite-plugin-solid": "3.0.0-next.27", "vitest": "^4.1.10", }, }, @@ -44,11 +46,16 @@ }, }, }, + "overrides": { + "babel-preset-solid": "2.0.0-rc.0", + }, "packages": { "@adobe/css-tools": ["@adobe/css-tools@4.5.0", "", {}, "sha512-6OzddxPio9UiWTCemp4N8cYLV2ZN1ncRnV1cVGtve7dhPOtRkleRyx32GQCYSwDYgaHU3USMm84tNsvKzRCa1Q=="], "@alloc/quick-lru": ["@alloc/quick-lru@5.2.0", "", {}, "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw=="], + "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="], + "@antfu/install-pkg": ["@antfu/install-pkg@1.1.0", "", { "dependencies": { "package-manager-detector": "^1.3.0", "tinyexec": "^1.0.1" } }, "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ=="], "@asamuzakjp/css-color": ["@asamuzakjp/css-color@6.0.7", "", { "dependencies": { "@csstools/css-calc": "^3.3.0", "@csstools/css-color-parser": "^4.1.10", "@csstools/css-parser-algorithms": "^4.0.0", "@csstools/css-tokenizer": "^4.0.0", "lru-cache": "^11.5.2" } }, "sha512-vC/bk1Lz7Tn/EfU9/apOTBk80/8dyGyWMowPoV1tJ52muDGsDqt2HPT2klrFUiY60MQmQv9q8yIht15JnBgDGw=="], @@ -157,11 +164,27 @@ "@cyberalien/svg-utils": ["@cyberalien/svg-utils@1.2.19", "", { "dependencies": { "@iconify/types": "^2.0.0" } }, "sha512-paDJoDu+LhuH5Ma1q0BDqBpg6d16Xk22cZZrlg/s/J9oB8KgnnpU/snaEETJu2G1pwYcWQINUz6WUqu0Wm9k6A=="], - "@emnapi/core": ["@emnapi/core@1.11.3", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.3", "tslib": "^2.4.0" } }, "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg=="], + "@dom-expressions/babel-plugin-jsx": ["@dom-expressions/babel-plugin-jsx@0.50.0-next.42", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2", "validate-html-nesting": "^1.2.1" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-ol24x9RW8loPyOTzC/mQzh/zAsrsPxyTG4WRxxRlwzNK2uBWIBftWN5IwmSV51zDQa7JcT6sE6kkXFCLUvsYIQ=="], + + "@dom-expressions/compiler": ["@dom-expressions/compiler@0.50.0-next.43", "", { "optionalDependencies": { "@dom-expressions/compiler-darwin-arm64": "0.50.0-next.43", "@dom-expressions/compiler-darwin-x64": "0.50.0-next.43", "@dom-expressions/compiler-linux-arm64-gnu": "0.50.0-next.43", "@dom-expressions/compiler-linux-x64-gnu": "0.50.0-next.43", "@dom-expressions/compiler-wasm32-wasi": "0.50.0-next.43", "@dom-expressions/compiler-win32-x64-msvc": "0.50.0-next.43" } }, "sha512-ekEuAFLb868iGu6bw8KA2wgD3gYJpYYTjSbOtuXGlCZnWFA6Wx8Qf720ZYNlb40QjGe3/2kUHTtn47JfaCwPcA=="], + + "@dom-expressions/compiler-darwin-arm64": ["@dom-expressions/compiler-darwin-arm64@0.50.0-next.43", "", { "os": "darwin", "cpu": "arm64" }, "sha512-aVkvvRtEyHPbtZMZe4DHhFzPzQ4qHO9uGXyPDiddBXfjZgkCqejpcJ18t0emJIpIPpproHFdr+9VyLOKs9ENNw=="], + + "@dom-expressions/compiler-darwin-x64": ["@dom-expressions/compiler-darwin-x64@0.50.0-next.43", "", { "os": "darwin", "cpu": "x64" }, "sha512-zJXhjsSydgZbu0pCfD5/FH5UYH7t6Vy8dKD9AVTokE3LFQgLIVrssX2WwN60jh5+OW9okbJBGZXiZ4/2sqb9OA=="], + + "@dom-expressions/compiler-linux-arm64-gnu": ["@dom-expressions/compiler-linux-arm64-gnu@0.50.0-next.43", "", { "os": "linux", "cpu": "arm64" }, "sha512-ZEjWL59aAj39C7TANYvtzW5rmeH/kfzZIWoZ3Wf/MSiXm8Ermadx76hX0yMMqLdxy0ec69lRYF4gXC7X2k6LMw=="], + + "@dom-expressions/compiler-linux-x64-gnu": ["@dom-expressions/compiler-linux-x64-gnu@0.50.0-next.43", "", { "os": "linux", "cpu": "x64" }, "sha512-ur/VTzMqAkJq45GHSGlk4uq0I/92Zow5mPcovh+Lg2bnyNrPXMNM9kXrIqio2jUgSyRT4y2QbeI9Us30IeZI6g=="], + + "@dom-expressions/compiler-wasm32-wasi": ["@dom-expressions/compiler-wasm32-wasi@0.50.0-next.43", "", { "dependencies": { "@emnapi/core": "1.11.2", "@emnapi/runtime": "1.11.2", "@napi-rs/wasm-runtime": "^1.1.6" } }, "sha512-X+0Rz1fm7Z1S3ONFwg+NJ8edf2MWUrxOrP50hM2x4PkIe2ST0WzqHbkH4yIXjqttF0R1NErh+ac3q4WGF4wWBg=="], + + "@dom-expressions/compiler-win32-x64-msvc": ["@dom-expressions/compiler-win32-x64-msvc@0.50.0-next.43", "", { "os": "win32", "cpu": "x64" }, "sha512-hQlqtiYVst4rNKAWtC9cwfuP95L8Dw+PR5Zwp6AA92vsMgQlJ7+QaJoQAxuKkEUtl212VnW06SJKzx00pSkv8g=="], - "@emnapi/runtime": ["@emnapi/runtime@1.11.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA=="], + "@emnapi/core": ["@emnapi/core@1.11.2", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" } }, "sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA=="], - "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g=="], + "@emnapi/runtime": ["@emnapi/runtime@1.11.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA=="], + + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], "@exodus/bytes": ["@exodus/bytes@1.15.1", "", { "peerDependencies": { "@noble/hashes": "^1.8.0 || ^2.0.0" }, "optionalPeers": ["@noble/hashes"] }, "sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q=="], @@ -201,7 +224,7 @@ "@oxc-project/types": ["@oxc-project/types@0.143.0", "", {}, "sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA=="], - "@pathscale/ui": ["@pathscale/ui@2.5.0", "", { "dependencies": { "@tanstack/solid-virtual": "^3.13.27", "clsx": "^2.1.1", "tailwind-merge": "^3.6.0" }, "peerDependencies": { "@solid-primitives/event-listener": "^2.3.0", "@solid-primitives/intersection-observer": "^2.1.3", "@solid-primitives/keyboard": "^1.2.5", "@solid-primitives/media": "^2.2.5", "@solid-primitives/props": "^3.1.8", "@solid-primitives/resize-observer": "^2.0.22", "@solid-primitives/scheduled": "^1.4.1", "@solid-primitives/scroll": "^2.0.20", "@solid-primitives/storage": "^2.1.1", "@solid-primitives/utils": "^6.2.1", "@standard-schema/spec": "^1.0.0", "@tanstack/solid-form": "^1.29.0", "@tanstack/solid-table": "^8.0.0", "popmotion": "^11.0.5", "solid-js": "^1.9", "solid-layouts": "^0.1.3" }, "optionalPeers": ["@standard-schema/spec", "popmotion"] }, "sha512-CjtKk9nFZRlKjQ15W6F+6aUm77Te5XN5JnxAsNIgSTPL7Owk/NiMl4sEc2msxflzv5wCTOdeJIXvJqph0BfbIg=="], + "@pathscale/ui": ["@pathscale/ui@2.7.4", "", { "dependencies": { "@solidjs/web": "2.0.0-rc.0", "clsx": "^2.1.1", "tailwind-merge": "^3.6.0" }, "peerDependencies": { "@standard-schema/spec": "^1.0.0", "popmotion": "^11.0.5", "solid-js": ">=2.0.0-rc.0", "solid-layouts": "^0.2.0" }, "optionalPeers": ["@standard-schema/spec", "popmotion"] }, "sha512-aPKnbtFEi3tDqYUEv4Vp+nlOPryH/51geJfY8o09ybSrFzC7dqMCl3vR4HaSDCwH+fLjihZZCLQwv8SYpvTkow=="], "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.2.3", "", { "os": "android", "cpu": "arm64" }, "sha512-zrJtHDcaZJ1Fp7xf4hNl+7seH9Cn/N5TwLYkhgXREtBwAd/jaqW3uqeHxpDugJLVICWg4eW44kOQEGJ1r6jCGw=="], @@ -265,31 +288,13 @@ "@rspack/lite-tapable": ["@rspack/lite-tapable@1.1.5", "", {}, "sha512-uzB782zJbFTM3ta+e2Glikx36dca/6Y+DXyvFN+wb0Tx5ItIW+g03A0t3amP3LGzPHSkb0k81VHCm4jxLQwfag=="], - "@solid-primitives/event-listener": ["@solid-primitives/event-listener@2.4.6", "", { "dependencies": { "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-5I0YJcTVYIWoMmgBSROBZGcz+ymhew/pGTg2dHW74BUjFKsV8Li4bOZYl0YAGP4mHw5o4UBd9/BEesqBci3wxw=="], - - "@solid-primitives/intersection-observer": ["@solid-primitives/intersection-observer@2.2.5", "", { "dependencies": { "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-mhlQETWaS4jjVBBmfFUsUSih5eSqVdYD7bDAjwmhxEAy1bydKTiaCn8g3ARQB1jM/92qyxTcOvTCpPoMIOkaPA=="], - - "@solid-primitives/keyboard": ["@solid-primitives/keyboard@1.3.7", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.6", "@solid-primitives/rootless": "^1.5.4", "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-558RPNYnXx4nGh537DSqAn4xMrC8iFipl/5+xzgzWoTNFst4RnUN3BOLmtDjJ0UGGoQXVMALYR3bNOHM0xnt1Q=="], - - "@solid-primitives/media": ["@solid-primitives/media@2.3.6", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.6", "@solid-primitives/rootless": "^1.5.4", "@solid-primitives/static-store": "^0.1.4", "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-pk49gPOq/UMRUJ+pTSrOfBiR8xJjRYHXIf1iR/jSnyQ/KroU+ZXhkZzavC7hvfp2vJeOTW5k2/HN0r3Q1VJ7Pw=="], - - "@solid-primitives/props": ["@solid-primitives/props@3.2.4", "", { "dependencies": { "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-MXXdvi2TSB6d+0N6ueA/HP1j/Kh9SEc4WdF1ZDMLwPagxW6pIHHSS9xbRO0RjqSVpNP4j0nxCWT1hx3CkJNhNA=="], - - "@solid-primitives/resize-observer": ["@solid-primitives/resize-observer@2.2.0", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.6", "@solid-primitives/rootless": "^1.5.4", "@solid-primitives/static-store": "^0.1.4", "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-9Fuu/EWBeGj+atGHRJp70HKhdfalmpjwxY8a32NZixdLNmfCJ45AfhLQNr6uOzETbbiMx4iCKlTrJ8KZCHC2Ww=="], + "@solidjs/signals": ["@solidjs/signals@2.0.0-rc.0", "", {}, "sha512-oKZSfvsCcKw1uJjOGbUkJ+OqlhXLHtZ+rShSyu9KH0lUH7UUwfMfsKeh81JPiQxDDg4YLhEwI38hg0JkwzTdvA=="], - "@solid-primitives/rootless": ["@solid-primitives/rootless@1.5.4", "", { "dependencies": { "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-TOIZa1VUfVJ+9nkCcRajw3U4t9vBOP1HxX1WHNTbXq32mXwlqTvUnC4CRIilohcryBkT9u2ZkhUDSHRTaGp55g=="], + "@solidjs/testing-library": ["@solidjs/testing-library@1.0.0-beta.2", "", { "dependencies": { "@testing-library/dom": "^10.4.1" }, "peerDependencies": { "@solidjs/web": ">=2.0.0", "solid-js": ">=2.0.0" } }, "sha512-TLhQ5IUT/fdDfqa4X2rkQWB28Y+zEwi6mK/TVTeiQlEHG63eK2jfgwNYf2NtQoPh2c3ihLilsCzxABiSTP3JoQ=="], - "@solid-primitives/scheduled": ["@solid-primitives/scheduled@1.5.3", "", { "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-oNwLE6E6lxJAWrc8QXuwM0k2oU1BnANnkChwMw82aK1j3+mWGJkG1IFe5gCwbV+afYmjI76t9JJV3md/8tLw+g=="], + "@solidjs/vite-plugin": ["@solidjs/vite-plugin@3.0.0-next.31", "", { "dependencies": { "@ampproject/remapping": "^2.3.0", "@babel/core": "^7.23.3", "@dom-expressions/compiler": "^0.50.0-next.43", "@types/babel__core": "^7.20.4", "babel-preset-solid": "^2.0.0-rc.0", "merge-anything": "^5.1.7", "vitefu": "^1.0.4" }, "peerDependencies": { "@solidjs/start-devtools": "^1.0.0-next.0", "@solidjs/web": "^2.0.0-rc.0", "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", "solid-js": "^2.0.0-rc.0", "vite": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" }, "optionalPeers": ["@solidjs/start-devtools", "@testing-library/jest-dom"] }, "sha512-iS9zz4MdzQwZyXGtEYKxFu9fHjX6fs0CWWQTQZ54xaaPKPOcv1sXJtxZ+th7EsmGlmeUNP0jBYoB9qxkd47tiQ=="], - "@solid-primitives/scroll": ["@solid-primitives/scroll@2.1.6", "", { "dependencies": { "@solid-primitives/event-listener": "^2.4.6", "@solid-primitives/rootless": "^1.5.4", "@solid-primitives/static-store": "^0.1.4" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-0qXgveGKtmwLee4SxkEZhTxgGVu8p7Utpe1f1Y4zSKaJoIsIc+PqPFMMy3HjIvjfVOGeAtuVwHn+kxMkF+5VEg=="], - - "@solid-primitives/static-store": ["@solid-primitives/static-store@0.1.4", "", { "dependencies": { "@solid-primitives/utils": "^6.4.1" }, "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-LgtVaVBtB7EbmS4+M0b8xY5Iq6pUWXBsIC4VgtrFKDGDdyCaDt88sHk0fUlx1Enxm/XZnZyLXJABRoa39RjJqA=="], - - "@solid-primitives/storage": ["@solid-primitives/storage@2.1.4", "", { "dependencies": { "@solid-primitives/utils": "^6.2.3" }, "peerDependencies": { "solid-js": "^1.6.12", "solid-start": ">=0.2.26" }, "optionalPeers": ["solid-start"] }, "sha512-ziGRMSPi2PDnY6L6YPGWYnzmUEPIwO0PaDT9N1WNW9P2tUMMhgqKLXBrYfjytpjwY3UM6kIrbONMRADjyGtzAw=="], - - "@solid-primitives/utils": ["@solid-primitives/utils@6.4.1", "", { "peerDependencies": { "solid-js": "^1.6.12" } }, "sha512-ISSB5QX1qP2ynrheIpYwc4oKR5Ny4siNuUyf1qZniy+Il+p/PtDB0QK1Dnle8noiHpwRD3gpPdubOC3qI/Zamg=="], - - "@solidjs/testing-library": ["@solidjs/testing-library@0.8.10", "", { "dependencies": { "@testing-library/dom": "^10.4.0" }, "peerDependencies": { "@solidjs/router": ">=0.9.0", "solid-js": ">=1.0.0" }, "optionalPeers": ["@solidjs/router"] }, "sha512-qdeuIerwyq7oQTIrrKvV0aL9aFeuwTd86VYD3afdq5HYEwoox1OBTJy4y8A3TFZr8oAR0nujYgCzY/8wgHGfeQ=="], + "@solidjs/web": ["@solidjs/web@2.0.0-rc.0", "", { "dependencies": { "seroval": "~1.5.4", "seroval-plugins": "~1.5.4" }, "peerDependencies": { "solid-js": "^2.0.0-rc.0" } }, "sha512-pYSaA9+dH8H1h/d/ZF/P2kR6omfzFGNcdzKhWTcg9fJghXhn8+5UrXUr2iYxDdYNOXZzxxFQhYHSJ7P4HKDqgw=="], "@standard-schema/spec": ["@standard-schema/spec@1.1.0", "", {}, "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w=="], @@ -355,26 +360,6 @@ "@tailwindcss/postcss": ["@tailwindcss/postcss@4.3.3", "", { "dependencies": { "@alloc/quick-lru": "^5.2.0", "@tailwindcss/node": "4.3.3", "@tailwindcss/oxide": "4.3.3", "postcss": "^8.5.16", "tailwindcss": "4.3.3" } }, "sha512-JTSZZGQi1AyKirbLN3azmjVzef92tcX7h+iSqPdaeStyFpGpDlKvvpxeOE8njhbUanbRwr3z8DyzhICWnMtQeg=="], - "@tanstack/devtools-event-client": ["@tanstack/devtools-event-client@0.4.4", "", { "bin": { "intent": "./bin/intent.js" } }, "sha512-6T5Yop/793YI+H+5J8Hsyj4kCih9sl4t3ElLgKioW5hk3ocn+ZdSJ94tT7vL7uabxSugWYBZlOTMPzEw2puvQw=="], - - "@tanstack/form-core": ["@tanstack/form-core@1.33.5", "", { "dependencies": { "@tanstack/devtools-event-client": "^0.4.1", "@tanstack/pacer-lite": "^0.1.1", "@tanstack/store": "^0.11.0" } }, "sha512-3dfx9MBP0aq5sXKteikG629X9oviptrQj0IFRk9YGcb+lB7Kv5x8S17oOSk1wUWgjQZ4xVJEMbKwOAODymocgA=="], - - "@tanstack/pacer-lite": ["@tanstack/pacer-lite@0.1.1", "", {}, "sha512-y/xtNPNt/YeyoVxE/JCx+T7yjEzpezmbb+toK8DDD1P4m7Kzs5YR956+7OKexG3f8aXgC3rLZl7b1V+yNUSy5w=="], - - "@tanstack/solid-form": ["@tanstack/solid-form@1.33.5", "", { "dependencies": { "@tanstack/form-core": "1.33.5", "@tanstack/solid-store": "^0.11.0" }, "peerDependencies": { "solid-js": ">=1.9.9" } }, "sha512-azYHYzNwop64bedJRKgjCpi5w9cHu7cNz+dAdSXzaqy9M6JO+GlKNQn54VFhCLYJo45sgNjcdrnz4eyTmgzJ/w=="], - - "@tanstack/solid-store": ["@tanstack/solid-store@0.11.1", "", { "dependencies": { "@tanstack/store": "0.11.1" }, "peerDependencies": { "solid-js": "^1.6.0" } }, "sha512-wzJsiqqLHyQacqbYPT8dKNfhR00NNu743vGeWz2lEpOyE/R+6AYIfFLhXsCIT/Kb+KKiT1KDkB2/35DhLEGx8g=="], - - "@tanstack/solid-table": ["@tanstack/solid-table@8.21.3", "", { "dependencies": { "@tanstack/table-core": "8.21.3" }, "peerDependencies": { "solid-js": ">=1.3" } }, "sha512-PmhfSLBxVKiFs01LtYOYrCRhCyTUjxmb4KlxRQiqcALtip8+DOJeeezQM4RSX/GUS0SMVHyH/dNboCpcO++k2A=="], - - "@tanstack/solid-virtual": ["@tanstack/solid-virtual@3.13.36", "", { "dependencies": { "@tanstack/virtual-core": "3.17.7" }, "peerDependencies": { "solid-js": "^1.3.0" } }, "sha512-9x4Eg3M+t7cY0/lswB6JnK1C/3YcsdBttUYQgSre+5zcwVJMZnp0Gy3mT++jeSN1bi7M5pxUPnAVoD1YE9DuLQ=="], - - "@tanstack/store": ["@tanstack/store@0.11.1", "", {}, "sha512-mzTOBhypOuDJAy/D8n2MfUZ1HFkXnmSETviRyhqEC8LUE7/IZQExOTxMANj3KjTofYTkFNpBY67qaVrT41YccA=="], - - "@tanstack/table-core": ["@tanstack/table-core@8.21.3", "", {}, "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg=="], - - "@tanstack/virtual-core": ["@tanstack/virtual-core@3.17.7", "", {}, "sha512-bp+v10y65sp2H7WpWfIMyxTNfl8ZVfxFTLRjPIFRryi6FV/J33z4IS53WO4pTk36KlvJ4iLiQz+oaydDC1xbcA=="], - "@tauri-apps/api": ["@tauri-apps/api@2.11.1", "", {}, "sha512-M2FPuYND2m+wh5hfW9ZpSdxMPdEJovPBWwoHJmwUpysTYNHaOkVFN419m/K0LIgjb/7KU2vBgsUepJWugQCvAA=="], "@testing-library/dom": ["@testing-library/dom@10.4.1", "", { "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", "@types/aria-query": "^5.0.1", "aria-query": "5.3.0", "dom-accessibility-api": "^0.5.9", "lz-string": "^1.5.0", "picocolors": "1.1.1", "pretty-format": "^27.0.2" } }, "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg=="], @@ -469,9 +454,7 @@ "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], - "babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.40.7", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-/O6JWUmjv03OI9lL2ry9bUjpD5S3PclM55RRJEyCdcFZ5W2SEA/59d+l2hNsk3gI6kiWRdRPdOtqZmsQzFN1pQ=="], - - "babel-preset-solid": ["babel-preset-solid@1.9.12", "", { "dependencies": { "babel-plugin-jsx-dom-expressions": "^0.40.6" }, "peerDependencies": { "@babel/core": "^7.0.0", "solid-js": "^1.9.12" }, "optionalPeers": ["solid-js"] }, "sha512-LLqnuKVDlKpyBlMPcH6qEvs/wmS9a+NczppxJ3ryS/c0O5IiSFOIBQi9GzyiGDSbcJpx4Gr87jyFTos1MyEuWg=="], + "babel-preset-solid": ["babel-preset-solid@2.0.0-rc.0", "", { "dependencies": { "@dom-expressions/babel-plugin-jsx": "0.50.0-next.42" }, "peerDependencies": { "@babel/core": "^7.0.0", "solid-js": "^2.0.0-rc.0" }, "optionalPeers": ["solid-js"] }, "sha512-Ap2/QQY3pICj+Q0VM/RnIOpZo7e6icZnUA0oBJuhqzoCrljqMNo3eFb2OeEa4pUQeFREJOlex4Bt1ggwrcgC8w=="], "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], @@ -815,7 +798,7 @@ "rolldown": ["rolldown@1.2.3", "", { "dependencies": { "@oxc-project/types": "=0.143.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.2.3", "@rolldown/binding-darwin-arm64": "1.2.3", "@rolldown/binding-darwin-x64": "1.2.3", "@rolldown/binding-freebsd-x64": "1.2.3", "@rolldown/binding-linux-arm-gnueabihf": "1.2.3", "@rolldown/binding-linux-arm64-gnu": "1.2.3", "@rolldown/binding-linux-arm64-musl": "1.2.3", "@rolldown/binding-linux-ppc64-gnu": "1.2.3", "@rolldown/binding-linux-s390x-gnu": "1.2.3", "@rolldown/binding-linux-x64-gnu": "1.2.3", "@rolldown/binding-linux-x64-musl": "1.2.3", "@rolldown/binding-openharmony-arm64": "1.2.3", "@rolldown/binding-win32-arm64-msvc": "1.2.3", "@rolldown/binding-win32-x64-msvc": "1.2.3" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-rn9wpmxplLf7NLNyCk9FyWh3FM43DbY8jOzCdEPzH7uflhTftRbCEpqi6Ly2osgoU8OwObtmavMbWLaWy4LX7A=="], - "rsbuild-plugin-solid-layouts": ["rsbuild-plugin-solid-layouts@0.1.3", "", { "dependencies": { "solid-layouts-oxc": "0.1.6" }, "peerDependencies": { "@rsbuild/core": ">=1.3.0" } }, "sha512-8mTYOXNFw0Ul/2H9AOhSHiaVwMdy69ROnd4rkiTyVF/1hMxEmL8KBCwLRsPk3zuzrnH3rBvwXZnkoPrIU5w5kQ=="], + "rsbuild-plugin-solid-layouts": ["rsbuild-plugin-solid-layouts@0.2.1", "", { "dependencies": { "solid-layouts-oxc": "^0.2.1" }, "peerDependencies": { "@rsbuild/core": ">=1.3.0" } }, "sha512-BUUC6P3wvLPowWCkRZj/82PXaHMLxLNg7FgQFWiR6AU0VrH9MFGKT8f83GCNdwBUHYjymZ1EX31SxZQ3KDu5NA=="], "sax": ["sax@1.6.1", "", {}, "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q=="], @@ -831,11 +814,11 @@ "siginfo": ["siginfo@2.0.0", "", {}, "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g=="], - "solid-js": ["solid-js@1.9.14", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "~1.5.4", "seroval-plugins": "~1.5.4" } }, "sha512-sAEXC0Kk0S1EDg+8ysEWJDbYhA3RRoEjwuySUGlKIemeo0I5YZfOyumNjNs9Sv3y2nmhD+0rW66ag2HsMuQiGQ=="], + "solid-js": ["solid-js@2.0.0-rc.0", "", { "dependencies": { "@solidjs/signals": "^2.0.0-rc.0", "csstype": "^3.1.0", "seroval": "~1.5.4", "seroval-plugins": "~1.5.4" } }, "sha512-3enTJ71VL69nM5p/it2InVBDBt316Cqfij+F0S7VuHZLITc8YV7Rvavjoy52nAKKxYWXM+BcXh2K7KcLTf1zdQ=="], - "solid-layouts": ["solid-layouts@0.1.3", "", { "peerDependencies": { "solid-js": "^1.9.14" } }, "sha512-SDlahgR/wbVA7x6M7Vgm1XqIShJ/1JeN0Kvbf4TZqj3CAZDjaTugkoJBogfg14+/Kfnh0BZ+86QFwjcXzMrpXA=="], + "solid-layouts": ["solid-layouts@0.2.1", "", { "peerDependencies": { "@solidjs/web": "^2.0.0-rc.0", "solid-js": "^1.9.14 || ^2.0.0-rc.0" }, "optionalPeers": ["@solidjs/web"] }, "sha512-afgDiwRhBNimxCrEUfh2+6rO18ti6X1gFz5peZ4BPycDYGyeBrxLDy97C4BmmmwgqPkLZrIbbQEUJ4i32W9TPA=="], - "solid-layouts-oxc": ["solid-layouts-oxc@0.1.6", "", { "bin": { "solid-layouts-library": "bin/solid-layouts-library.js", "solid-layouts-application": "bin/solid-layouts-application.js", "solid-layouts-lint": "bin/solid-layouts-lint.js" } }, "sha512-uGutBsneKKw7NnSf12ICKZXaxSqcvw7ALrITHRU7OsK2dSR7y9ZOCuX24KI/6ZzI4Cem/pN3WIU59Eu/DYrpYw=="], + "solid-layouts-oxc": ["solid-layouts-oxc@0.2.1", "", { "bin": { "solid-layouts-library": "bin/solid-layouts-library.js", "solid-layouts-application": "bin/solid-layouts-application.js", "solid-layouts-lint": "bin/solid-layouts-lint.js" } }, "sha512-u245kTqsNzYOEwpKxaTQOIubOgkXBQDuwP7xKzQ8MNFMHsNP6FrgtTA0tEf5UcUcE+WEyjl17VRRKnmUChat2w=="], "solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="], @@ -901,9 +884,11 @@ "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + "validate-html-nesting": ["validate-html-nesting@1.2.4", "", {}, "sha512-doQi7e8EJ2OWneSG1aZpJluS6A49aZM0+EICXWKm1i6WvqTLmq0tpUcImc4KTWG50mORO0C4YDBtOCSYvElftw=="], + "vite": ["vite@8.2.1", "", { "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.5", "postcss": "^8.5.25", "rolldown": "~1.2.1", "tinyglobby": "^0.2.17" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.4.0", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-EU/eS7BH3XROHh2YnBefjM6DBKA6ZeMZEYQbj7NLWg5wHYlhB8B/Mayd5XsgWq+NFYccDOTemRpdETWR6Ka/lw=="], - "vite-plugin-solid": ["vite-plugin-solid@2.11.14", "", { "dependencies": { "@babel/core": "^7.23.3", "@types/babel__core": "^7.20.4", "babel-preset-solid": "^1.8.4", "merge-anything": "^5.1.7", "solid-refresh": "^0.6.3", "vitefu": "^1.0.4" }, "peerDependencies": { "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.0.0 || ^7.0.0", "solid-js": "^1.7.2", "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" }, "optionalPeers": ["@testing-library/jest-dom"] }, "sha512-7ZVBt8rpoyqmlwin2kRIUveaHoF6/kulY7gsnD+qFh4nS29V4OPAnw+ojoAspXIjObiL9o1xh9a/nTuYHm02Rw=="], + "vite-plugin-solid": ["vite-plugin-solid@3.0.0-next.27", "", { "dependencies": { "@solidjs/vite-plugin": "^3.0.0-next.27" } }, "sha512-bDzjIIplkSDH73BiGP9pbPR3ZnjeUA18SAYugLhqDCy4u0bl3qdrETstxrXuo2vHXLB0VD9rvOr0iesZBBul4Q=="], "vitefu": ["vitefu@1.1.3", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["vite"] }, "sha512-ub4okH7Z5KLjb6hDyjqrGXqWtWvoYdU3IGm/NorpgHncKoLTCfRIbvlhBm7r0YstIaQRYlp4yEbFqDcKSzXSSg=="], @@ -941,12 +926,22 @@ "@babel/helper-create-class-features-plugin/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="], + "@dom-expressions/babel-plugin-jsx/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], + + "@dom-expressions/babel-plugin-jsx/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], + + "@dom-expressions/compiler-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.2", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.3", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.3" } }, "sha512-JfB4kuJQjaoHuCTseIINHtHWeJnvgEcxjwA5t/Y00ZgaOO1Crz3fjT/p8kT28zA/Caz7oiUMn3d6H2yOVCVwuw=="], + "@emnapi/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "@emnapi/runtime/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], "@emnapi/wasi-threads/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "@napi-rs/wasm-runtime/@emnapi/core": ["@emnapi/core@1.11.3", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.3", "tslib": "^2.4.0" } }, "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg=="], + + "@napi-rs/wasm-runtime/@emnapi/runtime": ["@emnapi/runtime@1.11.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA=="], + "@rspack/core/@rspack/lite-tapable": ["@rspack/lite-tapable@1.1.0", "", {}, "sha512-E2B0JhYFmVAwdDiG14+DW0Di4Ze4Jg10Pc4/lILUrd5DRCaklduz2OvJ5HYQ6G+hd+WTzqQb3QnDNfK4yvAFYw=="], "@swc/helpers/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], @@ -971,10 +966,6 @@ "ajv-formats/ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], - "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="], - - "babel-plugin-jsx-dom-expressions/parse5": ["parse5@7.3.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw=="], - "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], "data-urls/whatwg-url": ["whatwg-url@16.0.1", "", { "dependencies": { "@exodus/bytes": "^1.11.0", "tr46": "^6.0.0", "webidl-conversions": "^8.0.1" } }, "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw=="], @@ -995,9 +986,15 @@ "webpack/schema-utils": ["schema-utils@4.3.3", "", { "dependencies": { "@types/json-schema": "^7.0.9", "ajv": "^8.9.0", "ajv-formats": "^2.1.1", "ajv-keywords": "^5.1.0" } }, "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA=="], - "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + "@dom-expressions/babel-plugin-jsx/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + + "@napi-rs/wasm-runtime/@emnapi/core/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.3", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g=="], + + "@napi-rs/wasm-runtime/@emnapi/core/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "babel-plugin-jsx-dom-expressions/parse5/entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="], + "@napi-rs/wasm-runtime/@emnapi/runtime/tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "ajv-formats/ajv/json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="], diff --git a/apps/chuzz/frontend/local-ui/layouts.library.json b/apps/chuzz/frontend/local-ui/layouts.library.json new file mode 100644 index 0000000..974802f --- /dev/null +++ b/apps/chuzz/frontend/local-ui/layouts.library.json @@ -0,0 +1,5 @@ +{ + "source": "src", + "output": "bundle", + "solid": 2 +} diff --git a/apps/chuzz/frontend/local-ui/src/components/address-bar/AddressBar.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/address-bar/AddressBar.layout.tsx index 1e8dcd1..44d231c 100644 --- a/apps/chuzz/frontend/local-ui/src/components/address-bar/AddressBar.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/address-bar/AddressBar.layout.tsx @@ -1,5 +1,5 @@ import { Input } from "@pathscale/ui"; -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { addressBar } from "./AddressBar.recipe"; diff --git a/apps/chuzz/frontend/local-ui/src/components/app-shell/AppShell.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/app-shell/AppShell.layout.tsx index 9454c8b..edb06f1 100644 --- a/apps/chuzz/frontend/local-ui/src/components/app-shell/AppShell.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/app-shell/AppShell.layout.tsx @@ -1,5 +1,5 @@ import "../../styles.css"; -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { appShell } from "./AppShell.recipe"; diff --git a/apps/chuzz/frontend/local-ui/src/components/inspector-section/InspectorSection.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/inspector-section/InspectorSection.layout.tsx index f68d9c0..859955e 100644 --- a/apps/chuzz/frontend/local-ui/src/components/inspector-section/InspectorSection.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/inspector-section/InspectorSection.layout.tsx @@ -1,5 +1,5 @@ import { Chip, Collapsible, Text } from "@pathscale/ui"; -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { inspectorSection } from "./InspectorSection.recipe"; diff --git a/apps/chuzz/frontend/local-ui/src/components/main-content/MainContent.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/main-content/MainContent.layout.tsx index 6a3a779..0e5854f 100644 --- a/apps/chuzz/frontend/local-ui/src/components/main-content/MainContent.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/main-content/MainContent.layout.tsx @@ -1,4 +1,4 @@ -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { mainContent } from "./MainContent.recipe"; diff --git a/apps/chuzz/frontend/local-ui/src/components/navigation-bar/NavigationBar.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/navigation-bar/NavigationBar.layout.tsx index d5ea274..12fab73 100644 --- a/apps/chuzz/frontend/local-ui/src/components/navigation-bar/NavigationBar.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/navigation-bar/NavigationBar.layout.tsx @@ -1,4 +1,4 @@ -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { navigationBar } from "./NavigationBar.recipe"; diff --git a/apps/chuzz/frontend/local-ui/src/components/panel-handle/PanelHandle.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/panel-handle/PanelHandle.layout.tsx index 372af4e..5610e5c 100644 --- a/apps/chuzz/frontend/local-ui/src/components/panel-handle/PanelHandle.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/panel-handle/PanelHandle.layout.tsx @@ -1,4 +1,4 @@ -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { panelHandle } from "./PanelHandle.recipe"; diff --git a/apps/chuzz/frontend/local-ui/src/components/settings-dialog/SettingsDialog.layout.tsx b/apps/chuzz/frontend/local-ui/src/components/settings-dialog/SettingsDialog.layout.tsx index 5f63d95..352bee9 100644 --- a/apps/chuzz/frontend/local-ui/src/components/settings-dialog/SettingsDialog.layout.tsx +++ b/apps/chuzz/frontend/local-ui/src/components/settings-dialog/SettingsDialog.layout.tsx @@ -1,5 +1,5 @@ import { Button, Dialog, Text } from "@pathscale/ui"; -import type { JSX } from "solid-js"; +import type { JSX } from "@solidjs/web"; import type { Layout } from "solid-layouts"; import { settingsDialog } from "./SettingsDialog.recipe"; @@ -40,7 +40,7 @@ const SettingsDialog: Layout = () =>