· 多运行时兼容
引擎的总体目标:一款高性能 canvas 绘图引擎,同时兼容 Web 浏览器与各类小程序。因此所有代码都不得依赖浏览器专有 API。
约束:运行时依赖极简
- 零运行时依赖:
gl-matrix在构建时被内联进产物(它只列在devDependencies,产物里没有任何import/require),lodash已用src/util/lang.ts自研工具替代。安装后开箱即用,不会因为缺少运行时依赖而报错。 - 内联的第三方代码保留其版权与许可声明:随包产出
dist/THIRD-PARTY-NOTICES.txt(由rollup-plugin-license生成)。 MIT 要求随分发保留声明,只留引擎自己的 banner 是不够的。 - 这保证了引擎可以在任何能跑 JS、能提供 Canvas Context 的环境中使用,而不被 npm 生态的浏览器假设拖累。