@recast-navigation/core 0.3.0 → 0.4.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.
@@ -10,37 +10,41 @@ export type NavMeshQueryParams = {
10
10
  };
11
11
  export declare class NavMeshQuery {
12
12
  raw: R.NavMeshQuery;
13
- private tmpVec1;
14
- private tmpVec2;
15
- constructor({ navMesh, maxNodes }: NavMeshQueryParams);
13
+ defaultFilter: R.dtQueryFilter;
14
+ defaultQueryHalfExtents: {
15
+ x: number;
16
+ y: number;
17
+ z: number;
18
+ };
19
+ constructor(value: R.NavMeshQuery | NavMeshQueryParams);
20
+ findNearestPoly(position: Vector3, halfExtents: Vector3, filter?: R.dtQueryFilter): {
21
+ status: number;
22
+ nearestRef: number;
23
+ nearestPoint: {
24
+ x: number;
25
+ y: number;
26
+ z: number;
27
+ };
28
+ isOverPoly: boolean;
29
+ };
16
30
  /**
17
31
  * Returns the closest point on the NavMesh to the given position.
18
32
  */
19
- getClosestPoint(position: Vector3): Vector3;
33
+ getClosestPoint(position: Vector3, filter?: R.dtQueryFilter): Vector3;
20
34
  /**
21
35
  * Returns a random point on the NavMesh within the given radius of the given position.
22
36
  */
23
- getRandomPointAround(position: Vector3, radius: number): Vector3;
37
+ getRandomPointAround(position: Vector3, radius: number, filter?: R.dtQueryFilter): Vector3;
24
38
  /**
25
39
  * Compute the final position from a segment made of destination-position
26
40
  */
27
- moveAlong(position: Vector3, destination: Vector3): Vector3;
41
+ moveAlong(position: Vector3, destination: Vector3, filter?: R.dtQueryFilter): Vector3;
28
42
  /**
29
43
  * Finds a path from the start position to the end position.
30
44
  *
31
45
  * @returns an array of Vector3 positions that make up the path, or an empty array if no path was found.
32
46
  */
33
- computePath(start: Vector3, end: Vector3): Vector3[];
34
- /**
35
- * Gets the Bounding box extent specified by setDefaultQueryExtent
36
- */
37
- getDefaultQueryExtent(): Vector3;
38
- /**
39
- * Sets the Bounding box extent for doing spatial queries (getClosestPoint, getRandomPointAround, ...)
40
- * The queries will try to find a solution within those bounds.
41
- * The default is (1,1,1)
42
- */
43
- setDefaultQueryExtent(extent: Vector3): void;
47
+ computePath(start: Vector3, end: Vector3, filter?: R.dtQueryFilter): Vector3[];
44
48
  /**
45
49
  * Destroys the NavMeshQuery instance
46
50
  */
@@ -1,10 +1,10 @@
1
1
  import type R from '@recast-navigation/wasm';
2
2
  import { Vector3 } from './utils';
3
- import { dtMeshTile, dtPoly, dtOffMeshConnection } from './wrappers';
3
+ import { DetourMeshTile, dtPoly, DetourOffMeshConnection } from './detour';
4
4
  export declare class NavMeshGetTilesAtResult {
5
5
  raw: R.NavMeshGetTilesAtResult;
6
6
  constructor(raw: R.NavMeshGetTilesAtResult);
7
- tiles(index: number): dtMeshTile;
7
+ tiles(index: number): DetourMeshTile;
8
8
  tileCount(): number;
9
9
  destroy(): void;
10
10
  }
@@ -32,7 +32,7 @@ export declare class NavMeshCalcTileLocResult {
32
32
  export declare class NavMeshGetTileAndPolyByRefResult {
33
33
  raw: R.NavMeshGetTileAndPolyByRefResult;
34
34
  constructor(raw: R.NavMeshGetTileAndPolyByRefResult);
35
- tile(): dtMeshTile;
35
+ tile(): DetourMeshTile;
36
36
  poly(): dtPoly;
37
37
  status(): number;
38
38
  destroy(): void;
@@ -83,27 +83,24 @@ export declare class NavMesh {
83
83
  constructor(raw?: R.NavMesh);
84
84
  /**
85
85
  * Initializes the NavMesh for use with a single tile.
86
- * @param data the nav mesh data
87
- * @param dataSize the size of the nav mesh data
88
- * @param flags the flags to use when building the nav mesh
86
+ * @param navMeshData the nav mesh data
89
87
  * @returns the status of the operation
90
88
  */
91
- initSolo(data: ReadonlyArray<number>, dataSize: number, flags: number): boolean;
89
+ initSolo(navMeshData: R.NavMeshData): boolean;
92
90
  /**
93
91
  * Initializes the NavMesh for use with multiple tiles.
94
92
  * @param params parameters for the NavMesh
95
93
  * @returns the status of the operation
96
94
  */
97
- initTiled({ orig, tileWidth, tileHeight, maxTiles, maxPolys, }: NavMeshParams): boolean;
95
+ initTiled(params: R.dtNavMeshParams): boolean;
98
96
  /**
99
97
  * Adds a tile to the NavMesh.
100
- * @param data the nav mesh data
101
- * @param dataSize the size of the nav mesh data
98
+ * @param navMeshData the nav mesh data
102
99
  * @param flags the flags to use when building the nav mesh
103
100
  * @param lastRef
104
101
  * @returns the status of the operation and the reference of the added tile
105
102
  */
106
- addTile(data: number[], dataSize: number, flags: number, lastRef: number): NavMeshAddTileResult;
103
+ addTile(navMeshData: R.NavMeshData, flags: number, lastRef: number): NavMeshAddTileResult;
107
104
  /**
108
105
  * Removes a tile from the NavMesh
109
106
  * @param ref the tile ref
@@ -123,7 +120,7 @@ export declare class NavMesh {
123
120
  * @param layer The tile's layer. (x, y, layer)
124
121
  * @returns The tile, or null if the tile does not exist.
125
122
  */
126
- getTileAt(x: number, y: number, layer: number): dtMeshTile | null;
123
+ getTileAt(x: number, y: number, layer: number): DetourMeshTile | null;
127
124
  /**
128
125
  * Gets all tiles at the specified grid location. (All layers.)
129
126
  * @param x The tile's x-location. (x, y)
@@ -144,13 +141,13 @@ export declare class NavMesh {
144
141
  * @param tile
145
142
  * @returns
146
143
  */
147
- getTileRef(tile: dtMeshTile): number;
144
+ getTileRef(tile: DetourMeshTile): number;
148
145
  /**
149
146
  * Gets the tile for the specified tile reference.
150
147
  * @param ref The tile reference of the tile to retrieve.
151
148
  * @returns The tile for the specified reference, or null if the reference is invalid.
152
149
  */
153
- getTileByRef(ref: number): dtMeshTile | null;
150
+ getTileByRef(ref: number): DetourMeshTile | null;
154
151
  /**
155
152
  * Returns the maximum number of tiles supported by the navigation mesh.
156
153
  */
@@ -160,7 +157,7 @@ export declare class NavMesh {
160
157
  * @param i the tile index. [Limit: 0 >= index < #getMaxTiles()]
161
158
  * @returns
162
159
  */
163
- getTile(i: number): dtMeshTile;
160
+ getTile(i: number): DetourMeshTile;
164
161
  /**
165
162
  * Gets the tile and polygon for the specified polygon reference.
166
163
  * @param ref The reference for the a polygon.
@@ -184,7 +181,7 @@ export declare class NavMesh {
184
181
  * @param tile
185
182
  * @returns
186
183
  */
187
- getPolyRefBase(tile: dtMeshTile): number;
184
+ getPolyRefBase(tile: DetourMeshTile): number;
188
185
  /**
189
186
  * Gets the endpoints for an off-mesh connection, ordered by "direction of travel".
190
187
  * @param prevRef The reference of the polygon before the connection.
@@ -197,7 +194,7 @@ export declare class NavMesh {
197
194
  * @param ref The polygon reference of the off-mesh connection.
198
195
  * @returns
199
196
  */
200
- getOffMeshConnectionByRef(ref: number): dtOffMeshConnection;
197
+ getOffMeshConnectionByRef(ref: number): DetourOffMeshConnection;
201
198
  /**
202
199
  * Sets the user defined flags for the specified polygon.
203
200
  * @param ref The polygon reference.
@@ -227,14 +224,14 @@ export declare class NavMesh {
227
224
  * @param tile
228
225
  * @returns The size of the buffer required to store the state.
229
226
  */
230
- getTileStateSize(tile: dtMeshTile): number;
227
+ getTileStateSize(tile: DetourMeshTile): number;
231
228
  /**
232
229
  * Stores the non-structural state of the tile in the specified buffer. (Flags, area ids, etc.)
233
230
  * @param tile The tile.
234
231
  * @param maxDataSize The size of the data buffer. [Limit: >= #getTileStateSize]
235
232
  * @returns
236
233
  */
237
- storeTileState(tile: dtMeshTile, maxDataSize: number): NavMeshStoreTileStateResult;
234
+ storeTileState(tile: DetourMeshTile, maxDataSize: number): NavMeshStoreTileStateResult;
238
235
  /**
239
236
  * Restores the state of the tile.
240
237
  * @param tile The tile.
@@ -242,7 +239,7 @@ export declare class NavMesh {
242
239
  * @param maxDataSize The size of the state within the data buffer.
243
240
  * @returns
244
241
  */
245
- restoreTileState(tile: dtMeshTile, data: number[], maxDataSize: number): number;
242
+ restoreTileState(tile: DetourMeshTile, data: number[], maxDataSize: number): number;
246
243
  /**
247
244
  * Returns a DebugNavMesh that can be used to visualize the NavMesh.
248
245
  */
package/dist/raw.d.ts ADDED
@@ -0,0 +1,23 @@
1
+ import Module from '@recast-navigation/wasm';
2
+ declare const instances: readonly ["Recast", "Detour", "DetourNavMeshBuilder", "DetourTileCacheBuilder", "ChunkyTriMesh", "NavMeshImporter", "NavMeshExporter", "CrowdUtils"];
3
+ declare const classes: readonly ["rcContext", "dtNavMeshParams", "dtNavMeshCreateParams", "RecastLinearAllocator", "RecastFastLZCompressor", "rcChunkyTriMesh", "TileCacheData", "dtTileCacheParams", "dtTileCacheLayerHeader"];
4
+ declare const arrays: readonly ["IntArray", "UnsignedCharArray", "UnsignedShortArray", "FloatArray"];
5
+ type RawType = {
6
+ Module: typeof Module;
7
+ Arrays: {
8
+ [K in typeof arrays[number]]: typeof Module[K];
9
+ };
10
+ isNull: (obj: unknown) => boolean;
11
+ } & {
12
+ [K in typeof instances[number]]: InstanceType<typeof Module[K]>;
13
+ } & {
14
+ [K in typeof classes[number]]: typeof Module[K];
15
+ };
16
+ /**
17
+ * Lower level bindings for the Recast and Detour libraries.
18
+ *
19
+ * The `init` function must be called before using the `Raw` api.
20
+ */
21
+ export declare const Raw: RawType;
22
+ export declare const init: () => Promise<void>;
23
+ export {};
@@ -0,0 +1,245 @@
1
+ import R from '@recast-navigation/wasm';
2
+ import { Vector3 } from './utils';
3
+ export type RecastConfigType = {
4
+ /**
5
+ * The size of the non-navigable border around the heightfield.
6
+ * [Limit: >=0] [Units: vx]
7
+ * @default 0
8
+ */
9
+ borderSize: number;
10
+ /**
11
+ * The width/height size of tile's on the xz-plane.
12
+ * [Limit: >= 0] [Units: vx]
13
+ *
14
+ * If tileSize is provided, a tiled navmesh will be created.
15
+ * If tileSize is not provided, or is set to zero, a solo navmesh will be created.
16
+ *
17
+ * To use obstacles, a tiled navmesh must be generated.
18
+ * @default 0
19
+ */
20
+ tileSize: number;
21
+ /**
22
+ * The xz-plane cell size to use for fields.
23
+ * [Limit: > 0] [Units: wu]
24
+ * @default 0.2
25
+ */
26
+ cs: number;
27
+ /**
28
+ * The y-axis cell size to use for fields.
29
+ * Limit: > 0] [Units: wu]
30
+ * @default 0.2
31
+ */
32
+ ch: number;
33
+ /**
34
+ * The maximum slope that is considered walkable.
35
+ * [Limits: 0 <= value < 90] [Units: Degrees]
36
+ * @default 60
37
+ */
38
+ walkableSlopeAngle: number;
39
+ /**
40
+ * Minimum floor to 'ceiling' height that will still allow the floor area to be considered walkable.
41
+ * [Limit: >= 3] [Units: vx]
42
+ * @default 2
43
+ */
44
+ walkableHeight: number;
45
+ /**
46
+ * Maximum ledge height that is considered to still be traversable.
47
+ * [Limit: >=0] [Units: vx]
48
+ * @default 2
49
+ */
50
+ walkableClimb: number;
51
+ /**
52
+ * The distance to erode/shrink the walkable area of the heightfield away from obstructions.
53
+ * [Limit: >=0] [Units: vx]
54
+ * @default 0.5
55
+ */
56
+ walkableRadius: number;
57
+ /**
58
+ * The maximum allowed length for contour edges along the border of the mesh.
59
+ * [Limit: >=0] [Units: vx]
60
+ * @default 12
61
+ */
62
+ maxEdgeLen: number;
63
+ /**
64
+ * The maximum distance a simplfied contour's border edges should deviate the original raw contour.
65
+ * [Limit: >=0] [Units: vx]
66
+ * @default 1.3
67
+ */
68
+ maxSimplificationError: number;
69
+ /**
70
+ * The minimum number of cells allowed to form isolated island areas.
71
+ * [Limit: >=0] [Units: vx]
72
+ * @default 8
73
+ */
74
+ minRegionArea: number;
75
+ /**
76
+ * Any regions with a span count smaller than this value will, if possible, be merged with larger regions.
77
+ * [Limit: >=0] [Units: vx]
78
+ * @default 20
79
+ */
80
+ mergeRegionArea: number;
81
+ /**
82
+ * The maximum number of vertices allowed for polygons generated during the be merged with larger regions.
83
+ * [Limit: >=0] [Units: vx]
84
+ * @default 6
85
+ */
86
+ maxVertsPerPoly: number;
87
+ /**
88
+ * Sets the sampling distance to use when generating the detail mesh. (For height detail only.)
89
+ * [Limits: 0 or >= 0.9] [Units: wu]
90
+ * @default 6
91
+ */
92
+ detailSampleDist: number;
93
+ /**
94
+ * The maximum distance the detail mesh surface should deviate from heightfield data. (For height detail only.)
95
+ * [Limit: >=0] [Units: wu]
96
+ * @default 1
97
+ */
98
+ detailSampleMaxError: number;
99
+ };
100
+ export declare const recastConfigDefaults: RecastConfigType;
101
+ export declare class RecastConfig {
102
+ raw: R.rcConfig;
103
+ constructor(raw: R.rcConfig);
104
+ static create(partialConfig: Partial<RecastConfigType>): RecastConfig;
105
+ clone(): RecastConfig;
106
+ }
107
+ export declare class RecastSpan {
108
+ raw: R.rcSpan;
109
+ constructor(raw: R.rcSpan);
110
+ smin(): number;
111
+ smax(): number;
112
+ area(): number;
113
+ next(): RecastSpan | null;
114
+ }
115
+ export declare class RecastSpanPool {
116
+ raw: R.rcSpanPool;
117
+ constructor(raw: R.rcSpanPool);
118
+ next(): RecastSpanPool | null;
119
+ items(index: number): RecastSpan;
120
+ }
121
+ export declare class RecastHeightfield {
122
+ raw: R.rcHeightfield;
123
+ constructor(raw: R.rcHeightfield);
124
+ width(): number;
125
+ height(): number;
126
+ bmin(): Vector3;
127
+ bmax(): Vector3;
128
+ cs(): number;
129
+ ch(): number;
130
+ spans(index: number): RecastSpan;
131
+ pools(index: number): RecastSpanPool;
132
+ freelist(index: number): RecastSpan;
133
+ }
134
+ export declare class RecastCompactCell {
135
+ raw: R.rcCompactCell;
136
+ constructor(raw: R.rcCompactCell);
137
+ index(): number;
138
+ count(): number;
139
+ }
140
+ export declare class RecastCompactSpan {
141
+ raw: R.rcCompactSpan;
142
+ constructor(raw: R.rcCompactSpan);
143
+ y(): number;
144
+ reg(): number;
145
+ con(): number;
146
+ h(): number;
147
+ }
148
+ export declare class RecastCompactHeightfield {
149
+ raw: R.rcCompactHeightfield;
150
+ constructor(raw: R.rcCompactHeightfield);
151
+ width(): number;
152
+ height(): number;
153
+ spanCount(): number;
154
+ walkableHeight(): number;
155
+ walkableClimb(): number;
156
+ borderSize(): number;
157
+ maxDistance(): number;
158
+ maxRegions(): number;
159
+ bmin(): Vector3;
160
+ bmax(): Vector3;
161
+ cs(): number;
162
+ ch(): number;
163
+ cells(index: number): RecastCompactCell;
164
+ spans(index: number): RecastCompactSpan;
165
+ dist(index: number): number;
166
+ areas(index: number): number;
167
+ }
168
+ export declare class RecastContour {
169
+ raw: R.rcContour;
170
+ constructor(raw: R.rcContour);
171
+ verts(index: number): number;
172
+ nverts(): number;
173
+ rverts(index: number): number;
174
+ nrverts(): number;
175
+ reg(): number;
176
+ area(): number;
177
+ }
178
+ export declare class RecastContourSet {
179
+ raw: R.rcContourSet;
180
+ constructor(raw: R.rcContourSet);
181
+ conts(index: number): RecastContour;
182
+ nconts(): number;
183
+ bmin(): Vector3;
184
+ bmax(): Vector3;
185
+ cs(): number;
186
+ ch(): number;
187
+ width(): number;
188
+ height(): number;
189
+ borderSize(): number;
190
+ maxError(): number;
191
+ }
192
+ export declare class RecastHeightfieldLayer {
193
+ raw: R.rcHeightfieldLayer;
194
+ constructor(raw: R.rcHeightfieldLayer);
195
+ bmin(): Vector3;
196
+ bmax(): Vector3;
197
+ cs(): number;
198
+ ch(): number;
199
+ width(): number;
200
+ height(): number;
201
+ minx(): number;
202
+ maxx(): number;
203
+ miny(): number;
204
+ maxy(): number;
205
+ hmin(): number;
206
+ hmax(): number;
207
+ heights(index: number): number;
208
+ areas(index: number): number;
209
+ cons(index: number): number;
210
+ }
211
+ export declare class RecastHeightfieldLayerSet {
212
+ raw: R.rcHeightfieldLayerSet;
213
+ constructor(raw: R.rcHeightfieldLayerSet);
214
+ layers(index: number): RecastHeightfieldLayer;
215
+ nlayers(): number;
216
+ }
217
+ export declare class RecastPolyMesh {
218
+ raw: R.rcPolyMesh;
219
+ constructor(raw: R.rcPolyMesh);
220
+ verts(index: number): number;
221
+ polys(index: number): number;
222
+ regs(index: number): number;
223
+ flags(index: number): number;
224
+ areas(index: number): number;
225
+ nverts(): number;
226
+ npolys(): number;
227
+ maxpolys(): number;
228
+ nvp(): number;
229
+ bmin(): Vector3;
230
+ bmax(): Vector3;
231
+ cs(): number;
232
+ ch(): number;
233
+ borderSize(): number;
234
+ maxEdgeError(): number;
235
+ }
236
+ export declare class RecastPolyMeshDetail {
237
+ raw: R.rcPolyMeshDetail;
238
+ constructor(raw: R.rcPolyMeshDetail);
239
+ meshes(index: number): number;
240
+ verts(index: number): number;
241
+ tris(index: number): number;
242
+ nmeshes(): number;
243
+ nverts(): number;
244
+ ntris(): number;
245
+ }
@@ -0,0 +1,3 @@
1
+ import { NavMesh } from '../nav-mesh';
2
+ import { TileCache } from '../tile-cache';
3
+ export declare const exportNavMesh: (navMesh: NavMesh, tileCache?: TileCache) => Uint8Array;
@@ -0,0 +1,12 @@
1
+ import type R from '@recast-navigation/wasm';
2
+ import { NavMesh } from '../nav-mesh';
3
+ import { TileCache, TileCacheMeshProcess } from '../tile-cache';
4
+ export type NavMeshImporterResult = {
5
+ navMesh: NavMesh;
6
+ } | {
7
+ navMesh: NavMesh;
8
+ tileCache: TileCache;
9
+ allocator: R.RecastLinearAllocator;
10
+ compressor: R.RecastFastLZCompressor;
11
+ };
12
+ export declare const importNavMesh: (data: Uint8Array, tileCacheMeshProcess: TileCacheMeshProcess) => NavMeshImporterResult;
@@ -0,0 +1,2 @@
1
+ export * from './export-nav-mesh';
2
+ export * from './import-nav-mesh';
@@ -1,7 +1,22 @@
1
1
  import type R from '@recast-navigation/wasm';
2
2
  import { NavMesh } from './nav-mesh';
3
- import { BoxObstacle, CylinderObstacle, Obstacle, ObstacleRef } from './obstacle';
4
3
  import { Vector3 } from './utils';
4
+ export type ObstacleRef = R.dtObstacleRef;
5
+ export type BoxObstacle = {
6
+ type: 'box';
7
+ ref: ObstacleRef;
8
+ position: Vector3;
9
+ extent: Vector3;
10
+ angle: number;
11
+ };
12
+ export type CylinderObstacle = {
13
+ type: 'cylinder';
14
+ ref: ObstacleRef;
15
+ position: Vector3;
16
+ radius: number;
17
+ height: number;
18
+ };
19
+ export type Obstacle = BoxObstacle | CylinderObstacle;
5
20
  export type TileCacheParams = {
6
21
  orig: ReadonlyArray<number>;
7
22
  cs: number;
@@ -15,6 +30,11 @@ export type TileCacheParams = {
15
30
  maxTiles: number;
16
31
  maxObstacles: number;
17
32
  };
33
+ export declare class dtTileCacheParams {
34
+ raw: R.dtTileCacheParams;
35
+ constructor(raw: R.dtTileCacheParams);
36
+ static create(config: TileCacheParams): dtTileCacheParams;
37
+ }
18
38
  export type TileCacheUpdateResult = {
19
39
  status: number;
20
40
  upToDate: boolean;
@@ -27,7 +47,7 @@ export declare class TileCache {
27
47
  * Initialises the TileCache
28
48
  * @param params
29
49
  */
30
- init(params: TileCacheParams): void;
50
+ init(params: R.dtTileCacheParams, alloc: R.RecastLinearAllocator, compressor: R.RecastFastLZCompressor, meshProcess: TileCacheMeshProcess): boolean;
31
51
  /**
32
52
  * Updates the tile cache by rebuilding tiles touched by unfinished obstacle requests.
33
53
  * This should be called after adding or removing obstacles.
@@ -45,5 +65,12 @@ export declare class TileCache {
45
65
  * Removes an obstacle from the navigation mesh.
46
66
  */
47
67
  removeObstacle(obstacle: Obstacle | ObstacleRef): void;
68
+ addTile(data: R.TileCacheData, flags?: number): R.TileCacheAddTileResult;
69
+ buildNavMeshTile(ref: R.dtCompressedTileRef, navMesh: NavMesh): number;
70
+ buildNavMeshTilesAt(tx: number, ty: number, navMesh: NavMesh): number;
48
71
  destroy(): void;
49
72
  }
73
+ export declare class TileCacheMeshProcess {
74
+ raw: R.TileCacheMeshProcess;
75
+ constructor(process: (navMeshCreateParams: R.dtNavMeshCreateParams, polyAreasArray: R.UnsignedCharArray, polyFlagsArray: R.UnsignedShortArray) => void);
76
+ }
package/dist/utils.d.ts CHANGED
@@ -1,9 +1,4 @@
1
1
  import type R from '@recast-navigation/wasm';
2
- export declare const emscripten: {
3
- isNull: (obj: unknown) => boolean;
4
- getPointer: (obj: unknown) => number;
5
- destroy: (obj: unknown) => void;
6
- };
7
2
  export type Vector3 = {
8
3
  x: number;
9
4
  y: number;
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "email": "isaac@isaacmason.com",
7
7
  "url": "https://isaacmason.com/"
8
8
  },
9
- "version": "0.3.0",
9
+ "version": "0.4.0",
10
10
  "license": "MIT",
11
11
  "homepage": "https://github.com/isaac-mason/recast-navigation-js",
12
12
  "bugs": {
@@ -25,32 +25,32 @@
25
25
  "test": "vitest run"
26
26
  },
27
27
  "devDependencies": {
28
- "@babel/core": "^7.18.6",
29
- "@recast-navigation/wasm": "0.3.0",
28
+ "@babel/core": "^7.22.5",
29
+ "@recast-navigation/wasm": "0.4.0",
30
30
  "@rollup/plugin-commonjs": "^24.0.1",
31
31
  "@rollup/plugin-node-resolve": "^15.0.1",
32
- "@rollup/plugin-terser": "^0.4.0",
33
- "@rollup/plugin-typescript": "^11.0.0",
34
- "@types/three": "^0.150.0",
32
+ "@rollup/plugin-terser": "^0.4.3",
33
+ "@rollup/plugin-typescript": "^11.1.2",
34
+ "@types/three": "^0.155.0",
35
35
  "@typescript-eslint/eslint-plugin": "^5.7.0",
36
- "@typescript-eslint/parser": "^5.7.0",
36
+ "@typescript-eslint/parser": "^5.60.1",
37
37
  "babel-loader": "^8.2.5",
38
38
  "eslint": "^8.5.0",
39
39
  "eslint-config-airbnb": "^18.2.1",
40
- "eslint-config-airbnb-base": "^14.2.1",
40
+ "eslint-config-airbnb-base": "^15.0.0",
41
41
  "eslint-config-prettier": "^8.3.0",
42
42
  "eslint-import-resolver-typescript": "^3.5.5",
43
43
  "eslint-plugin-es": "^4.1.0",
44
- "eslint-plugin-import": "^2.27.5",
44
+ "eslint-plugin-import": "^2.28.0",
45
45
  "eslint-plugin-prettier": "^4.0.0",
46
46
  "eslint-plugin-simple-import-sort": "^10.0.0",
47
47
  "eslint-plugin-typescript-enum": "^2.1.0",
48
48
  "prettier": "^2.3.2",
49
- "rollup": "^3.20.0",
49
+ "rollup": "^3.26.3",
50
50
  "rollup-plugin-copy": "^3.4.0",
51
51
  "rollup-plugin-filesize": "^10.0.0",
52
- "typescript": "^5.1.3",
53
- "vitest": "^0.32.0"
52
+ "typescript": "^5.1.6",
53
+ "vitest": "^0.33.0"
54
54
  },
55
55
  "packageManager": "yarn@3.2.1"
56
56
  }
@@ -1,18 +0,0 @@
1
- export declare class DtStatus {
2
- static get FAILURE(): number;
3
- static get SUCCESS(): number;
4
- static get IN_PROGRESS(): number;
5
- static get STATUS_DETAIL_MASK(): number;
6
- static get WRONG_MAGIC(): number;
7
- static get WRONG_VERSION(): number;
8
- static get OUT_OF_MEMORY(): number;
9
- static get INVALID_PARAM(): number;
10
- static get BUFFER_TOO_SMALL(): number;
11
- static get OUT_OF_NODES(): number;
12
- static get PARTIAL_RESULT(): number;
13
- static get ALREADY_OCCUPIED(): number;
14
- static statusSucceed(status: number): boolean;
15
- static statusFailed(status: number): boolean;
16
- static statusInProgress(status: number): boolean;
17
- static statusDetail(status: number, detail: number): boolean;
18
- }
@@ -1,41 +0,0 @@
1
- import type R from '@recast-navigation/wasm';
2
- export type CreateNavMeshDataParams = {
3
- verts: number[];
4
- vertCount: number;
5
- polys: number[];
6
- polyFlags: number[];
7
- polyAreas: number[];
8
- polyCount: number;
9
- nvp: number;
10
- detailMeshes: number[];
11
- detailVerts: number[];
12
- detailVertsCount: number;
13
- detailTris: number[];
14
- detailTriCount: number;
15
- offMeshConVerts: number[];
16
- offMeshConRad: number[];
17
- offMeshConFlags: number[];
18
- offMeshConAreas: number[];
19
- offMeshConDir: number[];
20
- offMeshConUserID: number[];
21
- offMeshConCount: number;
22
- userId: number;
23
- tileX: number;
24
- tileY: number;
25
- tileLayer: number;
26
- bmin: number[];
27
- bmax: number[];
28
- walkableHeight: number;
29
- walkableRadius: number;
30
- walkableClimb: number;
31
- cs: number;
32
- ch: number;
33
- buildBvTree: boolean;
34
- };
35
- export type CreateNavMeshDataResult = R.CreateNavMeshDataResult;
36
- export declare class NavMeshBuilder {
37
- raw: R.NavMeshBuilder;
38
- constructor();
39
- createNavMeshData(params: CreateNavMeshDataParams): CreateNavMeshDataResult;
40
- destroy(): void;
41
- }
@@ -1,13 +0,0 @@
1
- import type R from '@recast-navigation/wasm';
2
- import { NavMesh } from './nav-mesh';
3
- import { TileCache } from './tile-cache';
4
- export declare class NavMeshExporter {
5
- raw: R.NavMeshExporter;
6
- constructor();
7
- /**
8
- * Returns a NavMesh export that can be used later. The NavMesh must be built before retrieving the data
9
- * @returns data the Uint8Array that can be saved and reused
10
- */
11
- export(navMesh: NavMesh, tileCache?: TileCache): Uint8Array;
12
- destroy(): void;
13
- }