WebGL layers for maptalks.
- maptalks核心库的目标JS版本为ES5
- maptalks-gl的目标JS版为ES6(ES2015)
gltf-loader
gltf 格式解析库reshader.gl
基于regl实现的三维渲染接口,包括renderer,scene,Mesh,Material等常用的渲染基础类以及预先定义的各类渲染材质,例如PBR
gl
WebGL基础图层功能,包括 GroupGLLayer,地形,后处理以及各种三维Mask的实现layer-3dtiles
3dtiles图层(Geo3DTilesLayer)的实现layer-gltf
gltf图层(GLTFLayer/GLTFMarker)的实现layer-video
video图层(VideoLayer/VideoSurface)的实现
vector-packer
矢量瓦片格式的解析以及数据结构的组织vt-plugin
矢量瓦片渲染插件的接口定义vt
矢量瓦片图层(VectorTileLayer/GeoJSONVectorTileLayer)的实现
analysis
包含各类三维分析功能的实现traffic
交通模拟的实现
transcoders.crn
crn格式解析库transcoders.draco
draco格式解析库transcoders.ktx
ktx2压缩纹理格式解析库
node 环境目前最低要求为 18.16.1,如果不符合最低 node 版本要求,可以使用 nvm / fnm 管理 node 版本
目前本项目使用的 pnpm@9.x,目前推荐使用 pnpm@9.6.0,如果不符合最低 pnpm 版本要求可以升级一下版本。
pnpm i
因为packages间存在依赖关系(具体可以参考各个package中package.json中的定义),可以先用下面的指令做一次整体编译:
pnpm run build
如果需要调试编译,即用watch模式编译,每次修改后都能自动编译,且编译目标包含源代码,方便在浏览器或测试中查看调试代码,在需要调试编译的工程下运行下面的指令即可:
pnpm run dev
工程采用karma或electron-mocha(vt与layer-3dtiles)作为测试框架,测试用例都是基于mocha的语法编写。
在每个工程下运行 npm test
- 如果工程基于 electron-mocha,运行
pnpm run tdd -- -g "spec keywords"
- 如果工程基于 karma,则需要修改测试源代码,通过mocha中的only方法来指定运行的用例,例如:
it('spec name', () => {});
改为:
it.only('spec name', () => {});