vibeglobe 0.2.0 → 0.3.0-rc.1
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/dist/create-vibe-globe.d.ts +4 -1
- package/dist/create-vibe-globe.d.ts.map +1 -1
- package/dist/create-vibe-globe.js +4 -4
- package/dist/create-vibe-globe.js.map +1 -1
- package/docs/data-licenses.md +9 -0
- package/docs/guides/integration.md +6 -4
- package/docs/guides/services.md +8 -7
- package/docs/guides/sources.md +23 -1
- package/package.json +1 -1
- package/sources/dist/earth-images.d.ts +25 -0
- package/sources/dist/earth-images.d.ts.map +1 -0
- package/sources/dist/earth-images.js +46 -0
- package/sources/dist/earth-images.js.map +1 -0
- package/sources/dist/index.d.ts +1 -0
- package/sources/dist/index.d.ts.map +1 -1
- package/sources/dist/index.js +1 -0
- package/sources/dist/index.js.map +1 -1
- package/sources/src/earth/day.webp +0 -0
- package/sources/src/earth/night.webp +0 -0
- package/sources/src/earth-images.ts +55 -0
- package/sources/src/index.ts +8 -0
- package/src/create-vibe-globe.ts +8 -7
- package/vue/README.md +2 -0
- package/vue/dist/globe-config.d.ts +2 -1
- package/vue/dist/globe-config.d.ts.map +1 -1
- package/vue/dist/globe-config.js +3 -1
- package/vue/dist/globe-config.js.map +1 -1
- package/vue/dist/vibe-globe.d.ts +11 -4
- package/vue/dist/vibe-globe.d.ts.map +1 -1
- package/vue/dist/vibe-globe.js +5 -2
- package/vue/dist/vibe-globe.js.map +1 -1
- package/vue/src/globe-config.ts +5 -2
- package/vue/src/vibe-globe.ts +5 -2
|
@@ -7,7 +7,10 @@ export interface VibeGlobeOptions extends Omit<GlobeOptions, 'container' | 'rend
|
|
|
7
7
|
readonly tiles: TileService;
|
|
8
8
|
/** Place search; without it the search box accepts coordinates only. */
|
|
9
9
|
readonly geocoder?: GeocoderService;
|
|
10
|
-
/**
|
|
10
|
+
/**
|
|
11
|
+
* An equirectangular image of the whole world, shown where no tile is loaded yet (default: the NASA Blue Marble
|
|
12
|
+
* shipped with the package, `dayImageUrl()` of `vibeglobe/sources`, with its polar caps).
|
|
13
|
+
*/
|
|
11
14
|
readonly baseImageryUrl?: string;
|
|
12
15
|
/** Mouse, touch and keyboard navigation options, or false for none. */
|
|
13
16
|
readonly controls?: ControlsOptions | false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-vibe-globe.d.ts","sourceRoot":"","sources":["../src/create-vibe-globe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"create-vibe-globe.d.ts","sourceRoot":"","sources":["../src/create-vibe-globe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAgC,KAAK,EAAE,EAAE,MAAM,eAAe,CAAC;AAGtE,kHAAkH;AAClH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,YAAY,EACZ,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,CACjF;IACC,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;IAC5C,gGAAgG;IAChG,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;IACtB,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;IAC5B,2DAA2D;IAC3D,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CA2C3G"}
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
import { createControls } from 'vibeglobe/controls';
|
|
4
4
|
import { createGlobe, GlobeError, } from 'vibeglobe/core';
|
|
5
5
|
import { createRenderer } from 'vibeglobe/renderer';
|
|
6
|
+
import { DAY_IMAGE_POLAR_CAPS, dayImageUrl } from 'vibeglobe/sources';
|
|
6
7
|
import { addDefaultControls, createUi } from 'vibeglobe/ui';
|
|
7
8
|
import { createWorkers } from 'vibeglobe/worker';
|
|
8
|
-
/** A 1×1 ocean-blue image: the world under the tiles while none is loaded, without an asset to host. */
|
|
9
|
-
const OCEAN = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGOQsY8BAAEyALi+BX15AAAAAElFTkSuQmCC';
|
|
10
9
|
/**
|
|
11
10
|
* Starts VibeGlobe in `container` with the application's services (ADR 0186): the tiles, required, and optionally a
|
|
12
11
|
* terrain and a geocoder. Resolves once the first frame is drawn and the tile service's style, if any, is attached;
|
|
@@ -14,15 +13,16 @@ const OCEAN = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1P
|
|
|
14
13
|
* style does not load.
|
|
15
14
|
*/
|
|
16
15
|
export async function createVibeGlobe(container, options) {
|
|
17
|
-
const { tiles, geocoder, controls, ui: withUi = true, language, baseImageryUrl
|
|
16
|
+
const { tiles, geocoder, controls, ui: withUi = true, language, baseImageryUrl, ...engine } = options;
|
|
18
17
|
if (!tiles)
|
|
19
18
|
throw new GlobeError('invalid-option', 'createVibeGlobe needs a tile service: { tiles }');
|
|
20
19
|
const globe = createGlobe({
|
|
20
|
+
...(baseImageryUrl ? {} : { polarCapColors: DAY_IMAGE_POLAR_CAPS }),
|
|
21
21
|
...engine,
|
|
22
22
|
container,
|
|
23
23
|
renderer: createRenderer(),
|
|
24
24
|
...(controls === false ? {} : { controls: createControls(controls) }),
|
|
25
|
-
baseImageryUrl,
|
|
25
|
+
baseImageryUrl: baseImageryUrl ?? dayImageUrl(),
|
|
26
26
|
imagery: tiles.imagery,
|
|
27
27
|
workers: createWorkers(),
|
|
28
28
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-vibe-globe.js","sourceRoot":"","sources":["../src/create-vibe-globe.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,kFAAkF;AAClF,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,UAAU,GAKX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"create-vibe-globe.js","sourceRoot":"","sources":["../src/create-vibe-globe.ts"],"names":[],"mappings":"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"}
|
package/docs/data-licenses.md
CHANGED
|
@@ -24,6 +24,15 @@ The application hosts these outputs itself and shows each attribution wherever t
|
|
|
24
24
|
| ------------------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- | ---------- |
|
|
25
25
|
| Fresher imagery: a mosaic built from raw Copernicus Sentinel-2 data | Copernicus Sentinel data licence (free, full and open) | Contains modified Copernicus Sentinel data {year} (the year of the data) | [https://registry.opendata.aws/sentinel-2-l2a-cogs/](https://registry.opendata.aws/sentinel-2-l2a-cogs/) | 2026-10-21 |
|
|
26
26
|
|
|
27
|
+
## Images shipped in the package
|
|
28
|
+
|
|
29
|
+
Two images ship in `vibeglobe/sources` (ADR 0194); an application that shows them shows their attribution.
|
|
30
|
+
|
|
31
|
+
| Image | Used by | License | Attribution (exact) | Source |
|
|
32
|
+
| ------------------------------------------------------------ | --------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| NASA Blue Marble, shaded relief and bathymetry (4096 × 2048) | `dayImageUrl()`, the default base image | Public domain | Imagery: NASA Blue Marble, from NASA's Global Imagery Browse Services (GIBS), part of NASA's ESDIS | [https://www.earthdata.nasa.gov/gibs](https://www.earthdata.nasa.gov/gibs) |
|
|
34
|
+
| NASA Black Marble 2016, VIIRS night lights (2048 × 2048) | `nightImageUrl()`, `nightLights()` | Public domain | Night lights: NASA Black Marble | [https://earthobservatory.nasa.gov/features/NightLights](https://earthobservatory.nasa.gov/features/NightLights) |
|
|
35
|
+
|
|
27
36
|
## Refused sources
|
|
28
37
|
|
|
29
38
|
The pipeline and the offline package builder (`vibeglobe-data pack`) refuse these before downloading anything:
|
|
@@ -51,9 +51,11 @@ assemble the same engine piece by piece, for an application that needs to choose
|
|
|
51
51
|
|
|
52
52
|
## The base image
|
|
53
53
|
|
|
54
|
-
`baseImageryUrl` is
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
`baseImageryUrl` is an equirectangular image of the whole world (for example a JPEG of 4096 × 2048 pixels). The engine
|
|
55
|
+
drapes it over the globe before any tile arrives and wherever no imagery layer has a tile. `createGlobe` and the Web
|
|
56
|
+
Component require it; `createVibeGlobe` and the Vue component default to the NASA Blue Marble shipped in the package
|
|
57
|
+
(`dayImageUrl()` of `vibeglobe/sources`, with its polar caps `DAY_IMAGE_POLAR_CAPS`), which bundlers copy to the
|
|
58
|
+
application's assets. `globe.ready` waits for it, and rejects with a `GlobeError` (`resource-failed`)
|
|
57
59
|
when it fails to load. The [hosting guide](hosting.md) shows how to build one from public-domain data.
|
|
58
60
|
|
|
59
61
|
## Plain TypeScript
|
|
@@ -151,7 +153,7 @@ the controls and, when `imagery` is set, the workers (`createWorkers()` of `vibe
|
|
|
151
153
|
|
|
152
154
|
| Prop | Applied | Effect |
|
|
153
155
|
| -------------------------------------------------------------- | --------------- | -------------------------------------------------------------------------- |
|
|
154
|
-
| `baseImageryUrl` | at start |
|
|
156
|
+
| `baseImageryUrl` | at start | The base image (default: the shipped NASA Blue Marble) |
|
|
155
157
|
| `imagery` | at start | Imagery sources, bottom first |
|
|
156
158
|
| `backend` | at start | `'auto'` (default), `'webgpu'` or `'webgl2'` |
|
|
157
159
|
| `controls` | at start | `true` (default), `false`, or the options of `createControls` |
|
package/docs/guides/services.md
CHANGED
|
@@ -70,12 +70,12 @@ key or token only when a request is made; a source's `attribution` and `profile`
|
|
|
70
70
|
`createVibeGlobe(container, options)` takes the services and every `GlobeOptions` field the engine does not build
|
|
71
71
|
itself (`view`, `quality`, `constraints`, `atmosphere`, `home`, `memory`, …).
|
|
72
72
|
|
|
73
|
-
| Option | Type | Default
|
|
74
|
-
| ---------------- | -------------------------- |
|
|
75
|
-
| `ui` | `boolean` | `true`
|
|
76
|
-
| `controls` | `ControlsOptions \| false` | the defaults
|
|
77
|
-
| `language` | `string` | `'en'`
|
|
78
|
-
| `baseImageryUrl` | `string` |
|
|
73
|
+
| Option | Type | Default | Effect |
|
|
74
|
+
| ---------------- | -------------------------- | ------------------------- | ------------------------------------------------- |
|
|
75
|
+
| `ui` | `boolean` | `true` | search, zoom, compass, fullscreen and coordinates |
|
|
76
|
+
| `controls` | `ControlsOptions \| false` | the defaults | mouse, touch and keyboard navigation |
|
|
77
|
+
| `language` | `string` | `'en'` | the controls' language and the map's names |
|
|
78
|
+
| `baseImageryUrl` | `string` | NASA Blue Marble, shipped | the world image shown where no tile is loaded yet |
|
|
79
79
|
|
|
80
80
|
The promise resolves with `globe` (the `Globe`), `ui` (the controls, `undefined` with `ui: false`; add more with
|
|
81
81
|
`ui.add`) and `destroy()`, which stops the globe and removes its canvas and controls.
|
|
@@ -86,7 +86,8 @@ The promise resolves with `globe` (the `Globe`), `ui` (the controls, `undefined`
|
|
|
86
86
|
offline use and credits included.
|
|
87
87
|
- The style loads before the promise resolves; a style that fails to load rejects it and stops the globe.
|
|
88
88
|
- Keys in tile URLs are visible to anyone who opens the page: restrict them to your domains in the provider's console.
|
|
89
|
-
-
|
|
89
|
+
- Without `baseImageryUrl` the globe starts on the NASA Blue Marble shipped in the package (`dayImageUrl()` of
|
|
90
|
+
`vibeglobe/sources`, 0.85 MB), which your bundler copies to your assets; pass your own image to replace it.
|
|
90
91
|
|
|
91
92
|
## Errors
|
|
92
93
|
|
package/docs/guides/sources.md
CHANGED
|
@@ -214,6 +214,27 @@ const lights = mercatorImage({
|
|
|
214
214
|
// A layer of its own: globe.imageryLayers.add({ id: 'night-lights', blend: 'night', sources: [lights] }).
|
|
215
215
|
```
|
|
216
216
|
|
|
217
|
+
## Images of the Earth shipped with the package
|
|
218
|
+
|
|
219
|
+
Two public-domain images ship in `vibeglobe/sources`; bundlers copy them to the application's assets, and nothing
|
|
220
|
+
downloads them unless the application uses them.
|
|
221
|
+
|
|
222
|
+
- `dayImageUrl()`: NASA Blue Marble with bathymetry by day, equirectangular, 4096 × 2048 pixels (0.85 MB), the default
|
|
223
|
+
base image of `createVibeGlobe` and the Vue component. Pass it with `DAY_IMAGE_POLAR_CAPS` to `createGlobe`, and
|
|
224
|
+
show `DAY_IMAGE_CREDIT` with the other credits.
|
|
225
|
+
- `nightLights(image?)`: the night side's city lights, a `blend: 'night'` layer (`NIGHT_LIGHTS_ID`) cut from NASA's
|
|
226
|
+
Black Marble 2016 (`nightImageUrl()`, Web Mercator, 2048 pixels), or from the application's own image of the world.
|
|
227
|
+
|
|
228
|
+
```ts
|
|
229
|
+
import { createGlobe } from 'vibeglobe/core';
|
|
230
|
+
import { DAY_IMAGE_POLAR_CAPS, dayImageUrl, NIGHT_LIGHTS_ID, nightLights } from 'vibeglobe/sources';
|
|
231
|
+
|
|
232
|
+
const globe = createGlobe({ container, renderer, baseImageryUrl: dayImageUrl(), polarCapColors: DAY_IMAGE_POLAR_CAPS });
|
|
233
|
+
globe.imageryLayers.add({ ...nightLights(), visible: false }); // or nightLights('/my/night-lights.webp')
|
|
234
|
+
// Shown with the night side: globe.setAtmosphere({ dayNight: 1, timeMs: Date.now() }).
|
|
235
|
+
globe.imageryLayers.set(NIGHT_LIGHTS_ID, { visible: true });
|
|
236
|
+
```
|
|
237
|
+
|
|
217
238
|
## Reprojection
|
|
218
239
|
|
|
219
240
|
The engine draws Web Mercator and geographic pyramids. A service in another reference system, such as UTM zones 32N
|
|
@@ -265,7 +286,8 @@ transparent outside the data, so the layers below show there.
|
|
|
265
286
|
|
|
266
287
|
Web Mercator sources end at ±85.0511°. Beyond, the globe draws two polar caps: a geographic (`EPSG:4326`) imagery
|
|
267
288
|
source that covers them fills them; otherwise each cap shows one color, `#78a9cd` in the north and `#f2f3f7` in the
|
|
268
|
-
south (the sea and the ice of the
|
|
289
|
+
south (the sea and the ice of the Natural Earth base image the pipeline builds); the day image shipped in the package
|
|
290
|
+
comes with its own, `DAY_IMAGE_POLAR_CAPS`.
|
|
269
291
|
|
|
270
292
|
```ts
|
|
271
293
|
import { createGlobe } from 'vibeglobe/core';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibeglobe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-rc.1",
|
|
4
4
|
"description": "VibeGlobe: a 3D globe and 2D map engine for the web, started in one call with the application's tile, terrain and geocoder services.",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Attribution, ImageryLayerOptions, PolarCapColors } from 'vibeglobe/core';
|
|
2
|
+
/**
|
|
3
|
+
* The world by day, shipped with the package (ADR 0194): NASA Blue Marble with shaded relief and bathymetry (public
|
|
4
|
+
* domain, from NASA GIBS), equirectangular, 4096 × 2048 pixels in WebP (0.85 MB), sharp to about level 4. It is the
|
|
5
|
+
* base image of `createVibeGlobe` and of the Vue component when they are given none; bundlers copy it to the
|
|
6
|
+
* application's assets from `src/earth/day.webp`, next to this module in the package.
|
|
7
|
+
*/
|
|
8
|
+
export declare const dayImageUrl: () => string;
|
|
9
|
+
/** The credit of {@link dayImageUrl}'s image. */
|
|
10
|
+
export declare const DAY_IMAGE_CREDIT: Attribution;
|
|
11
|
+
/** The polar caps that continue {@link dayImageUrl}'s image beyond ±85.05°: its deep sea north, its ice south. */
|
|
12
|
+
export declare const DAY_IMAGE_POLAR_CAPS: PolarCapColors;
|
|
13
|
+
/**
|
|
14
|
+
* City lights by night, shipped with the package: NASA Black Marble 2016 (VIIRS, public domain) in Web Mercator,
|
|
15
|
+
* 2048 × 2048 pixels in WebP (0.1 MB), from `src/earth/night.webp`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const nightImageUrl: () => string;
|
|
18
|
+
/** The id of the {@link nightLights} layer, to show or hide it with `globe.imageryLayers.set`. */
|
|
19
|
+
export declare const NIGHT_LIGHTS_ID = "night-lights";
|
|
20
|
+
/**
|
|
21
|
+
* The night side's city lights as an imagery layer (`blend: 'night'`, shown with `AtmosphereSettings.dayNight`): the
|
|
22
|
+
* shipped Black Marble, or `image`, the application's own Web Mercator image of the whole world.
|
|
23
|
+
*/
|
|
24
|
+
export declare function nightLights(image?: string): ImageryLayerOptions;
|
|
25
|
+
//# sourceMappingURL=earth-images.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"earth-images.d.ts","sourceRoot":"","sources":["../src/earth-images.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGxF;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAO,MAAgE,CAAC;AAEhG,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,EAAE,WAG9B,CAAC;AAEF,kHAAkH;AAClH,eAAO,MAAM,oBAAoB,EAAE,cAAuD,CAAC;AAE3F;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,MAAkE,CAAC;AAEpG,kGAAkG;AAClG,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAK9C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAE,MAAwB,GAAG,mBAAmB,CAgBhF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { mercatorImage } from './mercator-image.js';
|
|
2
|
+
/**
|
|
3
|
+
* The world by day, shipped with the package (ADR 0194): NASA Blue Marble with shaded relief and bathymetry (public
|
|
4
|
+
* domain, from NASA GIBS), equirectangular, 4096 × 2048 pixels in WebP (0.85 MB), sharp to about level 4. It is the
|
|
5
|
+
* base image of `createVibeGlobe` and of the Vue component when they are given none; bundlers copy it to the
|
|
6
|
+
* application's assets from `src/earth/day.webp`, next to this module in the package.
|
|
7
|
+
*/
|
|
8
|
+
export const dayImageUrl = () => new URL('../src/earth/day.webp', import.meta.url).href;
|
|
9
|
+
/** The credit of {@link dayImageUrl}'s image. */
|
|
10
|
+
export const DAY_IMAGE_CREDIT = {
|
|
11
|
+
text: "Imagery: NASA Blue Marble, from NASA's Global Imagery Browse Services (GIBS), part of NASA's ESDIS",
|
|
12
|
+
url: 'https://www.earthdata.nasa.gov/gibs',
|
|
13
|
+
};
|
|
14
|
+
/** The polar caps that continue {@link dayImageUrl}'s image beyond ±85.05°: its deep sea north, its ice south. */
|
|
15
|
+
export const DAY_IMAGE_POLAR_CAPS = { north: '#0e295a', south: '#eeefef' };
|
|
16
|
+
/**
|
|
17
|
+
* City lights by night, shipped with the package: NASA Black Marble 2016 (VIIRS, public domain) in Web Mercator,
|
|
18
|
+
* 2048 × 2048 pixels in WebP (0.1 MB), from `src/earth/night.webp`.
|
|
19
|
+
*/
|
|
20
|
+
export const nightImageUrl = () => new URL('../src/earth/night.webp', import.meta.url).href;
|
|
21
|
+
/** The id of the {@link nightLights} layer, to show or hide it with `globe.imageryLayers.set`. */
|
|
22
|
+
export const NIGHT_LIGHTS_ID = 'night-lights';
|
|
23
|
+
/** Levels cut at full resolution from a 2048-pixel image: it is seen only from afar. */
|
|
24
|
+
const NIGHT_LEVELS = 3;
|
|
25
|
+
/**
|
|
26
|
+
* The night side's city lights as an imagery layer (`blend: 'night'`, shown with `AtmosphereSettings.dayNight`): the
|
|
27
|
+
* shipped Black Marble, or `image`, the application's own Web Mercator image of the whole world.
|
|
28
|
+
*/
|
|
29
|
+
export function nightLights(image = nightImageUrl()) {
|
|
30
|
+
return {
|
|
31
|
+
id: NIGHT_LIGHTS_ID,
|
|
32
|
+
blend: 'night',
|
|
33
|
+
harmonize: false,
|
|
34
|
+
sources: [
|
|
35
|
+
mercatorImage({
|
|
36
|
+
id: NIGHT_LIGHTS_ID,
|
|
37
|
+
image,
|
|
38
|
+
maxLevel: NIGHT_LEVELS,
|
|
39
|
+
attribution: [
|
|
40
|
+
{ text: 'Night lights: NASA Black Marble', url: 'https://earthobservatory.nasa.gov/features/NightLights' },
|
|
41
|
+
],
|
|
42
|
+
}),
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=earth-images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"earth-images.js","sourceRoot":"","sources":["../src/earth-images.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAW,EAAE,CAAC,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAEhG,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,IAAI,EAAE,oGAAoG;IAC1G,GAAG,EAAE,qCAAqC;CAC3C,CAAC;AAEF,kHAAkH;AAClH,MAAM,CAAC,MAAM,oBAAoB,GAAmB,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAE3F;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAW,EAAE,CAAC,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AAEpG,kGAAkG;AAClG,MAAM,CAAC,MAAM,eAAe,GAAG,cAAc,CAAC;AAE9C,wFAAwF;AACxF,MAAM,YAAY,GAAG,CAAC,CAAC;AAEvB;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,aAAa,EAAE;IACzD,OAAO;QACL,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE;YACP,aAAa,CAAC;gBACZ,EAAE,EAAE,eAAe;gBACnB,KAAK;gBACL,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE;oBACX,EAAE,IAAI,EAAE,iCAAiC,EAAE,GAAG,EAAE,wDAAwD,EAAE;iBAC3G;aACF,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
|
package/sources/dist/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export { imageSizeOf, parseWorldFile, singleImage } from './single-image.js';
|
|
|
20
20
|
export type { SingleImageOptions, WorldFile } from './single-image.js';
|
|
21
21
|
export { mercatorImage } from './mercator-image.js';
|
|
22
22
|
export type { CutTile, MercatorImageOptions } from './mercator-image.js';
|
|
23
|
+
export { DAY_IMAGE_CREDIT, DAY_IMAGE_POLAR_CAPS, dayImageUrl, NIGHT_LIGHTS_ID, nightImageUrl, nightLights, } from './earth-images.js';
|
|
23
24
|
export { pmtilesArchive, pmtilesImagery, pmtilesTerrain, pmtilesVector } from './pmtiles-imagery.js';
|
|
24
25
|
export type { ArchiveContent } from './pmtiles-imagery.js';
|
|
25
26
|
export type { ArchiveTerrainEncoding, ArchiveTerrainOptions, VectorTileSource } from './archive-sources.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChG,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrG,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACzG,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,yBAAyB,EACzB,SAAS,GACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjF,YAAY,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAChG,YAAY,EACV,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrG,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC3E,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACzG,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,yBAAyB,EACzB,SAAS,GACV,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjF,YAAY,EACV,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,MAAM,0BAA0B,CAAC"}
|
package/sources/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { quantizedMeshTerrain } from './quantized-mesh-terrain.js';
|
|
|
14
14
|
export { combineProfiles, CUSTOM_PROFILE, SourceConfigError, withProfile } from './metadata.js';
|
|
15
15
|
export { imageSizeOf, parseWorldFile, singleImage } from './single-image.js';
|
|
16
16
|
export { mercatorImage } from './mercator-image.js';
|
|
17
|
+
export { DAY_IMAGE_CREDIT, DAY_IMAGE_POLAR_CAPS, dayImageUrl, NIGHT_LIGHTS_ID, nightImageUrl, nightLights, } from './earth-images.js';
|
|
17
18
|
export { pmtilesArchive, pmtilesImagery, pmtilesTerrain, pmtilesVector } from './pmtiles-imagery.js';
|
|
18
19
|
export { wmtsImagery } from './ogc/wmts-imagery.js';
|
|
19
20
|
export { parseWmtsCapabilities } from './ogc/wmts-capabilities.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,kFAAkF;AAClF;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQhG,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAQnE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAQzG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,kFAAkF;AAClF;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQhG,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrG,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAQnE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAQzG,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC"}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not
|
|
2
|
+
// distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
3
|
+
import type { Attribution, ImageryLayerOptions, PolarCapColors } from 'vibeglobe/core';
|
|
4
|
+
import { mercatorImage } from './mercator-image.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The world by day, shipped with the package (ADR 0194): NASA Blue Marble with shaded relief and bathymetry (public
|
|
8
|
+
* domain, from NASA GIBS), equirectangular, 4096 × 2048 pixels in WebP (0.85 MB), sharp to about level 4. It is the
|
|
9
|
+
* base image of `createVibeGlobe` and of the Vue component when they are given none; bundlers copy it to the
|
|
10
|
+
* application's assets from `src/earth/day.webp`, next to this module in the package.
|
|
11
|
+
*/
|
|
12
|
+
export const dayImageUrl = (): string => new URL('../src/earth/day.webp', import.meta.url).href;
|
|
13
|
+
|
|
14
|
+
/** The credit of {@link dayImageUrl}'s image. */
|
|
15
|
+
export const DAY_IMAGE_CREDIT: Attribution = {
|
|
16
|
+
text: "Imagery: NASA Blue Marble, from NASA's Global Imagery Browse Services (GIBS), part of NASA's ESDIS",
|
|
17
|
+
url: 'https://www.earthdata.nasa.gov/gibs',
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
/** The polar caps that continue {@link dayImageUrl}'s image beyond ±85.05°: its deep sea north, its ice south. */
|
|
21
|
+
export const DAY_IMAGE_POLAR_CAPS: PolarCapColors = { north: '#0e295a', south: '#eeefef' };
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* City lights by night, shipped with the package: NASA Black Marble 2016 (VIIRS, public domain) in Web Mercator,
|
|
25
|
+
* 2048 × 2048 pixels in WebP (0.1 MB), from `src/earth/night.webp`.
|
|
26
|
+
*/
|
|
27
|
+
export const nightImageUrl = (): string => new URL('../src/earth/night.webp', import.meta.url).href;
|
|
28
|
+
|
|
29
|
+
/** The id of the {@link nightLights} layer, to show or hide it with `globe.imageryLayers.set`. */
|
|
30
|
+
export const NIGHT_LIGHTS_ID = 'night-lights';
|
|
31
|
+
|
|
32
|
+
/** Levels cut at full resolution from a 2048-pixel image: it is seen only from afar. */
|
|
33
|
+
const NIGHT_LEVELS = 3;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The night side's city lights as an imagery layer (`blend: 'night'`, shown with `AtmosphereSettings.dayNight`): the
|
|
37
|
+
* shipped Black Marble, or `image`, the application's own Web Mercator image of the whole world.
|
|
38
|
+
*/
|
|
39
|
+
export function nightLights(image: string = nightImageUrl()): ImageryLayerOptions {
|
|
40
|
+
return {
|
|
41
|
+
id: NIGHT_LIGHTS_ID,
|
|
42
|
+
blend: 'night',
|
|
43
|
+
harmonize: false,
|
|
44
|
+
sources: [
|
|
45
|
+
mercatorImage({
|
|
46
|
+
id: NIGHT_LIGHTS_ID,
|
|
47
|
+
image,
|
|
48
|
+
maxLevel: NIGHT_LEVELS,
|
|
49
|
+
attribution: [
|
|
50
|
+
{ text: 'Night lights: NASA Black Marble', url: 'https://earthobservatory.nasa.gov/features/NightLights' },
|
|
51
|
+
],
|
|
52
|
+
}),
|
|
53
|
+
],
|
|
54
|
+
};
|
|
55
|
+
}
|
package/sources/src/index.ts
CHANGED
|
@@ -28,6 +28,14 @@ export { imageSizeOf, parseWorldFile, singleImage } from './single-image.js';
|
|
|
28
28
|
export type { SingleImageOptions, WorldFile } from './single-image.js';
|
|
29
29
|
export { mercatorImage } from './mercator-image.js';
|
|
30
30
|
export type { CutTile, MercatorImageOptions } from './mercator-image.js';
|
|
31
|
+
export {
|
|
32
|
+
DAY_IMAGE_CREDIT,
|
|
33
|
+
DAY_IMAGE_POLAR_CAPS,
|
|
34
|
+
dayImageUrl,
|
|
35
|
+
NIGHT_LIGHTS_ID,
|
|
36
|
+
nightImageUrl,
|
|
37
|
+
nightLights,
|
|
38
|
+
} from './earth-images.js';
|
|
31
39
|
export { pmtilesArchive, pmtilesImagery, pmtilesTerrain, pmtilesVector } from './pmtiles-imagery.js';
|
|
32
40
|
export type { ArchiveContent } from './pmtiles-imagery.js';
|
|
33
41
|
export type { ArchiveTerrainEncoding, ArchiveTerrainOptions, VectorTileSource } from './archive-sources.js';
|
package/src/create-vibe-globe.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
type TileService,
|
|
11
11
|
} from 'vibeglobe/core';
|
|
12
12
|
import { createRenderer } from 'vibeglobe/renderer';
|
|
13
|
+
import { DAY_IMAGE_POLAR_CAPS, dayImageUrl } from 'vibeglobe/sources';
|
|
13
14
|
import { addDefaultControls, createUi, type Ui } from 'vibeglobe/ui';
|
|
14
15
|
import { createWorkers } from 'vibeglobe/worker';
|
|
15
16
|
|
|
@@ -22,7 +23,10 @@ export interface VibeGlobeOptions extends Omit<
|
|
|
22
23
|
readonly tiles: TileService;
|
|
23
24
|
/** Place search; without it the search box accepts coordinates only. */
|
|
24
25
|
readonly geocoder?: GeocoderService;
|
|
25
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* An equirectangular image of the whole world, shown where no tile is loaded yet (default: the NASA Blue Marble
|
|
28
|
+
* shipped with the package, `dayImageUrl()` of `vibeglobe/sources`, with its polar caps).
|
|
29
|
+
*/
|
|
26
30
|
readonly baseImageryUrl?: string;
|
|
27
31
|
/** Mouse, touch and keyboard navigation options, or false for none. */
|
|
28
32
|
readonly controls?: ControlsOptions | false;
|
|
@@ -41,10 +45,6 @@ export interface VibeGlobe {
|
|
|
41
45
|
destroy(): void;
|
|
42
46
|
}
|
|
43
47
|
|
|
44
|
-
/** A 1×1 ocean-blue image: the world under the tiles while none is loaded, without an asset to host. */
|
|
45
|
-
const OCEAN =
|
|
46
|
-
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGOQsY8BAAEyALi+BX15AAAAAElFTkSuQmCC';
|
|
47
|
-
|
|
48
48
|
/**
|
|
49
49
|
* Starts VibeGlobe in `container` with the application's services (ADR 0186): the tiles, required, and optionally a
|
|
50
50
|
* terrain and a geocoder. Resolves once the first frame is drawn and the tile service's style, if any, is attached;
|
|
@@ -52,14 +52,15 @@ const OCEAN =
|
|
|
52
52
|
* style does not load.
|
|
53
53
|
*/
|
|
54
54
|
export async function createVibeGlobe(container: HTMLElement, options: VibeGlobeOptions): Promise<VibeGlobe> {
|
|
55
|
-
const { tiles, geocoder, controls, ui: withUi = true, language, baseImageryUrl
|
|
55
|
+
const { tiles, geocoder, controls, ui: withUi = true, language, baseImageryUrl, ...engine } = options;
|
|
56
56
|
if (!tiles) throw new GlobeError('invalid-option', 'createVibeGlobe needs a tile service: { tiles }');
|
|
57
57
|
const globe = createGlobe({
|
|
58
|
+
...(baseImageryUrl ? {} : { polarCapColors: DAY_IMAGE_POLAR_CAPS }),
|
|
58
59
|
...engine,
|
|
59
60
|
container,
|
|
60
61
|
renderer: createRenderer(),
|
|
61
62
|
...(controls === false ? {} : { controls: createControls(controls) }),
|
|
62
|
-
baseImageryUrl,
|
|
63
|
+
baseImageryUrl: baseImageryUrl ?? dayImageUrl(),
|
|
63
64
|
imagery: tiles.imagery,
|
|
64
65
|
workers: createWorkers(),
|
|
65
66
|
});
|
package/vue/README.md
CHANGED
|
@@ -43,6 +43,8 @@ export const ZoomReadout = defineComponent({
|
|
|
43
43
|
## Pitfalls
|
|
44
44
|
|
|
45
45
|
- `VibeGlobe` fills its parent: the parent must have a height.
|
|
46
|
+
- Without `baseImageryUrl` the globe starts on the NASA Blue Marble shipped in the package (`dayImageUrl()` of
|
|
47
|
+
`vibeglobe/sources`), which the bundler copies to the application's assets.
|
|
46
48
|
- `baseImageryUrl`, `imagery`, `backend`, `controls`, `gltf`, `workers` and `options` are read once, at start; the
|
|
47
49
|
camera props, `viewMode`, `layers`, `networkMode` and `qualityPreset` change the running engine.
|
|
48
50
|
- The composables and child components work inside `VibeGlobe`'s default slot.
|
|
@@ -5,7 +5,8 @@ import { type BackendChoice, type RendererOptions } from 'vibeglobe/renderer';
|
|
|
5
5
|
export type GlobeExtraOptions = Omit<GlobeOptions, 'container' | 'renderer' | 'controls' | 'baseImageryUrl' | 'view' | 'imagery' | 'workers'>;
|
|
6
6
|
/** What the component needs to start an engine: its props, resolved. */
|
|
7
7
|
export interface GlobeConfig {
|
|
8
|
-
|
|
8
|
+
/** The base image; without one, the NASA Blue Marble shipped with the package and its polar caps. */
|
|
9
|
+
readonly baseImageryUrl?: string | undefined;
|
|
9
10
|
readonly backend: BackendChoice;
|
|
10
11
|
/** Navigation: off (false), the defaults (true) or these options (F625's tilt policy, the navigation mode…). */
|
|
11
12
|
readonly controls: boolean | ControlsOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globe-config.d.ts","sourceRoot":"","sources":["../src/globe-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"globe-config.d.ts","sourceRoot":"","sources":["../src/globe-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI/F,mGAAmG;AACnG,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,YAAY,EACZ,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,gBAAgB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAC1F,CAAC;AAEF,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC1B,qGAAqG;IACrG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,gHAAgH;IAChH,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,CAAC;IAC7C,gFAAgF;IAChF,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GACvC,YAAY,CAcd;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAe9G;AAED,wGAAwG;AACxG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,GAAG,KAAK,CAGxG"}
|
package/vue/dist/globe-config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createRenderer } from 'vibeglobe/renderer';
|
|
2
|
+
import { DAY_IMAGE_POLAR_CAPS, dayImageUrl } from 'vibeglobe/sources';
|
|
2
3
|
import { createWorkers } from 'vibeglobe/worker';
|
|
3
4
|
/**
|
|
4
5
|
* The engine options for a configuration: a renderer in the container, the default navigation controls, and the
|
|
@@ -8,11 +9,12 @@ export function globeOptions(container, config, controls) {
|
|
|
8
9
|
const imagery = config.imagery ?? [];
|
|
9
10
|
const workers = config.workers ?? (imagery.length > 0 ? createWorkers() : undefined);
|
|
10
11
|
return {
|
|
12
|
+
...(config.baseImageryUrl ? {} : { polarCapColors: DAY_IMAGE_POLAR_CAPS }),
|
|
11
13
|
...config.options,
|
|
12
14
|
container,
|
|
13
15
|
renderer: createRenderer({ backend: config.backend, ...(config.gltf ? { gltf: config.gltf } : {}) }),
|
|
14
16
|
...(controls ? { controls } : {}),
|
|
15
|
-
baseImageryUrl: config.baseImageryUrl,
|
|
17
|
+
baseImageryUrl: config.baseImageryUrl ?? dayImageUrl(),
|
|
16
18
|
view: config.view,
|
|
17
19
|
...(imagery.length > 0 ? { imagery } : {}),
|
|
18
20
|
...(workers ? { workers } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globe-config.js","sourceRoot":"","sources":["../src/globe-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAA4C,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"globe-config.js","sourceRoot":"","sources":["../src/globe-config.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAA4C,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAuBlD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAsB,EACtB,MAAmB,EACnB,QAAwC;IAExC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACrF,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC;QAC1E,GAAG,MAAM,CAAC,OAAO;QACjB,SAAS;QACT,QAAQ,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACpG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,WAAW,EAAE;QACtD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB,EAAE,IAAc,EAAE,QAAmB;IACtF,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG;QACb,CAAC,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC;QACrC,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC;QACnC,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;QACjC,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;KACnB,CAAC;IACX,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,KAAK,MAAM;YAAE,SAAS;QACnE,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACzF,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,eAAe,CAAC,QAAmC;IACjE,IAAI,QAAQ,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC"}
|
package/vue/dist/vibe-globe.d.ts
CHANGED
|
@@ -27,10 +27,13 @@ export type ToggleMode = Parameters<Globe['setViewMode']>[0];
|
|
|
27
27
|
* `camera-change`, `globe-click` (a click with its position on the globe) and `error`.
|
|
28
28
|
*/
|
|
29
29
|
export declare const VibeGlobe: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* URL of the base image draped on the whole globe before any tile arrives. Default: the NASA Blue Marble shipped
|
|
32
|
+
* with the package (`dayImageUrl()` of `vibeglobe/sources`), with its polar caps. Read when the engine starts.
|
|
33
|
+
*/
|
|
31
34
|
baseImageryUrl: {
|
|
32
35
|
type: StringConstructor;
|
|
33
|
-
|
|
36
|
+
default: undefined;
|
|
34
37
|
};
|
|
35
38
|
/** Imagery sources, bottom first. Read when the engine starts. */
|
|
36
39
|
imagery: {
|
|
@@ -130,10 +133,13 @@ export declare const VibeGlobe: import("vue").DefineComponent<import("vue").Extr
|
|
|
130
133
|
'globe-click': (event: GlobeClickEvent) => boolean;
|
|
131
134
|
error: (error: GlobeError) => boolean;
|
|
132
135
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
133
|
-
/**
|
|
136
|
+
/**
|
|
137
|
+
* URL of the base image draped on the whole globe before any tile arrives. Default: the NASA Blue Marble shipped
|
|
138
|
+
* with the package (`dayImageUrl()` of `vibeglobe/sources`), with its polar caps. Read when the engine starts.
|
|
139
|
+
*/
|
|
134
140
|
baseImageryUrl: {
|
|
135
141
|
type: StringConstructor;
|
|
136
|
-
|
|
142
|
+
default: undefined;
|
|
137
143
|
};
|
|
138
144
|
/** Imagery sources, bottom first. Read when the engine starts. */
|
|
139
145
|
imagery: {
|
|
@@ -243,6 +249,7 @@ export declare const VibeGlobe: import("vue").DefineComponent<import("vue").Extr
|
|
|
243
249
|
viewMode: "auto" | "2d" | "3d";
|
|
244
250
|
layers: readonly LayerLook[];
|
|
245
251
|
controls: boolean | ControlsOptions;
|
|
252
|
+
baseImageryUrl: string;
|
|
246
253
|
imagery: readonly ImagerySource[];
|
|
247
254
|
workers: WorkerEndpointFactory;
|
|
248
255
|
gltf: import("vibeglobe/renderer").GltfLoaderFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibe-globe.d.ts","sourceRoot":"","sources":["../src/vibe-globe.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,eAAe,EAErB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAElB,KAAK,qBAAqB,EAC3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAQL,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,KAAK,EACX,MAAM,KAAK,CAAC;AAGb,OAAO,EAKL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAI5E,mHAAmH;AACnH,MAAM,WAAW,SAAU,SAAQ,mBAAmB;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;AAE1D,+GAA+G;AAC/G,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC;AAcD,mFAAmF;AACnF,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAoF7D;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS;IAGlB
|
|
1
|
+
{"version":3,"file":"vibe-globe.d.ts","sourceRoot":"","sources":["../src/vibe-globe.ts"],"names":[],"mappings":"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"}
|
package/vue/dist/vibe-globe.js
CHANGED
|
@@ -93,8 +93,11 @@ function viewOf(props) {
|
|
|
93
93
|
export const VibeGlobe = defineComponent({
|
|
94
94
|
name: 'VibeGlobe',
|
|
95
95
|
props: {
|
|
96
|
-
/**
|
|
97
|
-
|
|
96
|
+
/**
|
|
97
|
+
* URL of the base image draped on the whole globe before any tile arrives. Default: the NASA Blue Marble shipped
|
|
98
|
+
* with the package (`dayImageUrl()` of `vibeglobe/sources`), with its polar caps. Read when the engine starts.
|
|
99
|
+
*/
|
|
100
|
+
baseImageryUrl: { type: String, default: undefined },
|
|
98
101
|
/** Imagery sources, bottom first. Read when the engine starts. */
|
|
99
102
|
imagery: { type: Array, default: undefined },
|
|
100
103
|
/** 'auto' (WebGPU, falling back to WebGL2), 'webgpu' or 'webgl2'. Read when the engine starts. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibe-globe.js","sourceRoot":"","sources":["../src/vibe-globe.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"vibe-globe.js","sourceRoot":"","sources":["../src/vibe-globe.ts"],"names":[],"mappings":"AAAA,oHAAoH;AACpH,kFAAkF;AAClF,OAAO,EACL,cAAc,EACd,WAAW,GAIZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,GASZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,CAAC,EACD,eAAe,EACf,SAAS,EACT,OAAO,EACP,UAAU,EACV,KAAK,GAKN,MAAM,KAAK,CAAC;AACb,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAA4B,MAAM,cAAc,CAAC;AAE5E,MAAM,IAAI,GAAG,2BAA2B,CAAC;AAgBzC,6FAA6F;AAC7F,SAAS,WAAW,CAAC,MAAa,EAAE,KAAuC;IACzE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5D,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9E,IAAI,GAAG,KAAK,KAAK;YAAE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAcD,gHAAgH;AAChH,SAAS,UAAU,CACjB,OAAoB,EACpB,MAAmB,EACnB,KAAoC,EACpC,WAAuD,EACvD,KAA0B,EAC1B,IAAe,EACf,IAAoB,EACpB,QAAsC,EACtC,IAIC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACzE,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC;IAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpE,4GAA4G;IAC5G,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;IACrB,MAAM,SAAS,GAAG,CAAC,IAA4B,EAAQ,EAAE;QACvD,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9F,CAAC,CAAC;IACF,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtB,qEAAqE;IACrE,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,CAAoE,EAAQ,EAAE;QAChH,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC,CAAC;IACF,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,+FAA+F;IAC/F,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO;QACL,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;YAC7B,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzB,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;YAC5B,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO;YACnC,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACnD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,EAAE,SAAS,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;QACjC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;QACxC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;YAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC3D,IAAI,OAAO;gBAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;KACH,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,SAAS,MAAM,CACb,KAA+G;IAE/G,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAU,EAAE,CAAC;QAC5F,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE;QACL;;;WAGG;QACH,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QACpD,kEAAkE;QAClE,OAAO,EAAE,EAAE,IAAI,EAAE,KAA2C,EAAE,OAAO,EAAE,SAAS,EAAE;QAClF,kGAAkG;QAClG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAiC,EAAE,OAAO,EAAE,MAAM,EAAE;QACrE;;;;WAIG;QACH,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAwC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC3F;;;WAGG;QACH,IAAI,EAAE,EAAE,IAAI,EAAE,QAA0D,EAAE,OAAO,EAAE,SAAS,EAAE;QAC9F,kGAAkG;QAClG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAyC,EAAE,OAAO,EAAE,SAAS,EAAE;QAChF,uGAAuG;QACvG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAqC,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5E,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAClD,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QACjD,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1C,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAChD,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC7C,mHAAmH;QACnH,QAAQ,EAAE,EAAE,IAAI,EAAE,MAA8B,EAAE,OAAO,EAAE,SAAS,EAAE;QACtE;;;WAGG;QACH,MAAM,EAAE,EAAE,IAAI,EAAE,KAAuC,EAAE,OAAO,EAAE,SAAS,EAAE;QAC7E,iHAAiH;QACjH,OAAO,EAAE,EAAE,IAAI,EAAE,MAAqC,EAAE,OAAO,EAAE,SAAS,EAAE;QAC5E,6FAA6F;QAC7F,WAAW,EAAE,EAAE,IAAI,EAAE,MAA+B,EAAE,OAAO,EAAE,SAAS,EAAE;QAC1E;;;;WAIG;QACH,aAAa,EAAE,EAAE,IAAI,EAAE,MAAmD,EAAE,OAAO,EAAE,SAAS,EAAE;KACjG;IACD,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,OAA6B,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ;QACrE,IAAI,EAAE,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ;QACnE,eAAe,EAAE,CAAC,MAAmB,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ;QACpE,aAAa,EAAE,CAAC,KAAsB,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;QACpE,KAAK,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ;KACxD;IACD,KAAK,EAAE,MAA6E;IACpF,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;QAClC,MAAM,SAAS,GAAG,UAAU,EAAe,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,EAAS,CAAC;QAClC,MAAM,QAAQ,GAAG,UAAU,EAAsB,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAChC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC1B,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,WAAW,CACxB,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EACjB,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CACtB,CAAC;QACF,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,GAAa,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAmB,EAAE,CAAC;QAE/B,SAAS,CAAC,GAAG,EAAE;YACb,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,KAAK,GAAG,UAAU,CAChB,OAAO,EACP,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAC1B,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,EACpB;gBACE,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM;gBAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAU;gBAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa;aACnC,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,GAAG,EAAE;YACnB,KAAK,MAAM,IAAI,IAAI,KAAK;gBAAE,IAAI,EAAE,CAAC;YACjC,KAAK,GAAG,EAAE,CAAC;YACX,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;YACvB,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YACxB,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,EAAE,CACV,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,0DAA0D,EAAE,EAAE;YAClG,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACpE,KAAK,CAAC,KAAK;gBACT,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,CAAC,CACC,KAAK,EACL,EAAE,KAAK,EAAE,uBAAuB,EAAE,4BAA4B,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EACjF,KAAK,CAAC,WAAW,EAAE,EAAE,CACtB;YACL,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;SACvC,CAAC,CAAC;IACP,CAAC;CACF,CAAC,CAAC"}
|
package/vue/src/globe-config.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import type { ControlsOptions, NavigationControls } from 'vibeglobe/controls';
|
|
4
4
|
import type { Globe, GlobeOptions, ImagerySource, ViewInit } from 'vibeglobe/core';
|
|
5
5
|
import { createRenderer, type BackendChoice, type RendererOptions } from 'vibeglobe/renderer';
|
|
6
|
+
import { DAY_IMAGE_POLAR_CAPS, dayImageUrl } from 'vibeglobe/sources';
|
|
6
7
|
import { createWorkers } from 'vibeglobe/worker';
|
|
7
8
|
|
|
8
9
|
/** Engine options the component passes through unchanged (everything it does not build itself). */
|
|
@@ -13,7 +14,8 @@ export type GlobeExtraOptions = Omit<
|
|
|
13
14
|
|
|
14
15
|
/** What the component needs to start an engine: its props, resolved. */
|
|
15
16
|
export interface GlobeConfig {
|
|
16
|
-
|
|
17
|
+
/** The base image; without one, the NASA Blue Marble shipped with the package and its polar caps. */
|
|
18
|
+
readonly baseImageryUrl?: string | undefined;
|
|
17
19
|
readonly backend: BackendChoice;
|
|
18
20
|
/** Navigation: off (false), the defaults (true) or these options (F625's tilt policy, the navigation mode…). */
|
|
19
21
|
readonly controls: boolean | ControlsOptions;
|
|
@@ -37,11 +39,12 @@ export function globeOptions(
|
|
|
37
39
|
const imagery = config.imagery ?? [];
|
|
38
40
|
const workers = config.workers ?? (imagery.length > 0 ? createWorkers() : undefined);
|
|
39
41
|
return {
|
|
42
|
+
...(config.baseImageryUrl ? {} : { polarCapColors: DAY_IMAGE_POLAR_CAPS }),
|
|
40
43
|
...config.options,
|
|
41
44
|
container,
|
|
42
45
|
renderer: createRenderer({ backend: config.backend, ...(config.gltf ? { gltf: config.gltf } : {}) }),
|
|
43
46
|
...(controls ? { controls } : {}),
|
|
44
|
-
baseImageryUrl: config.baseImageryUrl,
|
|
47
|
+
baseImageryUrl: config.baseImageryUrl ?? dayImageUrl(),
|
|
45
48
|
view: config.view,
|
|
46
49
|
...(imagery.length > 0 ? { imagery } : {}),
|
|
47
50
|
...(workers ? { workers } : {}),
|
package/vue/src/vibe-globe.ts
CHANGED
|
@@ -168,8 +168,11 @@ function viewOf(
|
|
|
168
168
|
export const VibeGlobe = defineComponent({
|
|
169
169
|
name: 'VibeGlobe',
|
|
170
170
|
props: {
|
|
171
|
-
/**
|
|
172
|
-
|
|
171
|
+
/**
|
|
172
|
+
* URL of the base image draped on the whole globe before any tile arrives. Default: the NASA Blue Marble shipped
|
|
173
|
+
* with the package (`dayImageUrl()` of `vibeglobe/sources`), with its polar caps. Read when the engine starts.
|
|
174
|
+
*/
|
|
175
|
+
baseImageryUrl: { type: String, default: undefined },
|
|
173
176
|
/** Imagery sources, bottom first. Read when the engine starts. */
|
|
174
177
|
imagery: { type: Array as PropType<readonly ImagerySource[]>, default: undefined },
|
|
175
178
|
/** 'auto' (WebGPU, falling back to WebGL2), 'webgpu' or 'webgl2'. Read when the engine starts. */
|