Skip to content

Delivery:TSX Studio 草稿运行控制台与非模态浮动工作台 #1394

Description

@JAVA-LW

Issue 元数据

纵向交付结果

作者在非模态 TSX Studio 中编辑源码,点击“运行”或按 Ctrl/Cmd + Enter 即执行当前未保存草稿;同一 run_id 下可查看 Preview、Console、Variables、Interface Calls 和 Problems,错误/调用准确映射到原始 TSX 行。Studio 及子检查器可拖动、缩放、置顶并按主从关系安全关闭。

本 Delivery 必须交付“打开 Studio → 编辑未保存源码 → 运行 → 查看结果/诊断 → 移动/缩放/关闭并保护草稿”的完整作者体验。

结算的 Root AC

  • AC-008:同一 run_id 完整展示草稿运行预览、日志、变量、接口调用、错误和源码位置。
  • AC-009:写 operation 每次草稿运行单次授权;普通作者不能编辑裸 context/limits。
  • AC-010:Studio/子窗口可移动、缩放、置顶、主从关闭并保护脏源码,桌面与移动端可用。

范围与所有权

范围内

  • 正式 Draft Run protocol:run_id/draft_hash/context_snapshot/status/view/outputs/logs/interface_calls/diagnostics
  • 执行当前 Monaco 草稿,不要求先保存 Page Document;结果明确标记对应 draft hash。
  • Preview、Console、Variables、Interface Calls、Problems 五个观测入口共享一个 run。
  • 有界、可序列化、脱敏的 console.log/warn/error
  • Variables 展示 inputs、允许展示的 context、区块 state/outputs 和 Tab/Page Signal snapshot。
  • Interface Calls 展示生成函数/绑定别名、结构化入参/返回、耗时、状态、风险授权和脱敏错误。
  • 编译、运行、Schema、权限和 Worker crash diagnostics 通过 source map 映射到原始 TSX 行,并驱动 Monaco 高亮/跳转。
  • 读取 operation 直接运行;写 operation 每个 Draft Run 显式单次授权。
  • 删除当前“代码区块试运行”、可编辑裸 context/limits、Run plan/Request schema 等内部产品 UI。
  • 抽取共享 Window Workspace 状态机与几何机制;TSX Studio 主窗口、接口详情/变量检查器等子窗口使用 owner 关系。
  • 拖动、四边缩放、最大化/还原、焦点置顶、打开时碰撞避让、允许用户主动重叠、视口恢复。
  • 关闭主窗口级联子窗口;关闭子窗口不影响主窗口;脏源码统一确认;同一 codeRef 单实例。
  • 桌面自由浮窗;390px 使用视口内最大化工作台和适合移动端的面板切换。

非目标

  • 全语句断点、单步、watch expression、时间旅行调试。
  • 普通作者修改裸 context、runtime limits、run plan 或权限白名单。
  • 通用桌面操作系统/跨路由永久窗口。
  • 复制 Applications 私有日志窗口作为第二实现;必须提取窄共享机制。
  • 在 Console 中修改 Signal 或运行时状态。
  • 本 Delivery 不拥有 Callable/Signal 语义,只消费 Delivery 1/2 的 trace 与 snapshot contract。

独占模块 / 集成边界

  • Draft Run protocol/host aggregation、source map diagnostics。
  • Frontstage JSX Studio shell、运行控制台、Monaco diagnostic bridge。
  • 共享 Window Workspace 最小基础与 TSX Studio/Application Logs 适配边界。
  • 依赖 Delivery 1 的新 module/interface trace;Variables 消费 Delivery 2 Signal snapshot。
  • [Root] Frontstage 代码区块浏览器运行时编排与加载体验 #1382 的边界:显示其阶段/错误结果,不改变 Worker 调度和预算。
  • 与 Applications logs 的边界:共享窗口状态机/几何,不合并业务日志数据模型。

验收证据

