Skip to content

refactor(script)!: split script service and editor units - #336

Merged
363045841 merged 1 commit into
mainfrom
feat/script-maxsum-indicators
Oct 29, 2026
Merged

363045841 merged 1 commit into
mainfrom
feat/script-maxsum-indicators

Conversation

@363045841

Copy link
Copy Markdown
Owner

一、主要功能更新

脚本编辑器的快捷运行、文件树文件夹与 maxsum 指标已随 #335 合入 main,本 PR 收口这批功能的数据层与交互,不再引入新功能。

大功能

  • 编辑器快捷运行 / 添加到图表:草稿可直接运行(不保存、不注册定义),或保存后启用为图表指标。
  • 文件树文件夹:目录按指标/库分组隔离,支持新建、复制、删除与标签拖拽排序,删除目录前校验跨目录库引用。
  • maxsum 指标与统一绘图风格:随 feat(script)!: add maxsum indicators and unify drawing style #335 合入 main。

设计决策见 docs/design/script-editor-execution.md,本次补充 docs/design/active-market-runtime.md 的「行情租约」。


二、修复的问题与 UI 优化

修复

  • 菜单按 Escape/Tab 关闭后焦点丢失;文件树右键菜单此前无法用键盘关闭。
  • 目录操作失败被当成代码问题并抢切问题面板;执行失败提示在修改源码后仍残留。
  • 临时调试的跨周期请求会被指标快照对账回收,导致请求中途中断。
  • 持久化解码把缺字段记录静默改写成根目录,与 strictLoad 的严格策略矛盾。

UI 优化

  • 目录错误只留在目录区域,只有当前文档的保存/执行失败才切换到问题面板。
  • 快捷键提示字号收敛到 text token,文件树与标签栏样式随组件拆分各自持有。

重构

  • 脚本服务(570 行单闭包工厂)拆为目录、文档、执行、库保存、恢复与装配 6 个模块。
  • 编辑器会话拆出草稿模型、调试执行、文件树动作与异常文本,所有函数回到复杂度阈值内。
  • 工作区(640 行组件)拆为文件树、树行、标签栏与工作区 4 个组件,样式随组件走。
  • MarketRuntime 改为单一租约表,删除全量快照与临时集合两套 owner 状态。
  • 文件夹路径规则收敛到 plot-contracts;异常转文本、平台判断各一处实现。

验证

  • pnpm type-check:src 与 tests 通过
  • core 2567 / script-chart 16 / vue 237 用例通过
  • Fallow:pass,新增复杂度与死代码均为 0

@363045841
363045841 force-pushed the feat/script-maxsum-indicators branch from f55f630 to 0361c8a Compare October 29, 2026 13:10
@363045841
363045841 merged commit 3411c3b into main Oct 29, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant