@macrostrat/cesium-martini 1.3.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/cesium-martini.iml +9 -0
- package/.idea/codeStyles/Project.xml +57 -0
- package/.idea/codeStyles/codeStyleConfig.xml +5 -0
- package/.idea/inspectionProfiles/Project_Default.xml +6 -0
- package/.idea/libraries/cache.xml +769 -0
- package/.idea/misc.xml +6 -0
- package/.idea/modules.xml +8 -0
- package/.idea/prettier.xml +8 -0
- package/.idea/vcs.xml +20 -0
- package/.idea/workspace.xml +125 -0
- package/.prettierrc +3 -0
- package/README.md +116 -83
- package/babel.config.js +3 -0
- package/dist/index.cjs +845 -681
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +839 -679
- package/dist/index.js.map +1 -1
- package/package.json +24 -15
- package/rollup.config.js +4 -1
- package/tsconfig.json +3 -6
- package/webpack.config.js +75 -0
- package/.babelrc +0 -3
- package/.gitmodules +0 -3
package/.idea/misc.xml
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
|
4
|
+
<output url="file://$PROJECT_DIR$/out" />
|
|
5
|
+
</component>
|
|
6
|
+
</project>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="ProjectModuleManager">
|
|
4
|
+
<modules>
|
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/cesium-martini.iml" filepath="$PROJECT_DIR$/.idea/cesium-martini.iml" />
|
|
6
|
+
</modules>
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="PrettierConfiguration">
|
|
4
|
+
<option name="myConfigurationMode" value="MANUAL" />
|
|
5
|
+
<option name="myRunOnSave" value="true" />
|
|
6
|
+
<option name="myFilesPattern" value="**/*.{js,ts,jsx,tsx,cjs,cts,mjs,mts,vue,astro,md}" />
|
|
7
|
+
</component>
|
|
8
|
+
</project>
|
package/.idea/vcs.xml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="IssueNavigationConfiguration">
|
|
4
|
+
<option name="links">
|
|
5
|
+
<list>
|
|
6
|
+
<IssueNavigationLink>
|
|
7
|
+
<option name="issueRegexp" value="\(#(\d+)\)" />
|
|
8
|
+
<option name="linkRegexp" value="https://github.com/davenquinn/cesium-martini/issues/$1" />
|
|
9
|
+
</IssueNavigationLink>
|
|
10
|
+
<IssueNavigationLink>
|
|
11
|
+
<option name="issueRegexp" value="\(#(\d+)\)" />
|
|
12
|
+
<option name="linkRegexp" value="https://github.com/davenquinn/martini/issues/$1" />
|
|
13
|
+
</IssueNavigationLink>
|
|
14
|
+
</list>
|
|
15
|
+
</option>
|
|
16
|
+
</component>
|
|
17
|
+
<component name="VcsDirectoryMappings">
|
|
18
|
+
<mapping directory="" vcs="Git" />
|
|
19
|
+
</component>
|
|
20
|
+
</project>
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<project version="4">
|
|
3
|
+
<component name="AutoImportSettings">
|
|
4
|
+
<option name="autoReloadType" value="SELECTIVE" />
|
|
5
|
+
</component>
|
|
6
|
+
<component name="ChangeListManager">
|
|
7
|
+
<list default="true" id="c63fbe16-a437-4e92-9177-f56de7f7200d" name="Changes" comment="">
|
|
8
|
+
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
|
|
9
|
+
<change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
|
|
10
|
+
</list>
|
|
11
|
+
<option name="SHOW_DIALOG" value="false" />
|
|
12
|
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
13
|
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
|
14
|
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
|
15
|
+
</component>
|
|
16
|
+
<component name="Git.Settings">
|
|
17
|
+
<option name="RECENT_BRANCH_BY_REPOSITORY">
|
|
18
|
+
<map>
|
|
19
|
+
<entry key="$PROJECT_DIR$" value="b35a980e6b6d6bdd4e6fe12f48dea9d5d1fee27a" />
|
|
20
|
+
</map>
|
|
21
|
+
</option>
|
|
22
|
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
|
23
|
+
</component>
|
|
24
|
+
<component name="GitHubPullRequestSearchHistory">{
|
|
25
|
+
"lastFilter": {
|
|
26
|
+
"state": "OPEN",
|
|
27
|
+
"assignee": "davenquinn"
|
|
28
|
+
}
|
|
29
|
+
}</component>
|
|
30
|
+
<component name="GithubPullRequestsUISettings">{
|
|
31
|
+
"selectedUrlAndAccountId": {
|
|
32
|
+
"url": "https://github.com/davenquinn/cesium-martini.git",
|
|
33
|
+
"accountId": "52565d3a-d148-4d26-a021-78a3e61fe000"
|
|
34
|
+
}
|
|
35
|
+
}</component>
|
|
36
|
+
<component name="ProjectColorInfo">{
|
|
37
|
+
"associatedIndex": 1
|
|
38
|
+
}</component>
|
|
39
|
+
<component name="ProjectId" id="2scR6KJfXRgKYtH9HK3HqkyDJQi" />
|
|
40
|
+
<component name="ProjectViewState">
|
|
41
|
+
<option name="autoscrollToSource" value="true" />
|
|
42
|
+
<option name="hideEmptyMiddlePackages" value="true" />
|
|
43
|
+
<option name="openDirectoriesWithSingleClick" value="true" />
|
|
44
|
+
<option name="showExcludedFiles" value="false" />
|
|
45
|
+
<option name="showLibraryContents" value="true" />
|
|
46
|
+
</component>
|
|
47
|
+
<component name="PropertiesComponent"><![CDATA[{
|
|
48
|
+
"keyToString": {
|
|
49
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
50
|
+
"RunOnceActivity.git.unshallow": "true",
|
|
51
|
+
"git-widget-placeholder": "overscaled-tiles",
|
|
52
|
+
"kotlin-language-version-configured": "true",
|
|
53
|
+
"last_opened_file_path": "/Users/Daven/Projects/Macrostrat/Software/cesium-martini/examples/vite/src",
|
|
54
|
+
"node.js.detected.package.eslint": "true",
|
|
55
|
+
"node.js.detected.package.tslint": "true",
|
|
56
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
57
|
+
"node.js.selected.package.tslint": "(autodetect)",
|
|
58
|
+
"nodejs_package_manager_path": "yarn",
|
|
59
|
+
"prettierjs.PrettierConfiguration.Package": "yarn:package.json:prettier",
|
|
60
|
+
"project.structure.last.edited": "Modules",
|
|
61
|
+
"project.structure.proportion": "0.0",
|
|
62
|
+
"project.structure.side.proportion": "0.0",
|
|
63
|
+
"settings.editor.selected.configurable": "settings.javascript.prettier",
|
|
64
|
+
"ts.external.directory.path": "yarn:examples/_webpack-config/package.json:typescript",
|
|
65
|
+
"vue.rearranger.settings.migration": "true"
|
|
66
|
+
}
|
|
67
|
+
}]]></component>
|
|
68
|
+
<component name="RecentsManager">
|
|
69
|
+
<key name="CopyFile.RECENT_KEYS">
|
|
70
|
+
<recent name="$PROJECT_DIR$/examples/vite/src" />
|
|
71
|
+
<recent name="$PROJECT_DIR$/examples/vite-mapzen-worker" />
|
|
72
|
+
<recent name="$PROJECT_DIR$/examples" />
|
|
73
|
+
<recent name="$PROJECT_DIR$/examples/webpack-worker" />
|
|
74
|
+
</key>
|
|
75
|
+
<key name="MoveFile.RECENT_KEYS">
|
|
76
|
+
<recent name="$PROJECT_DIR$/examples/webpack" />
|
|
77
|
+
<recent name="$PROJECT_DIR$/examples/_shared" />
|
|
78
|
+
<recent name="$PROJECT_DIR$/examples/vite-mapzen-worker" />
|
|
79
|
+
</key>
|
|
80
|
+
</component>
|
|
81
|
+
<component name="SharedIndexes">
|
|
82
|
+
<attachedChunks>
|
|
83
|
+
<set>
|
|
84
|
+
<option value="bundled-jdk-9823dce3aa75-125ca727e0f0-intellij.indexing.shared.core-IU-243.23654.189" />
|
|
85
|
+
<option value="bundled-js-predefined-d6986cc7102b-822845ee3bb5-JavaScript-IU-243.23654.189" />
|
|
86
|
+
</set>
|
|
87
|
+
</attachedChunks>
|
|
88
|
+
</component>
|
|
89
|
+
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
|
90
|
+
<component name="TaskManager">
|
|
91
|
+
<task active="true" id="Default" summary="Default task">
|
|
92
|
+
<changelist id="c63fbe16-a437-4e92-9177-f56de7f7200d" name="Changes" comment="" />
|
|
93
|
+
<created>1738752699502</created>
|
|
94
|
+
<option name="number" value="Default" />
|
|
95
|
+
<option name="presentableId" value="Default" />
|
|
96
|
+
<updated>1738752699502</updated>
|
|
97
|
+
<workItem from="1738752700650" duration="46117000" />
|
|
98
|
+
<workItem from="1739406376299" duration="20669000" />
|
|
99
|
+
</task>
|
|
100
|
+
<servers />
|
|
101
|
+
</component>
|
|
102
|
+
<component name="TypeScriptGeneratedFilesManager">
|
|
103
|
+
<option name="version" value="3" />
|
|
104
|
+
<option name="exactExcludedFiles">
|
|
105
|
+
<list>
|
|
106
|
+
<option value="$PROJECT_DIR$/src/index.d.ts" />
|
|
107
|
+
</list>
|
|
108
|
+
</option>
|
|
109
|
+
</component>
|
|
110
|
+
<component name="Vcs.Log.Tabs.Properties">
|
|
111
|
+
<option name="TAB_STATES">
|
|
112
|
+
<map>
|
|
113
|
+
<entry key="MAIN">
|
|
114
|
+
<value>
|
|
115
|
+
<State />
|
|
116
|
+
</value>
|
|
117
|
+
</entry>
|
|
118
|
+
</map>
|
|
119
|
+
</option>
|
|
120
|
+
</component>
|
|
121
|
+
<component name="XSLT-Support.FileAssociations.UIState">
|
|
122
|
+
<expand />
|
|
123
|
+
<select />
|
|
124
|
+
</component>
|
|
125
|
+
</project>
|
package/.prettierrc
ADDED
package/README.md
CHANGED
|
@@ -2,28 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
**On-the-fly meshing of raster elevation tiles for the CesiumJS virtual globe**
|
|
4
4
|
|
|
5
|
+
[](https://badge.fury.io/js/@macrostrat%2Fcesium-martini)
|
|
6
|
+
|
|
5
7
|

|
|
6
8
|
|
|
7
9
|
This package contains a Cesium
|
|
8
10
|
[TerrainProvider](https://cesium.com/docs/cesiumjs-ref-doc/TerrainProvider.html)
|
|
9
11
|
that uses right-triangular irregular networks (RTIN) pioneered by
|
|
10
|
-
[Mapbox's Martini](https://observablehq.com/@mourner/martin-real-time-rtin-terrain-mesh)
|
|
11
|
-
transform
|
|
12
|
-
[
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for future rich
|
|
21
|
-
|
|
12
|
+
[Mapbox's Martini](https://observablehq.com/@mourner/martin-real-time-rtin-terrain-mesh)
|
|
13
|
+
to transform
|
|
14
|
+
[Terrain-RGB elevation tiles](https://blog.mapbox.com/global-elevation-data-6689f1d0ba65)
|
|
15
|
+
into [quantized mesh terrain](https://github.com/CesiumGS/quantized-mesh), for
|
|
16
|
+
rendering in the [CesiumJS digital globe](https://cesium.com). The module
|
|
17
|
+
provides a general technique applicable to all raster imagery (although the
|
|
18
|
+
Terrain-RGB format is near-ideal for streaming elevation data). Fixes for
|
|
19
|
+
performance and better control of rendering quality are in progress.
|
|
20
|
+
|
|
21
|
+
This module was created to support our geologic map visualization work at
|
|
22
|
+
[Macrostrat](https://macrostrat.org) and as a building block for future rich
|
|
23
|
+
geoscience visualizations.
|
|
22
24
|
|
|
23
25
|
## Installation
|
|
24
26
|
|
|
25
|
-
This package is listed on NPM as `@macrostrat/cesium-martini`. It can be
|
|
26
|
-
using the command
|
|
27
|
+
This package is listed on NPM as `@macrostrat/cesium-martini`. It can be
|
|
28
|
+
installed using the command
|
|
27
29
|
|
|
28
30
|
```
|
|
29
31
|
npm install --save @macrostrat/cesium-martini
|
|
@@ -33,13 +35,12 @@ npm install --save @macrostrat/cesium-martini
|
|
|
33
35
|
|
|
34
36
|
## Development
|
|
35
37
|
|
|
36
|
-
As of version `1.3.x`, `cesium-martini` development is tested with the Yarn
|
|
37
|
-
Your mileage with `npm` may vary.
|
|
38
|
+
As of version `1.3.x`, `cesium-martini` development is tested with the Yarn
|
|
39
|
+
package manager. Your mileage with `npm` may vary.
|
|
38
40
|
|
|
39
41
|
### Quick start
|
|
40
42
|
|
|
41
43
|
1. Clone the repository
|
|
42
|
-
2. Run `git submodule update --init` to fetch the [martini](https://github.com/mapbox/martini) submodule
|
|
43
44
|
2. Install dependencies with `yarn install`
|
|
44
45
|
3. Build the package with `yarn run build`
|
|
45
46
|
|
|
@@ -48,76 +49,93 @@ After cloning this repository, you can build the module (using Rollup) with
|
|
|
48
49
|
|
|
49
50
|
### Example applications
|
|
50
51
|
|
|
51
|
-
Several example applications are available in the [`examples/`](examples/)
|
|
52
|
-
|
|
52
|
+
Several example applications are available in the [`examples/`](examples/)
|
|
53
|
+
directory and runnable from the root project. The main example is built with
|
|
54
|
+
Vite and others are built with Webpack v5. As well as showing how to use this
|
|
55
|
+
module, these examples contain configuration for bundling Cesium in each
|
|
56
|
+
packaging system.
|
|
53
57
|
|
|
54
|
-
To run an example application, add `MAPBOX_API_TOKEN=<your-mapbox-token>` to a
|
|
55
|
-
in the root of this repository, and then start the appropriate
|
|
58
|
+
To run an example application, add `MAPBOX_API_TOKEN=<your-mapbox-token>` to a
|
|
59
|
+
`.env` file. in the root of this repository, and then start the appropriate
|
|
60
|
+
example:
|
|
56
61
|
|
|
57
62
|
- `yarn run example` (Vite)
|
|
63
|
+
- `yarn run example:mapzen` (Vite + Mapzen)
|
|
58
64
|
- `yarn run example:webpack` (Webpack)
|
|
65
|
+
- `yarn run example:webpack-mapzen` (Webpack + Mapzen)
|
|
59
66
|
- `yarn run example:webpack-react` (Webpack + React)
|
|
60
67
|
|
|
61
|
-
Contributions in the form of bug reports and pull requests are welcome.
|
|
62
|
-
|
|
68
|
+
Contributions in the form of bug reports and pull requests are welcome. These
|
|
69
|
+
can be to add functionality (e.g. optional normal-map generation) or for
|
|
63
70
|
performance. See list of [known limitations](#current-known-limitations) below.
|
|
64
71
|
|
|
65
72
|
## Motivation
|
|
66
73
|
|
|
67
74
|
The Cesium digital globe is a powerful platform for visualization of geospatial
|
|
68
|
-
data in 3D. Cesium maintains a global elevation dataset as a prebuilt terrain
|
|
69
|
-
which caches the computationally-intensive step of meshing height-field
|
|
70
|
-
into a triangle irregular network (TIN). Unfortunately, this
|
|
71
|
-
[quantized mesh](https://github.com/CesiumGS/quantized-mesh) format is
|
|
72
|
-
new, narrowly supported and tailored to Cesium itself.
|
|
73
|
-
|
|
74
|
-
processing pipelines and storage resources.
|
|
75
|
+
data in 3D. Cesium maintains a global elevation dataset as a prebuilt terrain
|
|
76
|
+
mesh, which caches the computationally-intensive step of meshing height-field
|
|
77
|
+
data into a triangle irregular network (TIN). Unfortunately, this
|
|
78
|
+
[quantized mesh](https://github.com/CesiumGS/quantized-mesh) format is
|
|
79
|
+
relatively new, narrowly supported and tailored to Cesium itself. Supporting a
|
|
80
|
+
TIN format for elevation datasets requires maintenance of significant
|
|
81
|
+
single-purpose processing pipelines and storage resources.
|
|
82
|
+
|
|
83
|
+
### Fast raster meshing
|
|
75
84
|
|
|
76
85
|
Mapbox maintains a multiscale global elevation dataset in their clever
|
|
77
86
|
[terrain-RGB](https://blog.mapbox.com/global-elevation-data-6689f1d0ba65)
|
|
78
|
-
format, which bridges web standard file formats (PNG images) with traditional
|
|
79
|
-
formats for representing terrain. Rasters are the standard
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
format, but the jump from there to a
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
[Vladimir Agafonkin](https://agafonkin.com/) at Mapbox
|
|
87
|
+
format, which bridges web standard file formats (PNG images) with traditional
|
|
88
|
+
raster GIS formats for representing terrain. Rasters are the standard
|
|
89
|
+
representation of elevation data across the geosciences, and many pipelines are
|
|
90
|
+
available to create and modify raster images. Basically any elevation dataset
|
|
91
|
+
can be easily rescaled to the Terrain-RGB format, but the jump from there to a
|
|
92
|
+
"Quantized mesh" is more complicated.
|
|
93
|
+
|
|
94
|
+
More recently, [Vladimir Agafonkin](https://agafonkin.com/) at Mapbox
|
|
95
|
+
demonstrated an
|
|
86
96
|
[elegant algorithmic approach](https://observablehq.com/@mourner/martin-real-time-rtin-terrain-mesh)
|
|
87
|
-
that sidesteps this issue.
|
|
88
|
-
|
|
89
|
-
and is far quicker than the traditional TIN generation
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
meshes are generated at levels of detail that undersample the
|
|
106
|
-
in a terrain tile
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
97
|
+
that sidesteps this issue. His [MARTINI](https://github.com/mapbox/martini)
|
|
98
|
+
project constructs meshes based on right-triangulated irregular networks (RTIN,
|
|
99
|
+
_Evans et al., 1998_) and is far quicker than the traditional TIN generation
|
|
100
|
+
techniques.
|
|
101
|
+
|
|
102
|
+
A speedy meshing algorithm allows this data-preparation step to be handled in
|
|
103
|
+
the browser after elevation tiles are loaded. Integrating this toolchain into
|
|
104
|
+
the Cesium digital globe enables the usage of Mapbox global data and other
|
|
105
|
+
raster terrain layers (e.g. planetary and bathymetric data!), without adding
|
|
106
|
+
overhead of TIN processing and storage.
|
|
107
|
+
|
|
108
|
+
### Progressive mesh enhancement (added in version `1.5.0`)
|
|
109
|
+
|
|
110
|
+
Cesium `TerrainProvider`s are generally designed to represent static terrain
|
|
111
|
+
meshes. The RTIN algorithm used here can dynamically build meshes at a variety
|
|
112
|
+
of error levels, and the input height fields can represent extremely detailed
|
|
113
|
+
meshes at a given zoom level.
|
|
114
|
+
|
|
115
|
+
By default, meshes are generated at levels of detail that undersample the
|
|
116
|
+
available structure in a terrain tile, calibrated to what Cesium needs to render
|
|
117
|
+
visually pleasing output at a given zoom level. To more fully exploit the
|
|
118
|
+
available data, we can generate meshes at progressively higher resolution from
|
|
119
|
+
the same input data. This allows some zoom levels to be skipped, greatly
|
|
120
|
+
increasing efficiency.
|
|
121
|
+
|
|
122
|
+
This "overzooming" can be enabled using the `skipZoomLevels` configuration. For
|
|
123
|
+
instance, the below function will refuse to load tiles except in
|
|
124
|
+
|
|
125
|
+
```js
|
|
126
|
+
function skipZoomLevels(z) {
|
|
127
|
+
return z % 3 != 0;
|
|
128
|
+
}
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
The configuration also takes a single number and array.
|
|
115
132
|
|
|
116
133
|
### Outstanding bugs and issues
|
|
117
134
|
|
|
118
135
|
- [x] High-resolution `@2x` tiles are notionally supported but not well-tested.
|
|
119
136
|
- [ ] There is no formal testing framework to catch regressions.
|
|
120
|
-
- [
|
|
137
|
+
- [x] TypeScript types are discarded on compilation rather than checked
|
|
138
|
+
properly.
|
|
121
139
|
|
|
122
140
|
## Prior art and relevant examples
|
|
123
141
|
|
|
@@ -130,26 +148,41 @@ of Cesium would provide some guidance here.
|
|
|
130
148
|
- [Cesium globe materials example](https://sandcastle.cesium.com/?src=Globe%20Materials.html)
|
|
131
149
|
- [Cesium sky/atmosphere example](https://sandcastle.cesium.com/?src=Sky%20Atmosphere.html)
|
|
132
150
|
|
|
133
|
-
##
|
|
151
|
+
## Changelog
|
|
134
152
|
|
|
135
|
-
|
|
136
|
-
- Better masking of unavailable tiles
|
|
137
|
-
- Bathymetry option
|
|
138
|
-
- Tie to hillshade generator so the same tiles are loaded
|
|
153
|
+
### `[1.5.0]`: February 2025
|
|
139
154
|
|
|
140
|
-
|
|
155
|
+
- Allow overzooming of tiles when zoom levels are skipped
|
|
156
|
+
- Improve and deduplicate examples
|
|
157
|
+
- Fix typescript types
|
|
158
|
+
- Improve some internal organization of code
|
|
141
159
|
|
|
142
|
-
|
|
160
|
+
### `[1.4.0]`: February 2025
|
|
161
|
+
|
|
162
|
+
- Merge [**PR #10**](https://github.com/davenquinn/cesium-martini/pull/10) from
|
|
163
|
+
[_Stuart Attenborrow_](https://github.com/stuarta0) to allow loading of
|
|
164
|
+
non-Mapbox terrain tiles
|
|
165
|
+
- Created Vite and Webpack examples of using the module with Mapzen Terrarium
|
|
166
|
+
tiles
|
|
167
|
+
- Migrated Vite examples to Vite 5
|
|
168
|
+
- Upgraded `axios` dependency
|
|
169
|
+
- Remove submodule dependency for `@mapbox/martini` in favor of directly
|
|
170
|
+
importing from [my fork](https://github.com/davenquinn/martini)
|
|
171
|
+
- Upgrade `yarn` to `4.6.0`
|
|
143
172
|
|
|
144
173
|
### `[1.3.0]`: September 2023
|
|
145
174
|
|
|
146
|
-
- Add compilation to ESModules, which allows the package to be used with modern
|
|
147
|
-
|
|
175
|
+
- Add compilation to ESModules, which allows the package to be used with modern
|
|
176
|
+
bundlers like [**Vite**](https://vitejs.dev). _Contributed by
|
|
177
|
+
[@fc](https://github.com/fc)._
|
|
178
|
+
- Change latitude-based scaling factor for tile error to improve fidelity at
|
|
179
|
+
high latitudes.
|
|
148
180
|
- Remove `regenerator-runtime` from web-worker code, targeting modern platforms.
|
|
149
181
|
|
|
150
182
|
#### Development environment
|
|
151
183
|
|
|
152
|
-
We reorganized the development environment and examples
|
|
184
|
+
We reorganized the development environment and examples for a more modern
|
|
185
|
+
overall design.
|
|
153
186
|
|
|
154
187
|
- Switched to `yarn` from `npm` as the default package manager
|
|
155
188
|
- Enabled Yarn Plug'n'Play for faster development
|
|
@@ -158,15 +191,15 @@ We reorganized the development environment and examples through a set of interre
|
|
|
158
191
|
- Moved all examples to the `examples/` directory as Yarn workspaces, enabling
|
|
159
192
|
separation of dependencies
|
|
160
193
|
|
|
161
|
-
|
|
162
194
|
### `[1.2.0]`: November 2021
|
|
163
195
|
|
|
164
196
|
- Globe caps! (disable using the `fillPoles` option).
|
|
165
197
|
- Some fixes for efficiency
|
|
166
198
|
- Fixed small errors in tile occlusion code
|
|
167
|
-
- Added a `minZoom` configuration option to prevent excessive loading of
|
|
168
|
-
-
|
|
169
|
-
|
|
199
|
+
- Added a `minZoom` configuration option to prevent excessive loading of
|
|
200
|
+
low-resolution tiles
|
|
201
|
+
- Four (!) pull requests from [@stuarta0](https://github.com/stuarta0) to
|
|
202
|
+
improve loading of non-Mapbox tilesets
|
|
170
203
|
|
|
171
204
|
### `[1.1.3]`: June 2021
|
|
172
205
|
|
|
@@ -175,8 +208,8 @@ We reorganized the development environment and examples through a set of interre
|
|
|
175
208
|
### `[1.1.2]`: May 2021
|
|
176
209
|
|
|
177
210
|
- Fixed a bug with loading high-resolution tiles
|
|
178
|
-
- Added a `skipOddLevels` option that significantly reduces the load of zooming
|
|
179
|
-
This is enabled by default.
|
|
211
|
+
- Added a `skipOddLevels` option that significantly reduces the load of zooming
|
|
212
|
+
through many terrain levels. This is enabled by default.
|
|
180
213
|
- Greatly increase skirt height
|
|
181
214
|
|
|
182
215
|
### `[1.1.0]`: May 2021
|
package/babel.config.js
ADDED