world.ts 0.5.13 → 0.6.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.
@@ -1,20 +1,20 @@
1
- import { Context } from '../../context';
2
- import { Viewport } from '../../viewport';
3
- import { Properties, Billboard } from '..';
4
-
1
+ import type { Context } from "../../context";
2
+ import type { Viewport } from "../../viewport";
3
+ import type { Properties } from "..";
4
+ import { type Billboard } from "..";
5
5
  export declare const createBillboardLayer: (context: Context, properties?: Properties<Partial<Billboard>>) => {
6
- onClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
7
- onRightClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
8
- onDoubleClick: ((_: import('../..').Pick) => void) | undefined;
9
- onDrag: ((_: import('../..').Pick) => void) | undefined;
10
- onDragFlat: ((_: import('../..').Pick) => void) | undefined;
11
- onDragStart: ((_: import('../..').Pick) => void) | undefined;
12
- onDragEnd: ((_: import('../..').Pick) => void) | undefined;
13
- onMouseMove: ((_: import('../..').Pick) => void) | undefined;
6
+ onClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
7
+ onRightClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
8
+ onDoubleClick: ((_: import("../..").Pick) => void) | undefined;
9
+ onDrag: ((_: import("../..").Pick) => void) | undefined;
10
+ onDragFlat: ((_: import("../..").Pick) => void) | undefined;
11
+ onDragStart: ((_: import("../..").Pick) => void) | undefined;
12
+ onDragEnd: ((_: import("../..").Pick) => void) | undefined;
13
+ onMouseMove: ((_: import("../..").Pick) => void) | undefined;
14
14
  render: ({ viewport: { projection, modelView, camera, screen }, depth, index, }: {
15
15
  viewport: Viewport;
16
- depth?: boolean;
17
- index?: number;
16
+ depth?: boolean | undefined;
17
+ index?: number | undefined;
18
18
  }) => void;
19
19
  dispose: () => void;
20
20
  };
@@ -1,6 +1,5 @@
1
- import { vec3 } from 'gl-matrix';
2
- import { LayerOptions, Properties } from '.';
3
-
1
+ import type { vec3 } from "gl-matrix";
2
+ import type { LayerOptions, Properties } from ".";
4
3
  export declare const one: number;
5
4
  export declare const to: ([x, y, z]: vec3) => vec3;
6
5
  export declare const configure: (gl: WebGL2RenderingContext, _depth: boolean, options: Properties<Partial<LayerOptions>>) => true | undefined;
