Retire the from-scratch wasm32 skia raster web backend and the vendored skia-safe fork now that CanvasKit is the sole web renderer. - remove gl-webgl-shim + the `webgl` feature + backend/webgl.rs - absorb chat streaming, live-sync, codegen, icon search, Figma/file IO, and system fonts into the `canvaskit` build via a backend-agnostic `RepaintContext` trait; wire them into `mount_ck` (chat send, image paste routing, window resize) - delete the skia raster modules (backend/, a11y, shell_drop/resize, ime_target, boolean_ops, caret_pump, repaint_scheduler) + the skia `Inner` mount; op-host-web is now `web` (stub) + `canvaskit` only - drop [patch.crates-io]; delete vendor/skia-safe-op + crates/wasm-libc-shim so skia-safe reverts to upstream crates.io 0.97.x (native unchanged, byte-identical; upstream has no wasm32-unknown-unknown target) - switch the bundle gate (check-wasm-bundle.sh) to --features canvaskit Also float new shapes above the frame (z-order), inset the shape-picker selected-row highlight, and align the web file-menu hover without the traffic-light inset. Builds clean: canvaskit + web-stub (wasm32) + native desktop; bundle gate passes (0 env.*, 4.5 MiB gzip).
45 lines
1.7 KiB
TOML
45 lines
1.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
# Use a glob instead of an explicit list: incremental crate creation in Step 0
|
|
# does not require editing `members` each time (per implementer Phase 1 batch 2
|
|
# workspace-masking feedback: listing a non-existent crate makes `cargo build -p X`
|
|
# fail at the resolve stage). The glob picks up every manifest under crates/,
|
|
# naturally supporting incremental creation.
|
|
members = ["crates/*"]
|
|
exclude = [
|
|
"vendor/agent",
|
|
"vendor/anthropic-agent-sdk",
|
|
"vendor/casement",
|
|
"vendor/jian",
|
|
"node_modules",
|
|
]
|
|
|
|
[workspace.package]
|
|
version = "0.8.0"
|
|
edition = "2021"
|
|
rust-version = "1.85"
|
|
license = "MIT"
|
|
authors = ["ZSeven-W <fini.yang@gmail.com>"]
|
|
repository = "https://github.com/ZSeven-W/openpencil"
|
|
|
|
[workspace.dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["unbounded_depth"] }
|
|
serde_stacker = "0.1"
|
|
thiserror = "1"
|
|
anyhow = "1"
|
|
tracing = "0.1"
|
|
|
|
# WASM-boundary related (per kickoff §1.2 blacklist = must not appear here).
|
|
# Intentionally NOT exposing tokio / reqwest / agent / pen-agent-cli /
|
|
# pen-server / native-tls in workspace.dependencies — these are used only
|
|
# inside native-only crates via dev-deps or target-specific deps.
|
|
|
|
# 2026-06-17: the `vendor/skia-safe-op` fork (rust-skia 0.97.0 + a
|
|
# `wasm_unknown` platform target) is RETIRED. Its only purpose was the
|
|
# from-scratch wasm32-unknown-unknown skia web build, which CanvasKit now
|
|
# replaces. With no wasm32 skia consumer left, `skia-safe` / `skia-bindings`
|
|
# resolve to upstream crates.io 0.97.0 — used only by the native desktop host
|
|
# (`op-host-desktop`) + `jian-skia`, where the fork was byte-identical anyway.
|
|
# No `[patch.crates-io]` needed.
|