Skip to content

v0.11.0-alpha.7

Choose a tag to compare

@github-actions github-actions released this 25 Sep 15:47
· 291 commits to main since this release

相比 v0.11.0-alpha.6 的变更 / Changes since v0.11.0-alpha.6

✨ 新功能 / Features

  • 全局绘图锁定: 新增全局绘图锁定开关,一次冻结所有图元的几何拖动;锁定只影响移动,删除、撤销/重做、样式、显隐与命中测试保持可用。
  • Global drawing lock: Adds a global drawing lock toggle that freezes movement of every drawing through one pure predicate, leaving deletion, undo/redo, style, visibility, and hit-testing intact.
  • 绘图设置与文本控件: 新增绘图设置弹窗与颜色、文本控件,按种类持久化模板,并将工具选择与分组展开拆分。
  • Drawing settings and text controls: Adds a drawing settings dialog with color and text controls, persists per-kind templates, and separates tool selection from group expansion.
  • 图表级绘图撤销/重做(破坏性): 每张图维护单一绘图历史,交互、控制器、门面与 Agent 编辑共用同一撤销序列,并在左侧工具栏暴露撤销与重做。
  • Chart-wide drawing undo and redo (breaking): Keeps one drawing history per chart so interaction, controller, facade, and Agent edits share a single undo sequence, exposed in the left toolbar.
  • 价格轴锁定价 K 线比例(破坏性): 将锁定的显示范围存入 StateKernel,使水平平移时主价格轴保持稳定,并以 mainPriceAxisRangeMode 取代 disableMainPaneVerticalScroll。
  • Locked price-to-candle ratio (breaking): Stores the locked display range in StateKernel to keep the main price axis stable while panning, replacing disableMainPaneVerticalScroll with mainPriceAxisRangeMode.
  • 最新价标签涨跌着色与收线倒计时: 最新价标签按涨跌方向着色,并在支持的分钟、4 小时与日线周期上显示当前 K 线收线倒计时,随秒边界刷新。
  • Trend-colored last price and close countdown: Colors the last price label by trend and shows the current bar close countdown on supported intraday and daily periods, refreshed on second boundaries.
  • 4 小时周期档位: 在周期单一事实来源与 Core 初始窗口策略中新增 4h。
  • 4-hour period level: Adds 4h to the period single source of truth and the core initial-window policy.
  • 欧洲传统 K 线聚合: 在协议与 Core 中新增欧洲传统 K 线聚合取值。
  • Europe-traditional bar aggregation: Adds the Europe-traditional bar aggregation value to the protocol and core.
  • Agent 面板启动器与引用角标重做: 面板启动器改为贴边条带并补充悬浮提示,引用角标改为中性灰胶囊。
  • Agent panel launcher and citation restyle: Restyles the panel launcher as an edge strip with a tooltip and renders citation markers as neutral gray pills.
  • Agent 会话操作弹窗化: 会话重命名与删除改用样式统一的基础弹窗,取代 window.prompt / window.confirm。
  • Agent session modals: Replaces window.prompt / window.confirm with styled base modals for session rename and delete.
  • 绘图锚点数量提示: 从领域实现推导各图元的锚点数量,并在 drawing_create / drawing_update 工具描述中说明。
  • Per-kind anchor counts: Derives per-kind anchor counts from the domain and states them in the drawing_create / drawing_update tool descriptions.
  • 左边界增量加载集中化: 将左边界缺口触发的历史增量加载集中到 Chart。
  • Centralized left-gap loading: Centralizes left-gap incremental history loading in Chart.
  • 数据源后端安装脚本更名: 将 pnpm setup 更名为 pnpm setup:backends,并为安装输出加入分层着色。
  • Backend setup script rename: Renames pnpm setup to pnpm setup:backends and adds layered ANSI coloring to the install output.

