openpencil/Cargo.toml
Kayshen-X 227da7fa11 refactor(renderer): consolidate web shell on CanvasKit, retire skia path
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).
2026-06-18 09:34:37 +08:00

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.