Cesium 源码目录总览
本文档用于说明此仓库中各主要目录的作用。
重点覆盖开发、构建、测试与文档相关目录。
顶层目录
| 目录 | 作用 |
|---|---|
.github/ |
GitHub 工作流、Issue/PR 模板与自动化配置。 |
.husky/ |
Git Hook(如 pre-commit、commit-msg)。 |
.vscode/ |
VS Code 工作区配置。 |
.idea/ |
JetBrains IDE 项目配置。 |
.settings/ |
Eclipse 或其他 IDE 的工程设置。 |
.externalToolBuilders/ |
IDE 外部构建工具配置。 |
Apps/ |
面向用户的示例/演示应用(Viewer、Sandcastle、示例数据等)。 |
Build/ |
构建产物目录(压缩版/未压缩版分发包、生成的测试构建等)。 |
Documentation/ |
用户与开发者文档源文件及静态资源。 |
launches/ |
本地运行与构建任务的启动预设。 |
packages/ |
工作区子包(engine、widgets、sandcastle)。 |
scripts/ |
npm/gulp 调用的自动化与构建脚本。 |
Source/ |
Cesium 主源码目录与运行时模块。 |
Specs/ |
单元/集成/e2e 测试与测试辅助工具。 |
ThirdParty/ |
仓库内维护的第三方源码/资源。 |
Tools/ |
文档与构建流程使用的内部工具。 |
node_modules/ |
本地安装依赖(生成目录,非源码)。 |
Apps/
| 目录/文件 | 作用 |
|---|---|
Apps/CesiumViewer/ |
完整 Cesium Viewer 演示应用。 |
Apps/SampleData/ |
示例与测试使用的数据集。 |
Apps/Sandcastle/ |
旧版 Sandcastle 应用/资源。 |
Apps/Sandcastle2/ |
当前 Sandcastle 应用输出与运行目录。 |
Apps/TimelineDemo/ |
Timeline 功能演示应用。 |
Apps/HelloWorld.html |
最小化 Hello World 示例页面。 |
Build/
| 目录/文件 | 作用 |
|---|---|
Build/Cesium/ |
生产用压缩版分发产物。 |
Build/CesiumUnminified/ |
便于调试的未压缩分发产物。 |
Build/CesiumDev/ |
面向开发场景的构建输出。 |
Build/Specs/ |
生成的测试运行构建产物。 |
Build/package.json |
构建产物相关包元数据。 |
packages/
| 目录 | 作用 |
|---|---|
packages/engine/ |
核心引擎包(渲染、场景、数据/模型底层能力)。 |
packages/widgets/ |
基于引擎的 UI 组件包。 |
packages/sandcastle/ |
Sandcastle 源码、构建脚本与示例库工具。 |
Source/(核心运行时代码)
| 目录/文件 | 作用 |
|---|---|
Source/Cesium.js |
主 ESM 入口,导出 Cesium API。 |
Source/Assets/ |
运行时静态资源(图片、JSON、查找表等)。 |
Source/Core/ |
数学、几何、工具函数、平台抽象等核心模块。 |
Source/DataSources/ |
实体(Entity)与数据驱动可视化相关模块。 |
Source/Renderer/ |
WebGL/WebGPU 渲染层内部实现与抽象。 |
Source/Scene/ |
场景图、地球/影像/3D Tiles/材质、帧逻辑等。 |
Source/Shaders/ |
Shader 源码与相关模块。 |
Source/ThirdParty/ |
运行时直接使用的第三方代码。 |
Source/Widget/ |
旧的 Widget 相关命名空间(历史兼容)。 |
Source/Widgets/ |
Widget UI 模块与样式。 |
Source/Workers/ |
Worker 线程中的异步处理模块。 |
Documentation/
| 目录/文件 | 作用 |
|---|---|
Documentation/Contributors/ |
贡献者相关文档与参考资料。 |
Documentation/CustomShaderGuide/ |
自定义着色器指南。 |
Documentation/FabricGuide/ |
Fabric/材质系统说明。 |
Documentation/Images/ |
文档使用的图片资源。 |
Documentation/OfflineGuide/ |
离线使用与部署指南。 |
Documentation/Schemas/ |
文档工具/内容使用的 JSON Schema。 |
Documentation/README.md |
文档索引与入口说明。 |
Specs/
| 目录/文件 | 作用 |
|---|---|
Specs/Data/ |
静态测试数据与夹具(fixtures)。 |
Specs/e2e/ |
浏览器端端到端测试(Playwright 配置与用例)。 |
Specs/TestWorkers/ |
Worker 相关测试与辅助代码。 |
Specs/TypeScript/ |
TypeScript 类型与 API 测试。 |
Specs/*.js |
单元测试、断言扩展、测试工具函数。 |
Specs/karma*.cjs |
Karma 测试运行配置。 |
Specs/spec-main.js, SpecList.js |
测试启动入口与用例聚合。 |
scripts/
| 文件/区域 | 作用 |
|---|---|
scripts/build.js |
主构建流程编排辅助脚本。 |
scripts/buildSandcastle.js |
Sandcastle 应用与示例库构建入口。 |
scripts/createRoute.js |
路由生成/辅助脚本。 |
scripts/ContextCache.js |
构建或运行过程中的上下文缓存辅助。 |
scripts/isCI.js |
CI 环境检测脚本。 |
scripts/lebab-batch.js |
批量代码转换辅助脚本。 |
Tools/
| 目录/文件 | 作用 |
|---|---|
Tools/jsdoc/ |
JSDoc 文档生成工具与模板。 |
Tools/rollup-plugin-strip-pragma/ |
构建流程中使用的内部 Rollup 插件。 |
Tools/package.json |
工具链依赖元数据。 |
launches/
| 目录 | 作用 |
|---|---|
launches/ |
IDE 内构建/发布/文档/服务启动任务预设。 |
ThirdParty/
| 目录 | 作用 |
|---|---|
ThirdParty/ |
构建与运行依赖的第三方资源及配套文件。 |
备注
Source/、packages/engine/、packages/widgets/是运行时引擎/组件开发的核心目录。Apps/Sandcastle2/与packages/sandcastle/是 Sandcastle 功能与构建相关的核心目录。Build/与node_modules/属于生成产物/依赖目录,不是主要手写源码。