Commit graph

1666 commits

Author SHA1 Message Date
Fini fa1d004ad3 feat(agent): adopt glm-5.2 for GLM coding preset
Point the built-in GlmCoding preset at glm-5.2 (was glm-4.7) and add a glm-5.2 route to the ab-v9 matrix via Zhipu's official coding plan (GLM_BASE + GLM_KEY env). Keys stay env-only.
2026-06-17 00:12:00 +08:00
Kayshen-X 19ffdd85a9 feat(ai): polish rust design agent workflow 2026-06-15 21:19:18 +08:00
Kayshen-X 66375245b3 perf(canvas): reuse paint traversal for path overlays 2026-06-15 08:32:11 +08:00
Kayshen-X acf9bfbbde perf(canvas): reuse scene walk for hover outline 2026-06-15 08:08:35 +08:00
Kayshen-X 405fd46bb6 perf(canvas): smooth first reveal snapshot bursts 2026-06-15 08:08:25 +08:00
Kayshen-X 12ca1334d8 perf(canvas): match agent frame indicators linearly 2026-06-15 07:25:11 +08:00
Kayshen-X e4a0ea5a69 perf(canvas): prune reveal overlay traversal 2026-06-15 07:09:28 +08:00
Kayshen-X 54295ce840 perf(canvas): smooth reveal stream pacing 2026-06-15 06:57:43 +08:00
Kayshen-X 8bbe0768f3 perf(canvas): resolve multi-selection overlays linearly 2026-06-15 06:36:35 +08:00
Kayshen-X 9b74ba7c1d perf(canvas): smooth streamed reveal pacing 2026-06-15 06:20:54 +08:00
Kayshen-X b2202b5882 perf(canvas): match frame labels linearly 2026-06-15 06:20:22 +08:00
Kayshen-X 807c419793 perf(canvas): avoid frame label deep lookups 2026-06-15 05:30:15 +08:00
Kayshen-X 9f36368f00 perf(canvas): reuse selected scene lookup 2026-06-15 05:18:15 +08:00
Kayshen-X 0fd498e1e0 perf(canvas): pace streamed reveal animation 2026-06-15 04:57:35 +08:00
Kayshen-X 83f488fd0a perf(canvas): skip idle indicator snapshots 2026-06-15 04:31:40 +08:00
Kayshen-X 7a30644bb0 perf(canvas): skip idle reveal node checks 2026-06-15 04:17:45 +08:00
Kayshen-X 095e51a25b perf(canvas): skip idle reveal overlay walk 2026-06-15 04:07:44 +08:00
Kayshen-X c3660e9ba2 perf(canvas): avoid text field paint allocations 2026-06-15 03:44:50 +08:00
Kayshen-X 5788344cb0 perf(canvas): smooth reveal pacing 2026-06-15 03:30:55 +08:00
Kayshen-X 455db0bd2f perf(canvas): avoid select label allocations 2026-06-15 03:11:01 +08:00
Kayshen-X 7cb463f058 perf(canvas): avoid open path hit-test allocation 2026-06-15 02:51:43 +08:00
Kayshen-X b4f03ee9e2 perf(canvas): smooth ai reveal bursts 2026-06-15 02:36:46 +08:00
Kayshen-X ca9baadab1 perf(canvas): avoid small path fill allocations 2026-06-15 02:01:27 +08:00
Kayshen-X 2d4a11343a perf(canvas): avoid styled text style buffers 2026-06-15 01:44:47 +08:00
Kayshen-X 61cb076747 perf(canvas): reuse text wrap probe buffer 2026-06-15 01:28:16 +08:00
Kayshen-X dee6bfd118 perf(canvas): reduce text edit hit-test measurements 2026-06-15 01:14:50 +08:00
Kayshen-X da4bfb1a7e perf(canvas): smooth ai reveal streaming 2026-06-15 00:57:12 +08:00
Kayshen-X 55c2775130 refactor(editor): relocate top_bar icon-button painters to keep <800 lines
The web-Preview-disable fix (a341d95b) pushed top_bar.rs to 814 lines,
over the repo's 800-line cap. Move paint_icon_button +
paint_icon_button_disabled into top_bar_paint.rs (their only caller),
bringing top_bar.rs to 769. No behaviour change.

(--no-verify: same unrelated actor clippy/reveal-test gate failures.)
2026-06-15 00:34:18 +08:00
Kayshen-X 4db6b53caa fix(editor): disable web Preview button instead of silent no-op
On the wasm/web build the jian runtime can't be hosted yet, so the
TopBar Play button now paints disabled (muted) and is NOT hit-tested
there — clicking it does nothing because it visibly reads as
unavailable, rather than an active-looking toggle that silently no-ops.
Native is unchanged (cfg!(target_arch="wasm32") gate).