🐛 Bug 修复 / Fixes

  • 绘图锁定语义修正(破坏性): 锁定图元改为仅冻结拖动与删除,重新接受样式、参数、标签、显隐与 z-index 写入。
  • Drawing lock semantics (breaking): Locked drawings now only block drag and removal, accepting style, params, labels, visibility, and z-index writes again.
  • 轴刻度平移跟随: 垂直网格线锚定到可读价格值,使标签与网格线在垂直平移时同步移动。
  • Axis ticks follow panning: Anchors vertical grid marks to readable price values so the label and gridline move together during vertical panning.
  • 双击切换分时能力校验: 双击切换分时前校验品种能力,对不支持分时的数据源写入既有品种错误态,而非抛出未捕获异常。
  • Double-click time-share guard: Validates the symbol capability before double-click switching to time-share, writing to the existing symbol error state instead of throwing on unsupported sources.
  • 指标定义分类与挂载渲染: 修复指标定义的分类与按挂载模式渲染。
  • Indicator definition classification: Fixes indicator definition classification and mode-mounted rendering.
  • WebGPU 空帧清屏: 修复 WebGPU 在空帧时未清屏的问题。
  • WebGPU empty-frame clear: Clears the WebGPU surface on empty frames.
  • 绘图锚点日期失败按原因区分: 交易日期解析返回带判别信息的结果,按原因抛出不同错误码,并在越界详情中携带已加载区间。
  • Drawing anchor date causes: Resolves trading dates to a discriminated result and raises a distinct error code per cause, carrying the loaded range in out-of-range details.
  • 绘图标签拒绝非索引键: 在标签对象与映射两层拒绝多余键,避免非索引键通过校验后在归一化阶段崩溃。
  • Drawing label key validation: Rejects extra keys at both the label object and map level so non-index keys no longer pass validation and crash normalization.
  • Agent Web 搜索密钥引导与存储: 引导 Web 搜索密钥配置,并将 Exa 密钥改为全局存储并迁移旧配置,避免切换配置后搜索失效。
  • Agent web search keys: Guides web search key setup and stores Exa keys globally with legacy profile-key migration so configured search survives a profile switch.
  • Agent 工具失败分类与结果高度: 对工具失败进行分类,并限制工具结果内容高度。
  • Agent tool failures and result height: Classifies tool failures and caps tool result content height.
  • 工具栏滚动与分组菜单: 优化工具栏滚动与分组工具菜单行为。
  • Toolbar scrolling and grouped menu: Refines toolbar scrolling and grouped tool menu behavior.
  • Agent 面板开关对齐: 修正 Agent 面板开关控件对齐。
  • Agent panel toggle alignment: Aligns the agent panel toggle controls.
  • 当前品种选中不再空转加载: 忽略数据管理器对未变化选中项的空操作,避免品种标签停留在加载中。
  • No-op symbol selection: Ignores the data manager's no-op active selection so the symbol chip does not stay pending.
  • dev connector 进程树关闭: 在 SIGINT / SIGTERM 时关闭整个 connector 进程树,并等待退出后再返回提示符。
  • dev connector shutdown: Kills the whole connector process tree on SIGINT / SIGTERM and waits for shutdown before returning the prompt.
  • bench 别名与独显: 修复基准测试配置的 Core 源码别名,并强制使用独立 GPU。
  • bench aliases and discrete GPU: Resolves core source aliases in the benchmark config and forces the discrete GPU.

