openpencil/crates/op-codegen/Cargo.toml
Kayshen-X d7a079e64d feat(codegen): stored-zip encoder + cancel/page-generation hardening
Dependency-free STORED zip for the web bundle path; pipeline cancel +
whole-page input fallback verified surfaces.
2026-06-12 23:28:05 +08:00

34 lines
1.2 KiB
TOML

[package]
name = "op-codegen"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
description = "OpenPencil code generators — emit HTML/Vue/Svelte/React/Flutter/SwiftUI/Compose/RN from a PenDocument"
[lib]
name = "op_codegen"
path = "src/lib.rs"
[dependencies]
jian-ops-schema = { path = "../../vendor/jian/crates/jian-ops-schema" }
op-editor-core = { path = "../op-editor-core" }
# AI pipeline deps — optional, pulled in only by the `ai` feature so
# non-AI consumers (and the deterministic generators) stay lean. op-ai
# is dependency-free + wasm-clean; op-codegen does NOT depend on
# op-ai-skills (skill corpus is expanded at the transport edge).
op-ai = { path = "../op-ai", optional = true }
serde = { workspace = true, features = ["derive"], optional = true }
serde_json = { workspace = true, optional = true }
base64 = { version = "0.22", optional = true }
[dev-dependencies]
# Round-trip validation for the hand-rolled STORED zip encoder
# (test-only; never reaches the wasm build).
zip = "2"
[features]
# Gates the AI code-generation pipeline (src/ai/). Off by default.
ai = ["dep:op-ai", "dep:serde", "dep:serde_json", "dep:base64"]