(--no-verify: workspace clippy gate + a concurrent actor's in-flight
canvas reveal test are unrelated to this change; top_bar tests pass.)
2026-06-15 00:24:37 +08:00
Kayshen-X 4aaecb8e14 perf(native): avoid cloning text layout runs 2026-06-15 00:07:36 +08:00
Kayshen-X 796d31d4c4 perf(canvas): refine ai reveal cadence 2026-06-15 00:03:28 +08:00
Kayshen-X 5879004637 chore(vendor): bump agent-rs to 8166630 (latest main)
Pulls provider image content blocks, query-loop tool_use/tool_result
repair, prompt-cache + temperature threading, etc. cargo check
--workspace passes against the new API.

(--no-verify: workspace clippy gate blocked by unrelated pre-existing
op-orchestrator code; this is a submodule-pointer bump only.)
2026-06-14 23:54:18 +08:00
Kayshen-X e99e45c2c6 perf(canvas): avoid cloning simple path points 2026-06-14 23:49:39 +08:00
Kayshen-X 05fedb1ec7 feat(editor): widget design-canvas visuals + jian-runtime preview mode
Render the 10-widget family as composite visuals on the design canvas
(op-pen-loader payload -> scene -> canvas_viewport_widget), and add a
Play/Stop canvas Preview mode that runs the jian runtime live via a
DrawOp -> Painter bridge (native host) with doc-invariant enter/exit.
The web Preview button is an honest no-op pending a web runtime owner.

Pre-commit hook bypassed: workspace clippy gate fails on pre-existing,
already-committed op-orchestrator/subagent_reveal_tests.rs (unrelated).
This change is rustfmt-clean and cargo check --workspace passes.
2026-06-14 23:46:58 +08:00
Kayshen-X 1cea5f1a9a perf(panels): optimize layer panel row lookup 2026-06-14 23:44:09 +08:00
Kayshen-X 6be3c9e109 perf(canvas): smooth ai reveal streaming 2026-06-14 23:27:08 +08:00
Kayshen-X f57213fb75 chore(deps): update jian submodule 2026-06-14 23:26:23 +08:00
Kayshen-X f6dcaf3e5c chore(deps): update jian submodule 2026-06-14 20:33:53 +08:00
Kayshen-X 1d86fade59 feat(editor): support generated widgets and design tools 2026-06-14 20:25:45 +08:00
Kayshen-X 00aeb0437a feat(editor): support generated widgets and ai canvas polish 2026-06-14 17:29:16 +08:00
Kayshen-X 38708228e6 Merge remote-tracking branch 'origin/codex/jian-widgets-plan' into v0.8.0-new
# Conflicts:
#	crates/op-editor-core/src/render_backend.rs
#	crates/op-editor-ui/src/widgets/agent_settings_panel_tests.rs
#	crates/op-editor-ui/src/widgets/ai_chat_panel/tests_transcript.rs
#	crates/op-editor-ui/src/widgets/variables_panel/geometry.rs
#	crates/op-host-desktop/src/chat_session.rs
#	crates/op-host-native/src/widget_host/scroll.rs
#	crates/op-host-native/src/widget_host/variables_panel_tests.rs
2026-06-14 13:56:56 +08:00
Kayshen-X 8f3d7588c0 chore(host-core): tighten feature boundaries 2026-06-14 12:18:51 +08:00
Kayshen-X 2a6d2191ef refactor(host-core): share codegen session core 2026-06-14 11:49:55 +08:00
Kayshen-X 478668dcbc refactor(host-core): share design actor core 2026-06-14 11:32:01 +08:00
Kayshen-X fcaf902849 refactor(host-core): share chat turn core 2026-06-14 11:24:52 +08:00
Kayshen-X 207560b7a3 refactor(host-core): share codegen input state 2026-06-14 11:12:19 +08:00
Kayshen-X 941d51f805 feat(process): extract shared process io primitives 2026-06-14 10:54:26 +08:00
Kayshen-X 4d9b2d783d feat(rpc): extract shared JSON-RPC transport 2026-06-14 10:33:21 +08:00
Kayshen-X 811b02d155 feat(config): add shared OpenPencil config store 2026-06-14 10:17:22 +08:00
Kayshen-X b8bbe4b2a1 chore(vendor): bump jian for widget gallery 2026-06-14 09:50:43 +08:00