编号 可观察结果 证据
D3-AC-01 未保存源码运行后,Preview 对应当前 draft hash,不误显示旧保存版本 Draft Run fixture + Playwright
D3-AC-02 Console 有界捕获 log/warn/error,循环/大对象/敏感字段不会卡死或泄漏 serialization/redaction negative
D3-AC-03 Variables 同时显示 inputs、允许 context、state/outputs、Signal snapshot,值与同一 run 一致 protocol/UI assertions
D3-AC-04 Interface Calls 显示绑定别名、入参/返回、耗时与状态;越权/Schema 错误脱敏 integration allow/deny
D3-AC-05 编译和运行错误可点击跳到准确 TSX 行并高亮;生成函数内部调用也有源位置 source-map fixtures + Monaco
D3-AC-06 读 operation 直接执行;写 operation 未授权拒绝、授权一次后仅对本 run 有效 browser controlled negative
D3-AC-07 普通作者界面不再出现裸 context/limits、Run plan 和内部 Request schema UI regression
D3-AC-08 主/子窗口拖动、四边缩放、最大化、置顶、碰撞避让和自由重叠正确 window state tests + Playwright
D3-AC-09 关闭主窗口级联子窗口;脏草稿统一确认;重复打开同 codeRef 激活现有窗口 owner/dirty/singleton scenarios
D3-AC-10 桌面窗口和 390px 最大化工作台均可完整编辑、运行、查看问题和关闭 responsive Playwright

Scout Evidence

  • Worker/session snapshot 已有 phase、logs、effects、rejections 与 schema/error,Draft Run 可在其上形成单一 run aggregate;当前 Sucrase compile 未保留显式 source map,需要 P9 验证并实现可靠原 TSX 位置。
  • Trial Panel 当前重复源码、允许裸 context/limits、展示 Run plan/Request/schema limits;应由正式 Console 替换。
  • Studio 当前是 ResizableDrawer;Applications Logs 已有拖动、左右/下方 resize、viewport clamp 与 z-index,但实现仍是 feature 私有且缺 owner/singleton/cascade/maximize。
  • 正式 inventory 冻结为 P8~P11;若共享窗口抽取会改变 Logs 业务语义,或 source location 需要扩大 compiler contract,按 stop-if 回 Root。

Work Packet Ledger

ID 具体代码结果 Input SHA / 依赖 Owned paths Owner / worktree AC / fixture 状态 / commit
P8 Shared Window Workspace + Applications Logs 适配 beta@844ac282 shared/ui/window-workspace + logs floating geometry/component/tests D3 developer AC-010;geometry/owner/singleton/logs regression ready
P9 Draft Run aggregate/source location/log/interface trace/write grant P1+P2+P6 assembly page-runtime js-block + restricted host/draft-run lib/tests D3 developer AC-008~009、011;redaction/source/write deny ready
P10 五面板 Draft Run Console 与 Monaco diagnostic bridge P7+P9 assembly run-console/Trial replacement/editor bridge/i18n/css/tests D3 developer AC-008~009;same run/shortcut/jump/confirm ready
P11 Floating TSX Studio 主从窗口与移动端工作台 P8+P10 assembly;串行消费 P4 Studio shell Studio shell/callers/css/tests D3 developer AC-010;drag/resize/maximize/cascade/dirty/390px ready

Test Batch

  • Window reducer/component:rect/z-order/maximize/viewport/owner cascade/codeRef singleton/dirty;Applications Logs 行为回归。
  • Draft Run:draft hash、同 run aggregate、日志上限/循环对象/脱敏、interface trace、source location、read/write grant lifecycle。
  • Console/Monaco:五面板、行跳转、Ctrl/Cmd+Enter、stop/rerun、内部技术 UI 移除。
  • Playwright:桌面自由窗口与 390px 最大化、未保存草稿、错误定位、写授权、主从关闭。
  • 执行时机:Root 冻结 assembly 后唯一 fresh QA 集中执行。

停止与上报条件

  • 需要全语句调试或允许用户修改裸运行时状态。
  • Window Workspace 只能通过复制 Applications 私有状态或改变其业务语义实现。
  • source map 无法映射用户 TSX,必须重新设计编译产物 contract。
  • 写 operation 授权无法约束到单个 Draft Run。
  • 新增跨路由永久窗口、全局桌面或改变 Root AC。

完成条件

全部 Work Packet 进入 Root assembly,D3-AC-01~10 在集中 Test Batch 有证据,Root fresh QA 通过,结果合入 protected baseline,Root #1393 账本已更新。

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:frontendFrontend UI or interaction workarea:runtimeRuntime and execution behaviorchild-issueChild implementation issuecontractContract or API semantics changegrade:g3Cross-domain decision or implementation workneeds-frontendNeeds frontend workneeds-qaNeeds QA or acceptance validationphase:readyIssue is shaped and ready for implementationplan:treeLong plan with one Root and vertical Delivery issuesrisk:mediumMedium risk if implemented incorrectlysize:lLarge implementation and review sizetype:featureFeature or new capability

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions