shuiyuPyLab
|
bcf4122991
|
chore: 项目已迁移至 Gitee/GitHub,仅保留迁移说明 (tombstone)
|
2026-08-09 09:57:57 +08:00 |
|
shuiyu
|
ad091c89b0
|
chore: relicense to MIT
|
2026-08-02 18:47:38 +08:00 |
|
openclaw
|
8d92b9deec
|
添加反编译进度跟踪,新仓库: codemao-heart-source
|
2026-05-02 22:35:09 +08:00 |
|
openclaw
|
39dec4376d
|
添加 player_v2.js 完整源码架构分析
从 1.8MB webpack bundle 中提取的关键信息:
- Heart 运行时完整类结构 (Registry, Compiler, Interpreter, RuntimeManager)
- 80+ domain functions (积木实现) 清单
- Interpreter.do_step() 执行流程详解
- BCM 加载流程
- PIXI.js 渲染层架构
- 性能瓶颈分析和 JIT 切入点
- 关键代码的 webpack 模块位置
|
2026-05-02 22:21:29 +08:00 |
|
openclaw
|
cd50c395b1
|
v3.1: 实现 Heart 运行时注入机制
注入策略:
- 拦截 requestAnimationFrame 检测游戏循环
- 拦截 PIXI.Application 构造函数获取 pixi app
- 通过 React fiber 树遍历查找 Heart 实例
- 从 Redux store 监听作品加载状态
- Patch Interpreter.step() 为 JIT 编译版本
支持的积木:变量、逻辑、数学、文本、控制流、
过程调用、广播、时间、列表、通用 domain function
|
2026-05-02 22:15:28 +08:00 |
|
openclaw
|
c7247c69cd
|
v3.0: 废弃 Canvas 2D 方案,新增 Heart JIT 加速器
- 分析 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 解释器,不在渲染层
|
2026-05-02 22:11:17 +08:00 |
|
codemao-webgl-engine
|
b0b62f6a1e
|
feat: Canvas 2D → WebGL 实时转译器 v2.0
核心思路: 拦截 getContext('2d'),返回 Canvas2DProxy 代理
所有 Canvas 2D API 内部转译为 WebGL GPU 渲染
转译覆盖:
- fillRect/strokeRect/clearRect → 纯色四边形
- drawImage → 纹理采样四边形
- fillText/strokeText → 离屏Canvas→纹理→四边形
- fill/stroke (路径) → ear-clipping三角化/粗线四边形
- arc/ellipse/bezierCurveTo → 细分折线
- save/restore/translate/rotate/scale → 变换矩阵栈
- getImageData/putImageData → gl.readPixels/texImage2D
- globalAlpha/globalCompositeOperation → alpha/blendFunc
性能优化:
- 批量渲染: 4096四边形/批次,单次drawArrays
- 纹理缓存: WeakMap + 8纹理槽
- 关闭antialias/强制独显/低延迟
|
2026-05-02 21:33:29 +08:00 |
|