从 1.8MB webpack bundle 中提取的关键信息: - Heart 运行时完整类结构 (Registry, Compiler, Interpreter, RuntimeManager) - 80+ domain functions (积木实现) 清单 - Interpreter.do_step() 执行流程详解 - BCM 加载流程 - PIXI.js 渲染层架构 - 性能瓶颈分析和 JIT 切入点 - 关键代码的 webpack 模块位置
注入策略: - 拦截 requestAnimationFrame 检测游戏循环 - 拦截 PIXI.Application 构造函数获取 pixi app - 通过 React fiber 树遍历查找 Heart 实例 - 从 Redux store 监听作品加载状态 - Patch Interpreter.step() 为 JIT 编译版本 支持的积木:变量、逻辑、数学、文本、控制流、 过程调用、广播、时间、列表、通用 domain function
- 分析 player_v2.js 源码确认:Kitten N 渲染层已是 PIXI.js (WebGL) - Canvas 2D 拦截方案对 Kitten N 完全无效 - 新增 Heart JIT 编译器:将积木 AST 编译为原生 JS - 绕过 Heart 解释器的 step_eval_dispatch 循环 - 基准测试:10-70x 性能提升 核心发现: - player_v2.js 包含完整 PIXI.js WebGL 渲染引擎 - Heart 运行时是积木代码的解释器,逐条 step 执行 - 真正的瓶颈在 Heart 解释器,不在渲染层