Commit graph

5 commits

Author SHA1 Message Date
Kayshen-X bba6f338d6 refactor: dedupe cross-crate code and converge hardcoded literals
New leaf crate op-util single-sources hex-color parsing (9 divergent
copies, one with a non-ASCII panic), JSON escaping (one copy was
lossy), and HTML/XML escaping (one copy missed the quote entity — an
attribute-injection gap). Desktop now delegates image generate/search,
settings payload serde, and the --mcp/--serve-web argv dispatch to
op-host-services / op-editor-host-core instead of carrying drifted
copies. Byte-identical widget_host twin files collapse into shared
op-editor-core host_ui_transitions. Auth routes, the MCP port, product
name, env-var names, service URLs, and status colors move to single
shared constants / theme tokens; the stale claude-sonnet-4-5 default
model id is corrected.
2026-07-26 11:24:22 +08:00
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
Kayshen-X 32aeb2737d feat(codegen): port codegen asset extraction 2026-06-07 14:55:25 +08:00
Kayshen-X ed7608fc04 feat(codegen): scaffold ai-feature-gated pipeline module 2026-06-07 14:55:19 +08:00
Kayshen-X 0cb56ecd9e refactor: extract op-codegen crate
Relocate codegen.rs + codegen_targets.rs out of openpencil-shell-core
into a dedicated op-codegen crate. The code generators only depend on
jian-ops-schema + op-editor-core, so they form a clean leaf crate.
codegen.rs becomes the crate's lib.rs; crate::codegen:: paths in
codegen_targets.rs collapse to crate::. Pure relocation, no behaviour
change; tests move with their code.
2026-05-16 23:14:45 +08:00