🏗️ 架构与重构 / Architecture & Refactoring

  • 绘图模块语义分层(破坏性): 将绘图模块拆分为 model / session / geometry / interaction / render 子模块并收敛为单一 barrel,同时把图元领域模型移出 foundation。
  • Drawing module semantic layout (breaking): Splits the drawing module into model / session / geometry / interaction / render submodules with a single barrel, and moves the primitive domain model out of foundation.
  • 移除 semantic 配置 API(破坏性): 删除已废弃的 JSON 语义图表配置与 ./semantic 子路径导出,并将标记形状渲染迁至 engine/marker/shape。
  • Remove semantic config API (breaking): Deletes the deprecated JSON semantic chart config and the ./semantic subpath export, moving marker shape rendering to engine/marker/shape.
  • Core 模块语义布局: 将 modes、scale、replay/chartTypes、alerts、高级图表组件、plugin 与 agent 功能模块迁移到 <module>/types.ts + impl/ 布局。
  • Core semantic module layout: Migrates modes, scale, replay/chartTypes, alerts, advanced chart components, plugin, and the agent feature module to the <module>/types.ts + impl/ layout.
  • Controllers 语义模块化: 让控制器公共导出经由语义模块,并迁移工具栏、指标选择器、绘图与图表控制器。
  • Controller semantic modules: Routes controller public exports through semantic modules and migrates the toolbar, indicator selector, drawing, and chart controllers.
  • Agent / agent-runtime 语义布局: 整理 agent 功能模块,拆分 provider 设置契约,模块化浏览器桥,并将搜索实现与 Pi 运行驱动移入 impl/。
  • Agent and agent-runtime layout: Organizes agent feature modules, separates provider settings contracts, modularizes the browser bridge, and moves search implementations and the Pi run driver into impl/.
  • 价格刻度类型词汇统一: 统一价格刻度类型词汇。
  • Price scale vocabulary: Centralizes price scale type vocabulary.
  • 绘图标签键不变量归入领域: 将绘图标签键不变量移入领域,并将会话浮层更名为 DrawingSessionOverlay。
  • Drawing label key invariant: Moves the drawing label key invariant into the domain and renames the session overlay to DrawingSessionOverlay.
  • 导入别名统一: 以 @ 别名替换相对 ../.. 导入。
  • Import alias cleanup: Replaces relative ../.. imports with @ aliases.

⚡ 性能 / Performance

  • WebGPU 线条几何缓存: 对未变化的线条跳过顶点重建与上传数据比较,同时在几何、DPR 或垂直线滚动位置变化时保留像素对齐重建。
  • WebGPU line geometry cache: Skips rebuilding wide-line vertices and upload-data comparison for unchanged strips while preserving pixel-aligned rebuilds when geometry, DPR, or vertical-line scroll position changes.
  • WebGPU 渲染路径减负: 按 float32 位比较已上传线条几何以避免哈希碰撞,并将延迟缓冲回收批量放到队列完成之后。
  • WebGPU render path: Compares uploaded strip geometry by float32 bits and batches deferred buffer retirement behind queue completion.
  • K 线帧准备减负: 复用物理像素坐标,并在标记不可见时跳过量价分析。
  • Candle frame preparation: Reuses physical pixel coordinates and avoids volume-price analysis when markers cannot be visible.
  • 日期与提示框复用: 跨渲染帧复用日历索引,并跳过高频交互更新中冗余的提示框显示写入。
  • Date and tooltip reuse: Reuses calendar indexes across render frames and skips redundant tooltip display writes during high-frequency interaction.

🔧 工程 / Engineering

  • 样式 Token 调整: 将涨/跌 K 线配色调整为 #089981 / #f23645。
  • Style tokens: Recolors candle up/down to #089981 / #f23645.
  • 清理失效 lint 配置: 删除已失效的 ESLint、OxLint 与 Prettier 配置。
  • Dead lint configs: Drops dead ESLint, OxLint, and Prettier configs.
  • Pi 升级至 0.87.1: 将 pi-agent-core、pi-ai 与 pi-session-backend-sqlite-node 升级至 0.87.1。
  • Pi 0.87.1: Bumps pi-agent-core, pi-ai, and pi-session-backend-sqlite-node to 0.87.1.
  • CI 触发范围: 将 library CI 的 push 触发限制在 main。
  • CI push scope: Restricts the library CI push trigger to main.
  • CodeGraph 使用规范: 强化 CodeGraph 使用规范并调整 MCP 服务配置。
  • CodeGraph rules: Hardens the CodeGraph usage rules and adjusts the MCP server config.
  • 测试夹具统一: 通过共享工厂构建轴刻度窗格夹具,并在脱敏测试中覆盖 Web 搜索密钥保存路径。
  • Shared test fixtures: Builds the axis tick pane fixture via a shared factory and covers the web-search key save path in redaction tests.

📚 文档 / Documentation

  • 绘图子模块 README: 为绘图子模块补充模块级 README。
  • Drawing submodule READMEs: Adds module-level READMEs for the drawing submodules.
  • 性能数据更新: 更新 README 中 200 Hz 独立显卡下的性能数据。
  • Performance data refresh: Refreshes the README performance data on a 200 Hz discrete GPU.
  • AGENT.md 更新: 更新 Agent 指南。
  • AGENT.md refresh: Refreshes the agent guide.