@@ -1,5 +1,5 @@
1
- import { Properties, Layer } from '.';
2
-
1
+ import type { Properties } from ".";
2
+ import { type Layer } from ".";
3
3
  export declare const createContainer: (children: Layer[]) => {
4
4
  children: Layer[];
5
5
  dispose: () => void;
@@ -1,14 +1,13 @@
1
- import { quat, vec3, vec4 } from 'gl-matrix';
2
- import { Viewport } from '../viewport';
3
- import { Pick } from '../model';
4
-
5
- export * from './billboard';
6
- export * from './container';
7
- export * from './line';
8
- export * from './object';
9
- export * from './polygon';
10
- export * from './radar';
11
- export * from './terrain';
1
+ import type { quat, vec3, vec4 } from "gl-matrix";
2
+ import type { Viewport } from "../viewport";
3
+ export * from "./billboard";
4
+ export * from "./container";
5
+ export * from "./line";
6
+ export * from "./object";
7
+ export * from "./polygon";
8
+ export * from "./radar";
9
+ export * from "./terrain";
10
+ import type { Pick } from "../model";
12
11
  export type LayerEvents = {
13
12
  onClick?: (_: Pick, event: MouseEvent) => void;
14
13
  onRightClick?: (_: Pick, event: MouseEvent) => void;
@@ -43,7 +42,7 @@ export type Line = {
43
42
  dashOffset: number;
44
43
  } & LayerOptions;
45
44
  export type Polygon = {
46
- points: vec3[][];
45
+ points: vec3[][][];
47
46
  color: vec4;
48
47
  } & LayerOptions;
49
48
  export type Mesh = {
@@ -1,20 +1,20 @@
1
- import { Context } from '../../context';
2
- import { Viewport } from '../../viewport';
3
- import { Properties, Line } from '../';
4
-
1
+ import type { Context } from "../../context";
2
+ import type { Viewport } from "../../viewport";
3
+ import type { Properties } from "../";
4
+ import { type Line } from "../";
5
5
  export declare const createLineLayer: (context: Context, properties?: Properties<Partial<Line>>) => {
6
- onClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
7
- onRightClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
8
- onDoubleClick: ((_: import('../..').Pick) => void) | undefined;
9
- onDrag: ((_: import('../..').Pick) => void) | undefined;
10
- onDragFlat: ((_: import('../..').Pick) => void) | undefined;
11
- onDragStart: ((_: import('../..').Pick) => void) | undefined;
12
- onDragEnd: ((_: import('../..').Pick) => void) | undefined;
13
- onMouseMove: ((_: import('../..').Pick) => void) | undefined;
6
+ onClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
7
+ onRightClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
8
+ onDoubleClick: ((_: import("../..").Pick) => void) | undefined;
9
+ onDrag: ((_: import("../..").Pick) => void) | undefined;
10
+ onDragFlat: ((_: import("../..").Pick) => void) | undefined;
11
+ onDragStart: ((_: import("../..").Pick) => void) | undefined;
12
+ onDragEnd: ((_: import("../..").Pick) => void) | undefined;
13
+ onMouseMove: ((_: import("../..").Pick) => void) | undefined;
14
14
  render: ({ viewport: { projection, modelView, camera, screen }, depth, index, }: {
15
15
  viewport: Viewport;
16
- depth?: boolean;
17
- index?: number;
16
+ depth?: boolean | undefined;
17
+ index?: number | undefined;
18
18
  }) => void;
19
19
  dispose: () => void;
20
20
  };
@@ -1,20 +1,19 @@
1
- import { Context } from '../../context';
2
- import { Viewport } from '../../viewport';
3
- import { Object as Object_, Properties } from '..';
4
-
1
+ import type { Context } from "../../context";
2
+ import type { Viewport } from "../../viewport";
3
+ import type { Object as Object_, Properties } from "..";
5
4
  export declare const createObjectLayer: (context: Context, properties?: Properties<Partial<Object_>>) => {
6
- onClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
7
- onRightClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
8
- onDoubleClick: ((_: import('../..').Pick) => void) | undefined;
9
- onDrag: ((_: import('../..').Pick) => void) | undefined;
10
- onDragFlat: ((_: import('../..').Pick) => void) | undefined;
11
- onDragStart: ((_: import('../..').Pick) => void) | undefined;
12
- onDragEnd: ((_: import('../..').Pick) => void) | undefined;
13
- onMouseMove: ((_: import('../..').Pick) => void) | undefined;
5
+ onClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
6
+ onRightClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
7
+ onDoubleClick: ((_: import("../..").Pick) => void) | undefined;
8
+ onDrag: ((_: import("../..").Pick) => void) | undefined;
9
+ onDragFlat: ((_: import("../..").Pick) => void) | undefined;
10
+ onDragStart: ((_: import("../..").Pick) => void) | undefined;
11
+ onDragEnd: ((_: import("../..").Pick) => void) | undefined;
12
+ onMouseMove: ((_: import("../..").Pick) => void) | undefined;
14
13
  render: ({ viewport: { projection, modelView, camera, screen }, depth, index, }: {
15
14
  viewport: Viewport;
16
- depth?: boolean;
17
- index?: number;
15
+ depth?: boolean | undefined;
16
+ index?: number | undefined;
18
17
  }) => void;
19
18
  dispose: () => void;
20
19
  };
@@ -1,20 +1,20 @@
1
- import { Context } from '../../context';
2
- import { Viewport } from '../../viewport';
3
- import { Properties, Polygon } from '..';
4
-
1
+ import type { Context } from "../../context";
2
+ import type { Viewport } from "../../viewport";
3
+ import type { Properties } from "..";
4
+ import { type Polygon } from "..";
5
5
  export declare const createPolygonLayer: (context: Context, properties?: Properties<Partial<Polygon>>) => {
6
- onClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
7
- onRightClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
8
- onDoubleClick: ((_: import('../..').Pick) => void) | undefined;
9
- onDrag: ((_: import('../..').Pick) => void) | undefined;
10
- onDragFlat: ((_: import('../..').Pick) => void) | undefined;
11
- onDragStart: ((_: import('../..').Pick) => void) | undefined;
12
- onDragEnd: ((_: import('../..').Pick) => void) | undefined;
13
- onMouseMove: ((_: import('../..').Pick) => void) | undefined;
6
+ onClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
7
+ onRightClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
8
+ onDoubleClick: ((_: import("../..").Pick) => void) | undefined;
9
+ onDrag: ((_: import("../..").Pick) => void) | undefined;
10
+ onDragFlat: ((_: import("../..").Pick) => void) | undefined;
11
+ onDragStart: ((_: import("../..").Pick) => void) | undefined;
12
+ onDragEnd: ((_: import("../..").Pick) => void) | undefined;
13
+ onMouseMove: ((_: import("../..").Pick) => void) | undefined;
14
14
  render: ({ viewport: { projection, modelView, camera, screen }, depth, index, }: {
15
15
  viewport: Viewport;
16
- depth?: boolean;
17
- index?: number;
16
+ depth?: boolean | undefined;
17
+ index?: number | undefined;
18
18
  }) => void;
19
19
  dispose: () => void;
20
20
  };
@@ -1,20 +1,19 @@
1
- import { Context } from '../../context';
2
- import { Viewport } from '../../viewport';
3
- import { Properties, Radar } from '..';
4
-
1
+ import type { Context } from "../../context";
2
+ import type { Viewport } from "../../viewport";
3
+ import type { Properties, Radar } from "..";
5
4
  export declare const createRadarLayer: (context: Context, properties?: Properties<Partial<Radar>>) => {
6
- onClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
7
- onRightClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
8
- onDoubleClick: ((_: import('../..').Pick) => void) | undefined;
9
- onDrag: ((_: import('../..').Pick) => void) | undefined;
10
- onDragFlat: ((_: import('../..').Pick) => void) | undefined;
11
- onDragStart: ((_: import('../..').Pick) => void) | undefined;
12
- onDragEnd: ((_: import('../..').Pick) => void) | undefined;
13
- onMouseMove: ((_: import('../..').Pick) => void) | undefined;
5
+ onClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
6
+ onRightClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
7
+ onDoubleClick: ((_: import("../..").Pick) => void) | undefined;
8
+ onDrag: ((_: import("../..").Pick) => void) | undefined;
9
+ onDragFlat: ((_: import("../..").Pick) => void) | undefined;
10
+ onDragStart: ((_: import("../..").Pick) => void) | undefined;
11
+ onDragEnd: ((_: import("../..").Pick) => void) | undefined;
12
+ onMouseMove: ((_: import("../..").Pick) => void) | undefined;
14
13
  render: ({ viewport: { projection, modelView, camera, screen }, depth, index, }: {
15
14
  viewport: Viewport;
16
- depth?: boolean;
17
- index?: number;
15
+ depth?: boolean | undefined;
16
+ index?: number | undefined;
18
17
  }) => void;
19
18
  dispose: () => void;
20
19
  };
@@ -7,7 +7,7 @@ export type ImageTexture = {
7
7
  export declare const createImageTexture: ({ gl, url, onLoad, }: {
8
8
  gl: WebGL2RenderingContext;
9
9
  url: string;
10
- onLoad?: (_: ImageBitmap) => void;
10
+ onLoad?: ((_: ImageBitmap) => void) | undefined;
11
11
  }) => {
12
12
  readonly loaded: boolean;
13
13
  use: () => void;
@@ -1,25 +1,25 @@
1
- import { vec2 } from 'gl-matrix';
2
- import { Context } from '../../context';
3
- import { Viewport } from '../../viewport';
4
- import { Layer, Properties, Terrain } from '..';
5
-
1
+ import { vec2 } from "gl-matrix";
2
+ import type { Context } from "../../context";
3
+ import type { Viewport } from "../../viewport";
4
+ import type { Layer, Properties } from "..";
5
+ import { type Terrain } from "..";
6
6
  export type TerrainLayer = Layer & {
7
7
  elevation: (_: vec2) => number;
8
8
  };
9
9
  export declare const createTerrainLayer: (context: Context, properties?: Properties<Partial<Terrain>>) => {
10
10
  elevation: ([lng, lat]: vec2, z?: number) => number;
11
- onClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
12
- onRightClick: ((_: import('../..').Pick, event: MouseEvent) => void) | undefined;
13
- onDoubleClick: ((_: import('../..').Pick) => void) | undefined;
14
- onDrag: ((_: import('../..').Pick) => void) | undefined;
15
- onDragFlat: ((_: import('../..').Pick) => void) | undefined;
16
- onDragStart: ((_: import('../..').Pick) => void) | undefined;
17
- onDragEnd: ((_: import('../..').Pick) => void) | undefined;
18
- onMouseMove: ((_: import('../..').Pick) => void) | undefined;
11
+ onClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
12
+ onRightClick: ((_: import("../..").Pick, event: MouseEvent) => void) | undefined;
13
+ onDoubleClick: ((_: import("../..").Pick) => void) | undefined;
14
+ onDrag: ((_: import("../..").Pick) => void) | undefined;
15
+ onDragFlat: ((_: import("../..").Pick) => void) | undefined;
16
+ onDragStart: ((_: import("../..").Pick) => void) | undefined;
17
+ onDragEnd: ((_: import("../..").Pick) => void) | undefined;
18
+ onMouseMove: ((_: import("../..").Pick) => void) | undefined;
19
19
  render: ({ viewport, depth, index, }: {
20
20
  viewport: Viewport;
21
- depth?: boolean;
22
- index?: number;
21
+ depth?: boolean | undefined;
22
+ index?: number | undefined;
23
23
  }) => void;
24
24
  dispose: () => void;
25
25
  };
@@ -1,6 +1,5 @@
1
- import { vec3 } from 'gl-matrix';
2
- import { Texture } from './texture';
3
-
1
+ import type { vec3 } from "gl-matrix";
2
+ import type { Texture } from "./texture";
4
3
  export type TileCache = {
5
4
  get: (xyz: vec3) => Texture | undefined;
6
5
  dispose: () => void;
@@ -8,7 +7,7 @@ export type TileCache = {
8
7
  export declare const createTileCache: ({ gl, urlPattern, onLoad, }: {
9
8
  gl: WebGL2RenderingContext;
10
9
  urlPattern: string;
11
- onLoad?: () => void;
10
+ onLoad?: (() => void) | undefined;
12
11
  }) => {
13
12
  get: (xyz: vec3) => Texture | undefined;
14
13
  dispose: () => void;
@@ -1,7 +1,6 @@
1
- import { vec3 } from 'gl-matrix';
2
- import { Texture } from './texture';
3
- import { TileCache } from './tile-cache';
4
-
1
+ import type { vec3 } from "gl-matrix";
2
+ import type { Texture } from "./texture";
3
+ import type { TileCache } from "./tile-cache";
5
4
  export type DownsampledTile = {
6
5
  texture: Texture;
7
6
  downsample: number;
@@ -1,6 +1,5 @@
1
- import { vec3 } from 'gl-matrix';
2
- import { LRUCache } from 'lru-cache';
3
-
1
+ import type { vec3 } from "gl-matrix";
2
+ import { LRUCache } from "lru-cache";
4
3
  export type TileIndexCache<T> = {
5
4
  get: (xyz: vec3) => T | undefined;
6
5
  set: (xyz: vec3, value: T) => void;
@@ -13,7 +12,7 @@ export type CreateTileIndexCacheOptions<T> = {
13
12
  ttl?: number;
14
13
  dispose?: (value: T, key: vec3) => void;
15
14
  };
16
- export declare const createTileIndexCache: <T extends NonNullable<unknown>>(options: CreateTileIndexCacheOptions<T>) => {
15
+ export declare const createTileIndexCache: <T extends {}>(options: CreateTileIndexCacheOptions<T>) => {
17
16
  get: (xyz: vec3) => T | undefined;
18
17
  set: (xyz: vec3, value: T) => LRUCache<number, T, unknown>;
19
18
  delete: (xyz: vec3) => boolean;
@@ -1,6 +1,5 @@
1
- import { vec3 } from 'gl-matrix';
2
- import { Elevation } from '../../elevation';
3
-
1
+ import { vec3 } from "gl-matrix";
2
+ import type { Elevation } from "../../elevation";
4
3
  export type TileShapes = {
5
4
  get: (xyz: vec3) => vec3[];
6
5
  };
package/dist/math.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { quat, vec3 } from 'gl-matrix';
2
-
1
+ import type { quat } from "gl-matrix";
2
+ import { vec3 } from "gl-matrix";
3
3
  export declare const circumference = 40075017;
4
4
  export declare const radians: (_: number) => number;
5
5
  export declare const degrees: (_: number) => number;
package/dist/model.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { vec2, vec3 } from 'gl-matrix';
2
- import { Layer } from './layers';
3
-
1
+ import type { vec2, vec3 } from "gl-matrix";
2
+ import type { Layer } from "./layers";
4
3
  export type View = {
5
4
  target: vec3;
6
5
  offset: vec2;
package/dist/program.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { mat4, vec2, vec3, vec4 } from 'gl-matrix';
2
- import { Buffer } from './buffer';
3
-
1
+ import type { mat4, vec2, vec3, vec4 } from "gl-matrix";
2
+ import type { Buffer } from "./buffer";
4
3
  export type Program = {
5
4
  use: () => void;
6
5
  uniform1f: (name: string) => Uniform<number>;
@@ -1,5 +1,4 @@
1
- import { Program } from './program';
2
-
1
+ import type { Program } from "./program";
3
2
  export type Programs = {
4
3
  get: (_: {
5
4
  vertexSource: string;
@@ -1,5 +1,4 @@
1
- import { quat, vec2, vec3, vec4 } from 'gl-matrix';
2
-
1
+ import { quat, vec2, vec3, vec4 } from "gl-matrix";
3
2
  export type Transition<T> = {
4
3
  value: T;
5
4
  dispose: () => void;
@@ -1,3 +1,2 @@
1
- import { View } from './model';
2
-
1
+ import type { View } from "./model";
3
2
  export declare const createViewTransition: (view: () => View) => () => View;
@@ -1,6 +1,5 @@
1
- import { mat4, vec2, vec3, vec4 } from 'gl-matrix';
2
- import { View } from './model';
3
-
1
+ import { mat4, vec2, vec3, vec4 } from "gl-matrix";
2
+ import { type View } from "./model";
4
3
  export type Viewport = {
5
4
  camera: vec3;
6
5
  screen: vec2;
package/dist/world.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { vec2, vec3 } from 'gl-matrix';
2
- import { Context } from './context';
3
- import { Layer, Properties, TerrainLayer } from './layers';
4
- import { Pick, View } from './model';
5
-
1
+ import type { vec2, vec3 } from "gl-matrix";
2
+ import type { Context } from "./context";
3
+ import type { Layer, Properties, TerrainLayer } from "./layers";
4
+ import type { Pick, View } from "./model";
6
5
  export type World = {
7
6
  project: (_: vec3) => vec2;
8
7
  unproject: (_: vec2) => vec3;
@@ -21,7 +20,7 @@ export declare const createWorld: ({ gl }: Context, properties: Properties<World
21
20
  project: (_: vec3) => vec2;
22
21
  unproject: (_: vec2) => vec3;
23
22
  pick: (point: vec2, { terrain }?: {
24
- terrain?: boolean;
23
+ terrain?: boolean | undefined;
25
24
  }) => {
26
25
  point: vec2;
27
26
  position: vec3;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "world.ts",
3
- "version": "0.5.13",
3
+ "version": "0.6.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,6 +13,7 @@
13
13
  },
14
14
  "devDependencies": {
15
15
  "@gribbet/eslint-config": "github:gribbet/eslint-config",
16
+ "@types/earcut": "^3.0.0",
16
17
  "@types/lru-cache": "^7.5.0",
17
18
  "typescript": "^5.3.3",
18
19
  "vite": "^5.1.0",
@@ -21,6 +22,7 @@
21
22
  },
22
23
  "dependencies": {
23
24
  "earclip": "^0.10.0",
25
+ "earcut": "^3.0.1",
24
26
  "gl-matrix": "^3.4.3",
25
27
  "lru-cache": "^10.2.0"
26
28
  }