@recast-navigation/core 0.2.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.
- package/dist/crowd.d.ts +7 -13
- package/dist/detour.d.ts +92 -0
- package/dist/generators/common.d.ts +8 -0
- package/dist/generators/generate-solo-nav-mesh.d.ts +30 -0
- package/dist/generators/generate-tiled-nav-mesh.d.ts +48 -0
- package/dist/generators/index.d.ts +2 -0
- package/dist/index.d.ts +5 -8
- package/dist/index.es.js +6 -1
- package/dist/index.es.js.map +1 -1
- package/dist/nav-mesh-query.d.ts +21 -17
- package/dist/nav-mesh.d.ts +17 -20
- package/dist/raw.d.ts +23 -0
- package/dist/recast.d.ts +245 -0
- package/dist/serdes/export-nav-mesh.d.ts +3 -0
- package/dist/serdes/import-nav-mesh.d.ts +12 -0
- package/dist/serdes/index.d.ts +2 -0
- package/dist/tile-cache.d.ts +29 -2
- package/dist/utils.d.ts +0 -5
- package/package.json +12 -12
- package/dist/dt-status.d.ts +0 -18
- package/dist/nav-mesh-builder.d.ts +0 -41
- package/dist/nav-mesh-exporter.d.ts +0 -13
- package/dist/nav-mesh-generator.d.ts +0 -161
- package/dist/nav-mesh-importer.d.ts +0 -17
- package/dist/obstacle.d.ts +0 -18
- package/dist/wasm.d.ts +0 -6
- package/dist/wrappers.d.ts +0 -248
package/dist/crowd.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type R from '@recast-navigation/wasm';
|
|
2
2
|
import type { NavMesh } from './nav-mesh';
|
|
3
|
+
import { NavMeshQuery } from './nav-mesh-query';
|
|
3
4
|
import { Vector3 } from './utils';
|
|
4
5
|
export type CrowdParams = {
|
|
5
6
|
/**
|
|
@@ -79,7 +80,7 @@ export type CrowdAgentParams = {
|
|
|
79
80
|
userData: unknown;
|
|
80
81
|
};
|
|
81
82
|
export declare class Crowd {
|
|
82
|
-
raw: R.
|
|
83
|
+
raw: R.dtCrowd;
|
|
83
84
|
/**
|
|
84
85
|
* The indices of the active agents in the crowd.
|
|
85
86
|
*/
|
|
@@ -102,7 +103,10 @@ export declare class Crowd {
|
|
|
102
103
|
* Time factor applied when updating crowd agents (default 1). A value of 0 will pause crowd updates.
|
|
103
104
|
*/
|
|
104
105
|
timeFactor: number;
|
|
105
|
-
|
|
106
|
+
/**
|
|
107
|
+
* The NavMeshQuery used to find nearest polys for commands
|
|
108
|
+
*/
|
|
109
|
+
navMeshQuery: NavMeshQuery;
|
|
106
110
|
constructor({ maxAgents, maxAgentRadius, navMesh }: CrowdParams);
|
|
107
111
|
/**
|
|
108
112
|
* Adds a new agent to the crowd.
|
|
@@ -115,7 +119,7 @@ export declare class Crowd {
|
|
|
115
119
|
/**
|
|
116
120
|
* Submits a new move request for the specified agent.
|
|
117
121
|
*/
|
|
118
|
-
goto(agentIndex: number, position: Vector3):
|
|
122
|
+
goto(agentIndex: number, position: Vector3): boolean;
|
|
119
123
|
/**
|
|
120
124
|
* Teleports the agent to the given position.
|
|
121
125
|
*/
|
|
@@ -182,15 +186,5 @@ export declare class Crowd {
|
|
|
182
186
|
* @param crowdAgentParams
|
|
183
187
|
*/
|
|
184
188
|
updateAgentParameters(agentIndex: number, crowdAgentParams: Partial<CrowdAgentParams>): void;
|
|
185
|
-
/**
|
|
186
|
-
* Gets the bounding box extent for doing spatial queries.
|
|
187
|
-
*/
|
|
188
|
-
getDefaultQueryExtent(): Vector3;
|
|
189
|
-
/**
|
|
190
|
-
* Sets the Bounding box extent for doing spatial queries (getClosestPoint, getRandomPointAround, ...)
|
|
191
|
-
* The queries will try to find a solution within those bounds.
|
|
192
|
-
* The default is (1,1,1)
|
|
193
|
-
*/
|
|
194
|
-
setDefaultQueryExtent(extent: Vector3): void;
|
|
195
189
|
destroy(): void;
|
|
196
190
|
}
|
package/dist/detour.d.ts
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type R from '@recast-navigation/wasm';
|
|
2
|
+
import { Vector3 } from './utils';
|
|
3
|
+
export declare class DetourPolyDetail {
|
|
4
|
+
raw: R.dtPolyDetail;
|
|
5
|
+
constructor(raw: R.dtPolyDetail);
|
|
6
|
+
vertBase(): number;
|
|
7
|
+
triBase(): number;
|
|
8
|
+
vertCount(): number;
|
|
9
|
+
triCount(): number;
|
|
10
|
+
}
|
|
11
|
+
export declare class DetourLink {
|
|
12
|
+
raw: R.dtLink;
|
|
13
|
+
constructor(raw: R.dtLink);
|
|
14
|
+
ref(): number;
|
|
15
|
+
next(): number;
|
|
16
|
+
edge(): number;
|
|
17
|
+
side(): number;
|
|
18
|
+
bmin(): number;
|
|
19
|
+
bmax(): number;
|
|
20
|
+
}
|
|
21
|
+
export declare class DetourBVNode {
|
|
22
|
+
raw: R.dtBVNode;
|
|
23
|
+
constructor(raw: R.dtBVNode);
|
|
24
|
+
bmin(): Vector3;
|
|
25
|
+
bmax(): Vector3;
|
|
26
|
+
i(): number;
|
|
27
|
+
}
|
|
28
|
+
export declare class DetourOffMeshConnection {
|
|
29
|
+
raw: R.dtOffMeshConnection;
|
|
30
|
+
constructor(raw: R.dtOffMeshConnection);
|
|
31
|
+
pos(index: number): number;
|
|
32
|
+
rad(): number;
|
|
33
|
+
poly(): number;
|
|
34
|
+
flags(): number;
|
|
35
|
+
side(): number;
|
|
36
|
+
userId(): number;
|
|
37
|
+
}
|
|
38
|
+
export declare class DetourMeshHeader {
|
|
39
|
+
raw: R.dtMeshHeader;
|
|
40
|
+
constructor(raw: R.dtMeshHeader);
|
|
41
|
+
magic(): number;
|
|
42
|
+
version(): number;
|
|
43
|
+
x(): number;
|
|
44
|
+
y(): number;
|
|
45
|
+
layer(): number;
|
|
46
|
+
userId(): number;
|
|
47
|
+
polyCount(): number;
|
|
48
|
+
vertCount(): number;
|
|
49
|
+
maxLinkCount(): number;
|
|
50
|
+
detailMeshCount(): number;
|
|
51
|
+
detailVertCount(): number;
|
|
52
|
+
detailTriCount(): number;
|
|
53
|
+
bvNodeCount(): number;
|
|
54
|
+
offMeshConCount(): number;
|
|
55
|
+
offMeshBase(): number;
|
|
56
|
+
walkableHeight(): number;
|
|
57
|
+
walkableRadius(): number;
|
|
58
|
+
walkableClimb(): number;
|
|
59
|
+
bmin(index: number): number;
|
|
60
|
+
bmax(index: number): number;
|
|
61
|
+
bvQuantFactor(): number;
|
|
62
|
+
}
|
|
63
|
+
export declare class dtPoly {
|
|
64
|
+
raw: R.dtPoly;
|
|
65
|
+
constructor(raw: R.dtPoly);
|
|
66
|
+
firstLink(): number;
|
|
67
|
+
verts(index: number): number;
|
|
68
|
+
neis(index: number): number;
|
|
69
|
+
flags(): number;
|
|
70
|
+
vertCount(): number;
|
|
71
|
+
areaAndType(): number;
|
|
72
|
+
getType(): number;
|
|
73
|
+
}
|
|
74
|
+
export declare class DetourMeshTile {
|
|
75
|
+
raw: R.dtMeshTile;
|
|
76
|
+
constructor(raw: R.dtMeshTile);
|
|
77
|
+
salt(): number;
|
|
78
|
+
linksFreeList(): number;
|
|
79
|
+
header(): DetourMeshHeader | null;
|
|
80
|
+
polys(index: number): dtPoly;
|
|
81
|
+
verts(index: number): number;
|
|
82
|
+
links(index: number): DetourLink;
|
|
83
|
+
detailMeshes(index: number): DetourPolyDetail;
|
|
84
|
+
detailVerts(index: number): number;
|
|
85
|
+
detailTris(index: number): number;
|
|
86
|
+
bvTree(index: number): DetourBVNode;
|
|
87
|
+
offMeshCons(index: number): DetourOffMeshConnection;
|
|
88
|
+
data(index: number): number;
|
|
89
|
+
dataSize(): number;
|
|
90
|
+
flags(): number;
|
|
91
|
+
next(): DetourMeshTile;
|
|
92
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NavMesh } from '../nav-mesh';
|
|
2
|
+
import { RecastConfigType, RecastCompactHeightfield, RecastContourSet, RecastHeightfield } from '../recast';
|
|
3
|
+
export type SoloNavMeshGeneratorConfig = Omit<RecastConfigType, 'tileSize'>;
|
|
4
|
+
export declare const soloNavMeshGeneratorConfigDefaults: SoloNavMeshGeneratorConfig;
|
|
5
|
+
export type SoloNavMeshGeneratorIntermediates = {
|
|
6
|
+
heightfield?: RecastHeightfield;
|
|
7
|
+
compactHeightfield?: RecastCompactHeightfield;
|
|
8
|
+
contourSet?: RecastContourSet;
|
|
9
|
+
};
|
|
10
|
+
type SoloNavMeshGeneratorSuccessResult = {
|
|
11
|
+
navMesh: NavMesh;
|
|
12
|
+
success: true;
|
|
13
|
+
intermediates?: SoloNavMeshGeneratorIntermediates;
|
|
14
|
+
};
|
|
15
|
+
type SoloNavMeshGeneratorFailResult = {
|
|
16
|
+
navMesh: undefined;
|
|
17
|
+
success: false;
|
|
18
|
+
intermediates?: SoloNavMeshGeneratorIntermediates;
|
|
19
|
+
error: string;
|
|
20
|
+
};
|
|
21
|
+
export type SoloNavMeshGeneratorResult = SoloNavMeshGeneratorSuccessResult | SoloNavMeshGeneratorFailResult;
|
|
22
|
+
/**
|
|
23
|
+
* Builds a Solo NavMesh from the given positions and indices.
|
|
24
|
+
* @param positions a flat array of positions
|
|
25
|
+
* @param indices a flat array of indices
|
|
26
|
+
* @param navMeshGeneratorConfig optional configuration for the NavMesh generator
|
|
27
|
+
* @param keepIntermediates if true intermediates will be returned
|
|
28
|
+
*/
|
|
29
|
+
export declare const generateSoloNavMesh: (positions: ArrayLike<number>, indices: ArrayLike<number>, navMeshGeneratorConfig?: Partial<SoloNavMeshGeneratorConfig>, keepIntermediates?: boolean) => SoloNavMeshGeneratorResult;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type R from '@recast-navigation/wasm';
|
|
2
|
+
import { NavMesh } from '../nav-mesh';
|
|
3
|
+
import { TileCache } from '../tile-cache';
|
|
4
|
+
import { RecastConfigType, RecastCompactHeightfield, RecastHeightfield, RecastHeightfieldLayerSet } from '../recast';
|
|
5
|
+
export type TiledNavMeshGeneratorConfig = RecastConfigType & {
|
|
6
|
+
/**
|
|
7
|
+
* How many layers (or "floors") each navmesh tile is expected to have.
|
|
8
|
+
*/
|
|
9
|
+
expectedLayersPerTile: number;
|
|
10
|
+
/**
|
|
11
|
+
* The max number of obstacles
|
|
12
|
+
*/
|
|
13
|
+
maxObstacles: number;
|
|
14
|
+
};
|
|
15
|
+
export declare const tiledNavMeshGeneratorConfigDefaults: TiledNavMeshGeneratorConfig;
|
|
16
|
+
export type TiledNavMeshGeneratorIntermediates = {
|
|
17
|
+
chunkyTriMesh?: R.rcChunkyTriMesh;
|
|
18
|
+
tileIntermediates: {
|
|
19
|
+
tx: number;
|
|
20
|
+
ty: number;
|
|
21
|
+
heightfield: RecastHeightfield;
|
|
22
|
+
heightfieldLayerSet: RecastHeightfieldLayerSet;
|
|
23
|
+
compactHeightfield: RecastCompactHeightfield;
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
type TiledNavMeshGeneratorSuccessResult = {
|
|
27
|
+
tileCache: TileCache;
|
|
28
|
+
navMesh: NavMesh;
|
|
29
|
+
success: true;
|
|
30
|
+
intermediates?: TiledNavMeshGeneratorIntermediates;
|
|
31
|
+
};
|
|
32
|
+
type TiledNavMeshGeneratorFailResult = {
|
|
33
|
+
tileCache: undefined;
|
|
34
|
+
navMesh: undefined;
|
|
35
|
+
success: false;
|
|
36
|
+
error: string;
|
|
37
|
+
intermediates?: TiledNavMeshGeneratorIntermediates;
|
|
38
|
+
};
|
|
39
|
+
export type TiledNavMeshGeneratorResult = TiledNavMeshGeneratorSuccessResult | TiledNavMeshGeneratorFailResult;
|
|
40
|
+
/**
|
|
41
|
+
* Builds a Tiled NavMesh from the given positions and indices.
|
|
42
|
+
* @param positions a flat array of positions
|
|
43
|
+
* @param indices a flat array of indices
|
|
44
|
+
* @param navMeshConfig optional configuration for the NavMesh
|
|
45
|
+
* @param keepIntermediates if true intermediates will be returned
|
|
46
|
+
*/
|
|
47
|
+
export declare const generateTiledNavMesh: (positions: ArrayLike<number>, indices: ArrayLike<number>, navMeshGeneratorConfig?: Partial<TiledNavMeshGeneratorConfig>, keepIntermediates?: boolean) => TiledNavMeshGeneratorResult;
|
|
48
|
+
export {};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
export * from './crowd';
|
|
2
|
-
export * from './
|
|
2
|
+
export * from './detour';
|
|
3
|
+
export * from './generators';
|
|
3
4
|
export * from './nav-mesh';
|
|
4
|
-
export * from './nav-mesh-builder';
|
|
5
|
-
export * from './nav-mesh-exporter';
|
|
6
|
-
export * from './nav-mesh-generator';
|
|
7
|
-
export * from './nav-mesh-importer';
|
|
8
5
|
export * from './nav-mesh-query';
|
|
9
|
-
export * from './
|
|
10
|
-
export * from './
|
|
6
|
+
export * from './raw';
|
|
7
|
+
export * from './recast';
|
|
8
|
+
export * from './serdes';
|
|
11
9
|
export * from './tile-cache';
|
|
12
10
|
export * from './utils';
|
|
13
|
-
export * from './wasm';
|