F-15 Action Timeline 内核。sanitize* / mergeActionTimelines 是纯函数。虚拟化 ledger、SVG overview 和工作台面板在 island.ts,保留 _timelineView 对象同一性与 E2E 函数名。契约清单上的 window 名字由本模块自己赋值(不改 window-exports.ts 除标记区注释)。
| 文件 | 职责 |
|---|---|
api.ts |
同源 /api/v1 fetch、optionalApi、hint / 后续车道 isReady 调用。 |
dom.ts |
el / iconEl / ghostIconBtn / svgElement / $ / bytes。 |
execution-request.ts |
exactExecutionIdentity / scopedExecutionRequest(app.js:3021-3041):中断必须指名它要停的那一次执行。 |
execution-request.test.ts |
Vitest:中断必须指名具体执行;找不到属主时拒绝发送。 |
index.ts |
bootTimeline:注册 WS handler 并把契约名字挂到 window。 |
index.test.ts |
installTimeline 把 loadWorkbenchState 挂到后续车道的 callWindow。 |
island.ts |
命令式孤岛:46px ledger、overview SVG、五个侧栏面板、renderActionTimeline。 |
model.ts |
span / overview 几何、actionTimelineEntryKey、epoch 解析。 |
s.ts |
createSProxy() 别名,保证 _timelineView 嵌套写入保持同一性。 |
sanitize.ts |
sanitize* 家族与 mergeActionTimelines(app.js:2795-3298)。 |
sanitize.test.ts |
sanitize* 与 merge 的 Vitest。 |
types.ts |
白名单投影形状。 |
ws.ts |
action_timeline / execution / recovery / branch / delegation / sandbox handler。 |