@macrostrat/cesium-martini 1.4.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 +109 -87
- package/babel.config.js +3 -0
- package/dist/index.cjs +657 -137
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +651 -139
- package/dist/index.js.map +1 -1
- package/package.json +18 -12
- package/rollup.config.js +4 -1
- package/tsconfig.json +3 -6
- package/.babelrc +0 -3
- package/typings/worker-loader.d.ts +0 -10
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,8 +35,8 @@ 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
|
|
|
@@ -47,12 +49,15 @@ After cloning this repository, you can build the module (using Rollup) with
|
|
|
47
49
|
|
|
48
50
|
### Example applications
|
|
49
51
|
|
|
50
|
-
Several example applications are available in the [`examples/`](examples/)
|
|
51
|
-
|
|
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)
|
|
58
63
|
- `yarn run example:mapzen` (Vite + Mapzen)
|
|
@@ -60,66 +65,77 @@ in the root of this repository, and then start the appropriate example:
|
|
|
60
65
|
- `yarn run example:webpack-mapzen` (Webpack + Mapzen)
|
|
61
66
|
- `yarn run example:webpack-react` (Webpack + React)
|
|
62
67
|
|
|
63
|
-
Contributions in the form of bug reports and pull requests are welcome.
|
|
64
|
-
|
|
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
|
|
65
70
|
performance. See list of [known limitations](#current-known-limitations) below.
|
|
66
71
|
|
|
67
72
|
## Motivation
|
|
68
73
|
|
|
69
74
|
The Cesium digital globe is a powerful platform for visualization of geospatial
|
|
70
|
-
data in 3D. Cesium maintains a global elevation dataset as a prebuilt terrain
|
|
71
|
-
which caches the computationally-intensive step of meshing height-field
|
|
72
|
-
into a triangle irregular network (TIN). Unfortunately, this
|
|
73
|
-
[quantized mesh](https://github.com/CesiumGS/quantized-mesh) format is
|
|
74
|
-
new, narrowly supported and tailored to Cesium itself.
|
|
75
|
-
|
|
76
|
-
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
|
|
77
84
|
|
|
78
85
|
Mapbox maintains a multiscale global elevation dataset in their clever
|
|
79
86
|
[terrain-RGB](https://blog.mapbox.com/global-elevation-data-6689f1d0ba65)
|
|
80
|
-
format, which bridges web standard file formats (PNG images) with traditional
|
|
81
|
-
formats for representing terrain. Rasters are the standard
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
format, but the jump from there to a
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
[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
|
|
88
96
|
[elegant algorithmic approach](https://observablehq.com/@mourner/martin-real-time-rtin-terrain-mesh)
|
|
89
|
-
that sidesteps this issue.
|
|
90
|
-
|
|
91
|
-
and is far quicker than the traditional TIN generation
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
meshes are generated at levels of detail that undersample the
|
|
108
|
-
in a terrain tile
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
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.
|
|
117
132
|
|
|
118
133
|
### Outstanding bugs and issues
|
|
119
134
|
|
|
120
135
|
- [x] High-resolution `@2x` tiles are notionally supported but not well-tested.
|
|
121
136
|
- [ ] There is no formal testing framework to catch regressions.
|
|
122
|
-
- [
|
|
137
|
+
- [x] TypeScript types are discarded on compilation rather than checked
|
|
138
|
+
properly.
|
|
123
139
|
|
|
124
140
|
## Prior art and relevant examples
|
|
125
141
|
|
|
@@ -132,35 +148,41 @@ of Cesium would provide some guidance here.
|
|
|
132
148
|
- [Cesium globe materials example](https://sandcastle.cesium.com/?src=Globe%20Materials.html)
|
|
133
149
|
- [Cesium sky/atmosphere example](https://sandcastle.cesium.com/?src=Sky%20Atmosphere.html)
|
|
134
150
|
|
|
135
|
-
##
|
|
136
|
-
|
|
137
|
-
- Make compatible with Mapbox's new `terrain-dem` tileset if possible
|
|
138
|
-
- Better masking of unavailable tiles
|
|
139
|
-
- Bathymetry option
|
|
140
|
-
- Tie to hillshade generator so the same tiles are loaded
|
|
151
|
+
## Changelog
|
|
141
152
|
|
|
142
|
-
|
|
153
|
+
### `[1.5.0]`: February 2025
|
|
143
154
|
|
|
144
|
-
|
|
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
|
|
145
159
|
|
|
146
160
|
### `[1.4.0]`: February 2025
|
|
147
161
|
|
|
148
|
-
- Merge [**PR #10**](https://github.com/davenquinn/cesium-martini/pull/10) from
|
|
149
|
-
|
|
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
|
|
150
167
|
- Migrated Vite examples to Vite 5
|
|
151
168
|
- Upgraded `axios` dependency
|
|
152
|
-
- Remove submodule dependency for `@mapbox/martini` in favor of directly
|
|
169
|
+
- Remove submodule dependency for `@mapbox/martini` in favor of directly
|
|
170
|
+
importing from [my fork](https://github.com/davenquinn/martini)
|
|
153
171
|
- Upgrade `yarn` to `4.6.0`
|
|
154
172
|
|
|
155
173
|
### `[1.3.0]`: September 2023
|
|
156
174
|
|
|
157
|
-
- Add compilation to ESModules, which allows the package to be used with modern
|
|
158
|
-
|
|
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.
|
|
159
180
|
- Remove `regenerator-runtime` from web-worker code, targeting modern platforms.
|
|
160
181
|
|
|
161
182
|
#### Development environment
|
|
162
183
|
|
|
163
|
-
We reorganized the development environment and examples for a more modern
|
|
184
|
+
We reorganized the development environment and examples for a more modern
|
|
185
|
+
overall design.
|
|
164
186
|
|
|
165
187
|
- Switched to `yarn` from `npm` as the default package manager
|
|
166
188
|
- Enabled Yarn Plug'n'Play for faster development
|
|
@@ -169,15 +191,15 @@ We reorganized the development environment and examples for a more modern overal
|
|
|
169
191
|
- Moved all examples to the `examples/` directory as Yarn workspaces, enabling
|
|
170
192
|
separation of dependencies
|
|
171
193
|
|
|
172
|
-
|
|
173
194
|
### `[1.2.0]`: November 2021
|
|
174
195
|
|
|
175
196
|
- Globe caps! (disable using the `fillPoles` option).
|
|
176
197
|
- Some fixes for efficiency
|
|
177
198
|
- Fixed small errors in tile occlusion code
|
|
178
|
-
- Added a `minZoom` configuration option to prevent excessive loading of
|
|
179
|
-
-
|
|
180
|
-
|
|
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
|
|
181
203
|
|
|
182
204
|
### `[1.1.3]`: June 2021
|
|
183
205
|
|
|
@@ -186,8 +208,8 @@ We reorganized the development environment and examples for a more modern overal
|
|
|
186
208
|
### `[1.1.2]`: May 2021
|
|
187
209
|
|
|
188
210
|
- Fixed a bug with loading high-resolution tiles
|
|
189
|
-
- Added a `skipOddLevels` option that significantly reduces the load of zooming
|
|
190
|
-
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.
|
|
191
213
|
- Greatly increase skirt height
|
|
192
214
|
|
|
193
215
|
### `[1.1.0]`: May 2021
|
package/babel.config.js
ADDED