@recast-navigation/core 0.33.0 → 0.35.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/debug-drawer-utils.d.ts +43 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/raw.d.ts +13 -36
- package/package.json +3 -3
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { NavMesh } from './nav-mesh';
|
|
2
|
+
import { NavMeshQuery } from './nav-mesh-query';
|
|
3
|
+
import { RecastCompactHeightfield, RecastContourSet, RecastHeightfield, RecastHeightfieldLayer, RecastHeightfieldLayerSet, RecastPolyMesh, RecastPolyMeshDetail } from './recast';
|
|
4
|
+
export type DebugDrawerPrimitiveType = 'lines' | 'tris' | 'quads' | 'points';
|
|
5
|
+
export type DebugDrawerPrimitive = {
|
|
6
|
+
type: DebugDrawerPrimitiveType;
|
|
7
|
+
vertices: [x: number, y: number, z: number, r: number, g: number, b: number, a: number][];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Represents a helper class to visualize navigation cur and related data in PlayCanvas.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DebugDrawerUtils {
|
|
13
|
+
private debugDrawImpl;
|
|
14
|
+
private currentPrimitiveType;
|
|
15
|
+
private currentVertices;
|
|
16
|
+
private primitives;
|
|
17
|
+
constructor();
|
|
18
|
+
private flush;
|
|
19
|
+
drawHeightfieldSolid(hf: RecastHeightfield): DebugDrawerPrimitive[];
|
|
20
|
+
drawHeightfieldWalkable(hf: RecastHeightfield): DebugDrawerPrimitive[];
|
|
21
|
+
drawCompactHeightfieldSolid(chf: RecastCompactHeightfield): DebugDrawerPrimitive[];
|
|
22
|
+
drawCompactHeightfieldRegions(chf: RecastCompactHeightfield): DebugDrawerPrimitive[];
|
|
23
|
+
drawCompactHeightfieldDistance(chf: RecastCompactHeightfield): DebugDrawerPrimitive[];
|
|
24
|
+
drawHeightfieldLayer(layer: RecastHeightfieldLayer, idx: number): DebugDrawerPrimitive[];
|
|
25
|
+
drawHeightfieldLayers(lset: RecastHeightfieldLayerSet): DebugDrawerPrimitive[];
|
|
26
|
+
drawRegionConnections(cset: RecastContourSet, alpha?: number): DebugDrawerPrimitive[];
|
|
27
|
+
drawRawContours(cset: RecastContourSet, alpha?: number): DebugDrawerPrimitive[];
|
|
28
|
+
drawContours(cset: RecastContourSet, alpha?: number): DebugDrawerPrimitive[];
|
|
29
|
+
drawPolyMesh(mesh: RecastPolyMesh): DebugDrawerPrimitive[];
|
|
30
|
+
drawPolyMeshDetail(dmesh: RecastPolyMeshDetail): DebugDrawerPrimitive[];
|
|
31
|
+
drawNavMesh(mesh: NavMesh, flags?: number): DebugDrawerPrimitive[];
|
|
32
|
+
drawNavMeshWithClosedList(mesh: NavMesh, query: NavMeshQuery, flags?: number): DebugDrawerPrimitive[];
|
|
33
|
+
drawNavMeshNodes(query: NavMeshQuery): DebugDrawerPrimitive[];
|
|
34
|
+
drawNavMeshBVTree(mesh: NavMesh): DebugDrawerPrimitive[];
|
|
35
|
+
drawNavMeshPortals(mesh: NavMesh): DebugDrawerPrimitive[];
|
|
36
|
+
drawNavMeshPolysWithFlags(mesh: NavMesh, flags: number, col: number): DebugDrawerPrimitive[];
|
|
37
|
+
drawNavMeshPoly(mesh: NavMesh, ref: number, col: number): DebugDrawerPrimitive[];
|
|
38
|
+
/**
|
|
39
|
+
* Disposes of the debug drawer and releases resources.
|
|
40
|
+
*/
|
|
41
|
+
dispose(): void;
|
|
42
|
+
private vertex;
|
|
43
|
+
}
|
package/dist/index.d.ts
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=["Recast","Detour","DetourNavMeshBuilder","DetourTileCacheBuilder","NavMeshImporter","NavMeshExporter","CrowdUtils","ChunkyTriMeshUtils","RecastDebugDraw","DetourDebugDraw"],t=["rcConfig","rcContext","dtNavMeshParams","dtNavMeshCreateParams","RecastLinearAllocator","RecastFastLZCompressor","rcChunkyTriMesh","dtTileCacheParams","dtTileCacheLayerHeader","Vec3","BoolRef","IntRef","UnsignedIntRef","UnsignedCharRef","UnsignedShortRef","FloatRef","IntArray","UnsignedIntArray","UnsignedCharArray","UnsignedShortArray","FloatArray"],r={isNull:e=>0===r.Module.getPointer(e),destroy:e=>{r.Module.destroy(e)}},s={},a={},i=async i=>{if(void 0===r.Module){if(i)r.Module=await i();else{const e=(await import("@recast-navigation/wasm")).default;r.Module=await e()}for(const t of e)r[t]=new r.Module[t];for(const e of t)r[e]=r.Module[e];s.RC_BORDER_REG=r.Recast.BORDER_REG,s.RC_MULTIPLE_REGS=r.Recast.MULTIPLE_REGS,s.RC_BORDER_VERTEX=r.Recast.BORDER_VERTEX,s.RC_AREA_BORDER=r.Recast.AREA_BORDER,s.RC_CONTOUR_REG_MASK=r.Recast.CONTOUR_REG_MASK,s.RC_MESH_NULL_IDX=r.Recast.MESH_NULL_IDX,s.RC_NULL_AREA=r.Recast.NULL_AREA,s.RC_WALKABLE_AREA=r.Recast.WALKABLE_AREA,s.RC_NOT_CONNECTED=r.Recast.NOT_CONNECTED,s.RC_CONTOUR_TESS_WALL_EDGES=r.Module.RC_CONTOUR_TESS_WALL_EDGES,s.RC_CONTOUR_TESS_AREA_EDGES=r.Module.RC_CONTOUR_TESS_AREA_EDGES,s.RC_LOG_PROGRESS=r.Module.RC_LOG_PROGRESS,s.RC_LOG_WARNING=r.Module.RC_LOG_WARNING,s.RC_LOG_ERROR=r.Module.RC_LOG_ERROR,s.RC_TIMER_TOTAL=r.Module.RC_TIMER_TOTAL,s.RC_TIMER_TEMP=r.Module.RC_TIMER_TEMP,s.RC_TIMER_RASTERIZE_TRIANGLES=r.Module.RC_TIMER_RASTERIZE_TRIANGLES,s.RC_TIMER_BUILD_COMPACTHEIGHTFIELD=r.Module.RC_TIMER_BUILD_COMPACTHEIGHTFIELD,s.RC_TIMER_BUILD_CONTOURS=r.Module.RC_TIMER_BUILD_CONTOURS,s.RC_TIMER_BUILD_CONTOURS_TRACE=r.Module.RC_TIMER_BUILD_CONTOURS_TRACE,s.RC_TIMER_BUILD_CONTOURS_SIMPLIFY=r.Module.RC_TIMER_BUILD_CONTOURS_SIMPLIFY,s.RC_TIMER_FILTER_BORDER=r.Module.RC_TIMER_FILTER_BORDER,s.RC_TIMER_FILTER_WALKABLE=r.Module.RC_TIMER_FILTER_WALKABLE,s.RC_TIMER_MEDIAN_AREA=r.Module.RC_TIMER_MEDIAN_AREA,s.RC_TIMER_FILTER_LOW_OBSTACLES=r.Module.RC_TIMER_FILTER_LOW_OBSTACLES,s.RC_TIMER_BUILD_POLYMESH=r.Module.RC_TIMER_BUILD_POLYMESH,s.RC_TIMER_MERGE_POLYMESH=r.Module.RC_TIMER_MERGE_POLYMESH,s.RC_TIMER_ERODE_AREA=r.Module.RC_TIMER_ERODE_AREA,s.RC_TIMER_MARK_BOX_AREA=r.Module.RC_TIMER_MARK_BOX_AREA,s.RC_TIMER_MARK_CYLINDER_AREA=r.Module.RC_TIMER_MARK_CYLINDER_AREA,s.RC_TIMER_MARK_CONVEXPOLY_AREA=r.Module.RC_TIMER_MARK_CONVEXPOLY_AREA,s.RC_TIMER_BUILD_DISTANCEFIELD=r.Module.RC_TIMER_BUILD_DISTANCEFIELD,s.RC_TIMER_BUILD_DISTANCEFIELD_DIST=r.Module.RC_TIMER_BUILD_DISTANCEFIELD_DIST,s.RC_TIMER_BUILD_DISTANCEFIELD_BLUR=r.Module.RC_TIMER_BUILD_DISTANCEFIELD_BLUR,s.RC_TIMER_BUILD_REGIONS=r.Module.RC_TIMER_BUILD_REGIONS,s.RC_TIMER_BUILD_REGIONS_WATERSHED=r.Module.RC_TIMER_BUILD_REGIONS_WATERSHED,s.RC_TIMER_BUILD_REGIONS_EXPAND=r.Module.RC_TIMER_BUILD_REGIONS_EXPAND,s.RC_TIMER_BUILD_REGIONS_FLOOD=r.Module.RC_TIMER_BUILD_REGIONS_FLOOD,s.RC_TIMER_BUILD_REGIONS_FILTER=r.Module.RC_TIMER_BUILD_REGIONS_FILTER,s.RC_TIMER_BUILD_LAYERS=r.Module.RC_TIMER_BUILD_LAYERS,s.RC_TIMER_BUILD_POLYMESHDETAIL=r.Module.RC_TIMER_BUILD_POLYMESHDETAIL,s.RC_TIMER_MERGE_POLYMESHDETAIL=r.Module.RC_TIMER_MERGE_POLYMESHDETAIL,s.RC_MAX_TIMERS=r.Module.RC_MAX_TIMERS,a.DT_FAILURE=r.Detour.FAILURE,a.DT_SUCCESS=r.Detour.SUCCESS,a.DT_IN_PROGRESS=r.Detour.IN_PROGRESS,a.DT_STATUS_DETAIL_MASK=r.Detour.STATUS_DETAIL_MASK,a.DT_WRONG_MAGIC=r.Detour.WRONG_MAGIC,a.DT_WRONG_VERSION=r.Detour.WRONG_VERSION,a.DT_OUT_OF_MEMORY=r.Detour.OUT_OF_MEMORY,a.DT_INVALID_PARAM=r.Detour.INVALID_PARAM,a.DT_BUFFER_TOO_SMALL=r.Detour.BUFFER_TOO_SMALL,a.DT_OUT_OF_NODES=r.Detour.OUT_OF_NODES,a.DT_PARTIAL_RESULT=r.Detour.PARTIAL_RESULT,a.DT_ALREADY_OCCUPIED=r.Detour.ALREADY_OCCUPIED,a.DT_VERTS_PER_POLYGON=r.Detour.VERTS_PER_POLYGON,a.DT_NAVMESH_MAGIC=r.Detour.NAVMESH_MAGIC,a.DT_NAVMESH_VERSION=r.Detour.NAVMESH_VERSION,a.DT_NAVMESH_STATE_MAGIC=r.Detour.NAVMESH_STATE_MAGIC,a.DT_NAVMESH_STATE_VERSION=r.Detour.NAVMESH_STATE_VERSION,a.DT_TILECACHE_MAGIC=r.Detour.TILECACHE_MAGIC,a.DT_TILECACHE_VERSION=r.Detour.TILECACHE_VERSION,a.DT_TILECACHE_NULL_AREA=r.Detour.TILECACHE_NULL_AREA,a.DT_TILECACHE_WALKABLE_AREA=r.Detour.TILECACHE_WALKABLE_AREA,a.DT_TILECACHE_NULL_IDX=r.Detour.TILECACHE_NULL_IDX,a.DT_NULL_LINK=r.Detour.NULL_LINK,a.DT_NULL_LINK=r.Detour.NULL_LINK,a.DT_EXT_LINK=r.Detour.EXT_LINK,a.DT_OFFMESH_CON_BIDIR=r.Detour.OFFMESH_CON_BIDIR,a.DT_STRAIGHTPATH_START=r.Module.DT_STRAIGHTPATH_START,a.DT_STRAIGHTPATH_END=r.Module.DT_STRAIGHTPATH_END,a.DT_STRAIGHTPATH_OFFMESH_CONNECTION=r.Module.DT_STRAIGHTPATH_OFFMESH_CONNECTION,a.DT_STRAIGHTPATH_AREA_CROSSINGS=r.Module.DT_STRAIGHTPATH_AREA_CROSSINGS,a.DT_STRAIGHTPATH_ALL_CROSSINGS=r.Module.DT_STRAIGHTPATH_ALL_CROSSINGS,a.DT_FINDPATH_ANY_ANGLE=r.Module.DT_FINDPATH_ANY_ANGLE,a.DT_RAYCAST_USE_COSTS=r.Module.DT_RAYCAST_USE_COSTS,a.DT_CROWDAGENT_STATE_INVALID=r.Module.DT_CROWDAGENT_STATE_INVALID,a.DT_CROWDAGENT_STATE_WALKING=r.Module.DT_CROWDAGENT_STATE_WALKING,a.DT_CROWDAGENT_STATE_OFFMESH=r.Module.DT_CROWDAGENT_STATE_OFFMESH,a.DT_CROWDAGENT_TARGET_NONE=r.Module.DT_CROWDAGENT_TARGET_NONE,a.DT_CROWDAGENT_TARGET_FAILED=r.Module.DT_CROWDAGENT_TARGET_FAILED,a.DT_CROWDAGENT_TARGET_VALID=r.Module.DT_CROWDAGENT_TARGET_VALID,a.DT_CROWDAGENT_TARGET_REQUESTING=r.Module.DT_CROWDAGENT_TARGET_REQUESTING,a.DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE=r.Module.DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE,a.DT_CROWDAGENT_TARGET_WAITING_FOR_PATH=r.Module.DT_CROWDAGENT_TARGET_WAITING_FOR_PATH,a.DT_CROWDAGENT_TARGET_VELOCITY=r.Module.DT_CROWDAGENT_TARGET_VELOCITY,a.DT_COMPRESSEDTILE_FREE_DATA=r.Module.DT_COMPRESSEDTILE_FREE_DATA,a.DT_TILE_FREE_DATA=r.Module.DT_TILE_FREE_DATA}};class n{get size(){return this.raw.size}constructor(e){this.raw=e}get(e){return this.raw.get(e)}set(e,t){this.raw.set(e,t)}resize(e){this.raw.resize(e)}copy(e){this.raw.resize(e.length);this.getHeapView().set(e)}destroy(){r.destroy(this.raw)}getHeapView(){const e=this.getHeap();return new this.typedArrayClass(e.buffer,this.raw.getDataPointer(),this.size)}toTypedArray(){const e=this.getHeapView(),t=new this.typedArrayClass(this.size);return t.set(e),t}}class o extends n{typedArrayClass=Int32Array;constructor(e){super(e??new r.Module.IntArray)}getHeap(){return r.Module.HEAP32}static fromRaw(e){return new this(e)}}class l extends n{typedArrayClass=Uint32Array;constructor(e){super(e??new r.Module.UnsignedIntArray)}getHeap(){return r.Module.HEAPU32}static fromRaw(e){return new this(e)}}class u extends n{typedArrayClass=Uint8Array;constructor(e){super(e??new r.Module.UnsignedCharArray)}getHeap(){return r.Module.HEAPU8}static fromRaw(e){return new this(e)}}class h extends n{typedArrayClass=Uint16Array;constructor(e){super(e??new r.Module.UnsignedShortArray)}getHeap(){return r.Module.HEAPU16}static fromRaw(e){return new this(e)}}class w extends n{typedArrayClass=Float32Array;constructor(e){super(e??new r.Module.FloatArray)}getHeap(){return r.Module.HEAPF32}static fromRaw(e){return new this(e)}}const c=w,_=o,d=u,R=o,g=u,T={toRaw:({x:e,y:t,z:s},a)=>a?(a.x=e,a.y=t,a.z=s,a):new r.Module.Vec3(e,t,s),fromRaw:e=>{const{x:t,y:r,z:s}=e;return{x:t,y:r,z:s}},fromArray:([e,t,r])=>({x:e,y:t,z:r}),toArray:({x:e,y:t,z:r})=>[e,t,r],lerp:(e,t,r,s={x:0,y:0,z:0})=>{s.x=e.x+(t.x-e.x)*r,s.y=e.y+(t.y-e.y)*r,s.z=e.z+(t.z-e.z)*r},copy:(e,t={x:0,y:0,z:0})=>{t.x=e.x,t.y=e.y,t.z=e.z}},E=(e,t)=>{const r=[];for(let s=0;s<t;s++)r.push(e(s));return r},A=e=>r.Detour.statusSucceed(e),y=e=>r.Detour.statusFailed(e),m=e=>r.Detour.statusInProgress(e),C=(e,t)=>r.Detour.statusDetail(e,t),M=e=>{if(r.Detour.statusSucceed(e))return"success";if(r.Detour.statusInProgress(e))return"in progress";if(r.Detour.statusFailed(e)){let t;const s={DT_WRONG_MAGIC:a.DT_WRONG_MAGIC,DT_WRONG_VERSION:a.DT_WRONG_VERSION,DT_OUT_OF_MEMORY:a.DT_OUT_OF_MEMORY,DT_INVALID_PARAM:a.DT_INVALID_PARAM,DT_BUFFER_TOO_SMALL:a.DT_BUFFER_TOO_SMALL,DT_OUT_OF_NODES:a.DT_OUT_OF_NODES,DT_PARTIAL_RESULT:a.DT_PARTIAL_RESULT,DT_ALREADY_OCCUPIED:a.DT_ALREADY_OCCUPIED};for(const[a,i]of Object.entries(s))if(r.Detour.statusDetail(e,i)){t=a;break}return t?`failed - ${t}`:"failed - unknown"}return"unknown"};class f{constructor(e){this.raw=e}vertBase(){return this.raw.vertBase}triBase(){return this.raw.triBase}vertCount(){return this.raw.vertCount}triCount(){return this.raw.triCount}}class p{constructor(e){this.raw=e}ref(){return this.raw.ref}next(){return this.raw.next}edge(){return this.raw.edge}side(){return this.raw.side}bmin(){return this.raw.bmin}bmax(){return this.raw.bmax}}class D{constructor(e){this.raw=e}bmin(){return T.fromArray(E((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(E((e=>this.raw.get_bmax(e)),3))}i(){return this.raw.i}}class I{constructor(e){this.raw=e}pos(e){return this.raw.get_pos(e)}rad(){return this.raw.rad}poly(){return this.raw.poly}flags(){return this.raw.flags}side(){return this.raw.side}userId(){return this.raw.userId}}class S{constructor(e){this.raw=e}magic(){return this.raw.magic}version(){return this.raw.version}x(){return this.raw.x}y(){return this.raw.y}layer(){return this.raw.layer}userId(){return this.raw.userId}polyCount(){return this.raw.polyCount}vertCount(){return this.raw.vertCount}maxLinkCount(){return this.raw.maxLinkCount}detailMeshCount(){return this.raw.detailMeshCount}detailVertCount(){return this.raw.detailVertCount}detailTriCount(){return this.raw.detailTriCount}bvNodeCount(){return this.raw.bvNodeCount}offMeshConCount(){return this.raw.offMeshConCount}offMeshBase(){return this.raw.offMeshBase}walkableHeight(){return this.raw.walkableHeight}walkableRadius(){return this.raw.walkableRadius}walkableClimb(){return this.raw.walkableClimb}bmin(e){return this.raw.get_bmin(e)}bmax(e){return this.raw.get_bmax(e)}bvQuantFactor(){return this.raw.bvQuantFactor}}class P{constructor(e){this.raw=e}firstLink(){return this.raw.firstLink}verts(e){return this.raw.get_verts(e)}neis(e){return this.raw.get_neis(e)}flags(){return this.raw.flags}vertCount(){return this.raw.vertCount}areaAndType(){return this.raw.get_areaAndtype()}getType(){return this.raw.getType()}}class O{constructor(e){this.raw=e}salt(){return this.raw.salt}linksFreeList(){return this.raw.linksFreeList}header(){return r.isNull(this.raw.header)?null:new S(this.raw.header)}polys(e){return new P(this.raw.get_polys(e))}verts(e){return this.raw.get_verts(e)}links(e){return new p(this.raw.get_links(e))}detailMeshes(e){return new f(this.raw.get_detailMeshes(e))}detailVerts(e){return this.raw.get_detailVerts(e)}detailTris(e){return this.raw.get_detailTris(e)}bvTree(e){return new D(this.raw.get_bvTree(e))}offMeshCons(e){return new I(this.raw.get_offMeshCons(e))}data(e){return this.raw.get_data(e)}dataSize(){return this.raw.dataSize}flags(){return this.raw.flags}next(){return new O(this.raw.next)}}const L=e=>{const t=r.DetourNavMeshBuilder.createNavMeshData(e.raw);return{success:t.success,navMeshData:u.fromRaw(t.navMeshData)}};class x{constructor(e){this.raw=e??new r.Module.dtNavMeshCreateParams}setPolyMeshCreateParams(e){r.DetourNavMeshBuilder.setPolyMeshCreateParams(this.raw,e.raw)}setPolyMeshDetailCreateParams(e){r.DetourNavMeshBuilder.setPolyMeshDetailCreateParams(this.raw,e.raw)}setOffMeshConnections(e){if(e.length<=0)return;const t=[],s=[],a=[],i=[],n=[],o=[];for(let r=0;r<e.length;r++){const l=e[r];t.push(l.startPosition.x,l.startPosition.y,l.startPosition.z),t.push(l.endPosition.x,l.endPosition.y,l.endPosition.z),s.push(l.radius),a.push(l.bidirectional?1:0),i.push(l.area??0),n.push(l.flags??1),o.push(l.userId??1e3+r)}r.DetourNavMeshBuilder.setOffMeshConnections(this.raw,e.length,t,s,a,i,n,o)}verts(e){return this.raw.get_verts(e)}setVerts(e,t){this.raw.set_verts(e,t)}vertCount(){return this.raw.vertCount}polys(e){return this.raw.get_polys(e)}setPolys(e,t){this.raw.set_polys(e,t)}polyAreas(e){return this.raw.get_polyAreas(e)}setPolyAreas(e,t){this.raw.set_polyAreas(e,t)}polyFlags(e){return this.raw.get_polyFlags(e)}setPolyFlags(e,t){this.raw.set_polyFlags(e,t)}polyCount(){return this.raw.polyCount}nvp(){return this.raw.nvp}setNvp(e){this.raw.nvp=e}detailMeshes(e){return this.raw.get_detailMeshes(e)}setDetailMeshes(e,t){this.raw.set_detailMeshes(e,t)}detailVerts(e){return this.raw.get_detailVerts(e)}setDetailVerts(e,t){this.raw.set_detailVerts(e,t)}detailVertsCount(){return this.raw.detailVertsCount}detailTris(e){return this.raw.get_detailTris(e)}setDetailTris(e,t){this.raw.set_detailTris(e,t)}detailTriCount(){return this.raw.detailTriCount}offMeshConVerts(e){return this.raw.get_offMeshConVerts(e)}offMeshConRad(e){return this.raw.get_offMeshConRad(e)}offMeshConDir(e){return this.raw.get_offMeshConDir(e)}offMeshConAreas(e){return this.raw.get_offMeshConAreas(e)}offMeshConFlags(e){return this.raw.get_offMeshConFlags(e)}offMeshConUserID(e){return this.raw.get_offMeshConUserID(e)}offMeshConCount(){return this.raw.offMeshConCount}userId(){return this.raw.userId}tileX(){return this.raw.tileX}setTileX(e){this.raw.tileX=e}tileY(){return this.raw.tileY}setTileY(e){this.raw.tileY=e}tileLayer(){return this.raw.tileLayer}setTileLayer(e){this.raw.tileLayer=e}boundsMin(){return E((e=>this.raw.get_bmin(e)),3)}setBoundsMin(e){this.raw.set_bmin(0,e[0]),this.raw.set_bmin(1,e[1]),this.raw.set_bmin(2,e[2])}boundsMax(){return E((e=>this.raw.get_bmax(e)),3)}setBoundsMax(e){this.raw.set_bmax(0,e[0]),this.raw.set_bmax(1,e[1]),this.raw.set_bmax(2,e[2])}walkableHeight(){return this.raw.walkableHeight}setWalkableHeight(e){this.raw.walkableHeight=e}walkableRadius(){return this.raw.walkableRadius}setWalkableRadius(e){this.raw.walkableRadius=e}walkableClimb(){return this.raw.walkableClimb}setWalkableClimb(e){this.raw.walkableClimb=e}cellSize(){return this.raw.cs}setCellSize(e){this.raw.cs=e}cellHeight(){return this.raw.ch}setCellHeight(e){this.raw.ch=e}buildBvTree(){return this.raw.buildBvTree}setBuildBvTree(e){this.raw.buildBvTree=e}}class N{get includeFlags(){return this.raw.getIncludeFlags()}set includeFlags(e){this.raw.setIncludeFlags(e)}get excludeFlags(){return this.raw.getExcludeFlags()}set excludeFlags(e){this.raw.setExcludeFlags(e)}constructor(e){this.raw=e??new r.Module.dtQueryFilter}getAreaCost(e){return this.raw.getAreaCost(e)}setAreaCost(e,t){return this.raw.setAreaCost(e,t)}}class b{defaultQueryHalfExtents={x:1,y:1,z:1};constructor(e,t){e instanceof r.Module.NavMeshQuery?this.raw=e:(this.raw=new r.Module.NavMeshQuery,this.raw.init(e.raw,t?.maxNodes??2048)),t?.defaultQueryFilter?this.defaultFilter=t.defaultQueryFilter:(this.defaultFilter=new N,this.defaultFilter.includeFlags=65535,this.defaultFilter.excludeFlags=0)}findNearestPoly(e,t){const s=new r.UnsignedIntRef,a=new r.Vec3,i=new r.BoolRef,n=this.raw.findNearestPoly(T.toArray(e),T.toArray(t?.halfExtents??this.defaultQueryHalfExtents),t?.filter?.raw??this.defaultFilter.raw,s,a,i),o=T.fromRaw(a);r.destroy(a);const l=s.value;r.destroy(s);const u=i.value;return r.destroy(i),{success:A(n),status:n,nearestRef:l,nearestPoint:o,isOverPoly:u}}findPolysAroundCircle(e,t,s,a){const i=a?.filter??this.defaultFilter,n=a?.maxPolys??256,o=new l,u=new l,h=new w;o.resize(n),u.resize(n),h.resize(n);const c=new r.IntRef,_=this.raw.findPolysAroundCircle(e,T.toArray(t),s,i.raw,o.raw,u.raw,h.raw,c,n),d=[...o.getHeapView()];o.destroy();const R=[...u.getHeapView()];u.destroy();const g=[...h.getHeapView()];h.destroy();const E=c.value;return r.destroy(c),{success:A(_),status:_,resultRefs:d,resultParents:R,resultCost:g,resultCount:E}}queryPolygons(e,t,s){const a=s?.filter??this.defaultFilter,i=s?.maxPolys??256,n=new l;n.resize(i);const o=new r.IntRef,u=this.raw.queryPolygons(T.toArray(e),T.toArray(t),a.raw,n.raw,o,i),h=o.value;r.destroy(o);const w=[...n.getHeapView()];return n.destroy(),{success:A(u),status:u,polyRefs:w,polyCount:h}}closestPointOnPoly(e,t){const s=new r.Vec3,a=new r.BoolRef,i=this.raw.closestPointOnPoly(e,T.toArray(t),s,a),n=T.fromRaw(s);r.destroy(s);const o=a.value;return r.destroy(a),{success:A(i),status:i,closestPoint:n,isPointOverPoly:o}}findClosestPoint(e,t){const s=t?.filter??this.defaultFilter,a=t?.halfExtents??this.defaultQueryHalfExtents,i=new r.UnsignedIntRef,n=new r.Vec3,o=new r.BoolRef,l=this.raw.findClosestPoint(T.toArray(e),T.toArray(a),s.raw,i,n,o),u=i.value;r.destroy(i);const h=T.fromRaw(n);r.destroy(n);const w=o.value;return r.destroy(o),{success:A(l),status:l,polyRef:u,point:h,isPointOverPoly:w}}findRandomPointAroundCircle(e,t,s){const a=s?.filter??this.defaultFilter,i=s?.halfExtents??this.defaultQueryHalfExtents;let n;if(s?.startRef)n=s.startRef;else{const t=this.findNearestPoly(e,{filter:a,halfExtents:i});if(!t.success)return{success:!1,status:t.status,randomPolyRef:0,randomPoint:{x:0,y:0,z:0}};n=t.nearestRef}const o=new r.UnsignedIntRef,l=new r.Vec3,u=this.raw.findRandomPointAroundCircle(n,T.toArray(e),t,a.raw,o,l),h=o.value;r.destroy(o);const w=T.fromRaw(l);return r.destroy(l),{success:A(u),status:u,randomPolyRef:h,randomPoint:w}}moveAlongSurface(e,t,s,a){const i=a?.maxVisitedSize??256,n=new r.Vec3,o=new l,u=a?.filter?.raw??this.defaultFilter.raw,h=this.raw.moveAlongSurface(e,T.toArray(t),T.toArray(s),u,n,o.raw,i),w=T.fromRaw(n);r.destroy(n);const c=[...o.getHeapView()];return o.destroy(),{success:A(h),status:h,resultPosition:w,visited:c}}findRandomPoint(e){const t=new r.UnsignedIntRef,s=new r.Vec3,a=this.raw.findRandomPoint(e?.filter?.raw??this.defaultFilter.raw,t,s),i=t.value;r.destroy(t);const n=T.fromRaw(s);return r.destroy(s),{success:A(a),status:a,randomPolyRef:i,randomPoint:n}}getPolyHeight(e,t){const s=new r.FloatRef,a=this.raw.getPolyHeight(e,T.toArray(t),s),i=s.value;return r.destroy(s),{success:A(a),status:a,height:i}}computePath(e,t,r){const s=r?.filter??this.defaultFilter,a=r?.halfExtents??this.defaultQueryHalfExtents,i=this.findNearestPoly(e,{filter:s,halfExtents:a});if(!i.success)return{success:!1,error:{name:"findNearestPoly for start position failed",status:i.status},path:[]};const n=this.findNearestPoly(t,{filter:s,halfExtents:a});if(!n.success)return{success:!1,error:{name:"findNearestPoly for end position failed",status:n.status},path:[]};const o=i.nearestRef,l=n.nearestRef,u=r?.maxPathPolys??256,h=this.findPath(o,l,e,t,{filter:s,maxPathPolys:u});if(!h.success)return{success:!1,error:{name:"findPath unsuccessful",status:h.status},path:[]};if(h.polys.size<=0)return{success:!1,error:{name:"no polygon path found"},path:[]};const w=h.polys.get(h.polys.size-1);let c={x:t.x,y:t.y,z:t.z};if(w!==l){const e=this.closestPointOnPoly(w,t);if(!e.success)return{success:!1,error:{name:"no closest point on last polygon found",status:e.status},path:[]};c=e.closestPoint}const _=r?.maxStraightPathPoints,d=this.findStraightPath(e,c,h.polys,{maxStraightPathPoints:_});if(!d.success)return{success:!1,error:{name:"findStraightPath unsuccessful",status:d.status},path:[]};const{straightPath:R,straightPathCount:g}=d,T=[];for(let e=0;e<g;e++)T.push({x:R.get(3*e),y:R.get(3*e+1),z:R.get(3*e+2)});return h.polys.destroy(),d.straightPath.destroy(),d.straightPathFlags.destroy(),d.straightPathRefs.destroy(),{success:!0,path:T}}findPath(e,t,r,s,a){const i=a?.filter??this.defaultFilter,n=a?.maxPathPolys??256,o=new l;o.resize(n);const u=this.raw.findPath(e,t,T.toArray(r),T.toArray(s),i.raw,o.raw,n);return{success:A(u),status:u,polys:o}}findStraightPath(e,t,s,a){const i=a?.maxStraightPathPoints??256,n=a?.straightPathOptions??0;let o;Array.isArray(s)?(o=new l,o.copy(s)):o=s;const h=new w;h.resize(3*i);const c=new u;c.resize(i);const _=new l;_.resize(i);const d=new r.IntRef,R=this.raw.findStraightPath(T.toArray(e),T.toArray(t),o.raw,h.raw,c.raw,_.raw,d,i,n),g=d.value;return r.destroy(d),Array.isArray(s)&&o.destroy(),{success:A(R),status:R,straightPath:h,straightPathFlags:c,straightPathRefs:_,straightPathCount:g}}raycast(e,t,s,a){const i=new r.Module.dtRaycastHit,n=a?.raycastOptions??0,o=a?.prevRef??0,l=a?.filter?.raw??this.defaultFilter.raw,u=this.raw.raycast(e,T.toArray(t),T.toArray(s),l,n,i,o),h={success:A(u),status:u,t:i.t,hitNormal:T.fromArray(E((e=>i.get_hitNormal(e)),3)),hitEdgeIndex:i.hitEdgeIndex,path:E((e=>i.get_path(e)),i.pathCount),maxPath:i.maxPath,pathCost:i.pathCost};return r.destroy(i),h}destroy(){this.raw.destroy()}}const v={radius:.5,height:1,maxAcceleration:20,maxSpeed:6,collisionQueryRange:2.5,pathOptimizationRange:0,separationWeight:0,updateFlags:7,obstacleAvoidanceType:0,queryFilterType:0,userData:0};class F{get radius(){return this.raw.params.radius}set radius(e){this.raw.params.radius=e}get height(){return this.raw.params.height}set height(e){this.raw.params.height=e}get maxAcceleration(){return this.raw.params.maxAcceleration}set maxAcceleration(e){this.raw.params.maxAcceleration=e}get maxSpeed(){return this.raw.params.maxSpeed}set maxSpeed(e){this.raw.params.maxSpeed=e}get collisionQueryRange(){return this.raw.params.collisionQueryRange}set collisionQueryRange(e){this.raw.params.collisionQueryRange=e}get pathOptimizationRange(){return this.raw.params.pathOptimizationRange}set pathOptimizationRange(e){this.raw.params.pathOptimizationRange=e}get separationWeight(){return this.raw.params.separationWeight}set separationWeight(e){this.raw.params.separationWeight=e}get updateFlags(){return this.raw.params.updateFlags}set updateFlags(e){this.raw.params.updateFlags=e}get obstacleAvoidanceType(){return this.raw.params.obstacleAvoidanceType}set obstacleAvoidanceType(e){this.raw.params.obstacleAvoidanceType=e}get queryFilterType(){return this.raw.params.queryFilterType}set queryFilterType(e){this.raw.params.queryFilterType=e}get userData(){return this.raw.params.userData}set userData(e){this.raw.params.userData=e}interpolatedPosition={x:0,y:0,z:0};constructor(e,t){this.crowd=e,this.agentIndex=t,this.raw=e.raw.getEditableAgent(t),this.interpolatedPosition=this.position()}requestMoveTarget(e){const{nearestPoint:t,nearestRef:r}=this.crowd.navMeshQuery.findNearestPoly(e,{halfExtents:this.crowd.navMeshQuery.defaultQueryHalfExtents,filter:this.crowd.navMeshQuery.defaultFilter});return this.crowd.raw.requestMoveTarget(this.agentIndex,r,T.toArray(t))}requestMoveVelocity(e){return this.crowd.raw.requestMoveVelocity(this.agentIndex,T.toArray(e))}resetMoveTarget(){this.crowd.raw.resetMoveTarget(this.agentIndex)}teleport(e){r.CrowdUtils.agentTeleport(this.crowd.raw,this.agentIndex,T.toArray(e),T.toArray(this.crowd.navMeshQuery.defaultQueryHalfExtents),this.crowd.navMeshQuery.defaultFilter.raw),T.copy(e,this.interpolatedPosition)}position(){return{x:this.raw.get_npos(0),y:this.raw.get_npos(1),z:this.raw.get_npos(2)}}velocity(){return{x:this.raw.get_vel(0),y:this.raw.get_vel(1),z:this.raw.get_vel(2)}}desiredVelocity(){return{x:this.raw.get_dvel(0),y:this.raw.get_dvel(1),z:this.raw.get_dvel(2)}}desiredVelocityObstacleAdjusted(){return{x:this.raw.get_nvel(0),y:this.raw.get_nvel(1),z:this.raw.get_nvel(2)}}state(){return this.raw.state}target(){return{x:this.raw.get_targetPos(0),y:this.raw.get_targetPos(1),z:this.raw.get_targetPos(2)}}nextTargetInPath(){return{x:this.raw.get_cornerVerts(0),y:this.raw.get_cornerVerts(1),z:this.raw.get_cornerVerts(2)}}corners(){const e=[];for(let t=0;t<this.raw.ncorners;t++)e.push({x:this.raw.get_cornerVerts(3*t),y:this.raw.get_cornerVerts(3*t+1),z:this.raw.get_cornerVerts(3*t+2)});return e}parameters(){const{params:e}=this.raw;return{radius:e.radius,height:e.height,maxAcceleration:e.maxAcceleration,maxSpeed:e.maxSpeed,collisionQueryRange:e.collisionQueryRange,pathOptimizationRange:e.pathOptimizationRange,separationWeight:e.separationWeight,updateFlags:e.updateFlags,obstacleAvoidanceType:e.obstacleAvoidanceType,queryFilterType:e.queryFilterType,userData:e.userData}}updateParameters(e){const t={...this.parameters(),...e};this.setParameters(t)}setParameters(e){const t={...v,...e},s=new r.Module.dtCrowdAgentParams;s.radius=t.radius,s.height=t.height,s.maxAcceleration=t.maxAcceleration,s.maxSpeed=t.maxSpeed,s.collisionQueryRange=t.collisionQueryRange,s.pathOptimizationRange=t.pathOptimizationRange,s.separationWeight=t.separationWeight,s.updateFlags=t.updateFlags,s.obstacleAvoidanceType=t.obstacleAvoidanceType,s.queryFilterType=t.queryFilterType,s.userData=t.userData,this.crowd.raw.updateAgentParameters(this.agentIndex,s)}overOffMeshConnection(){return r.CrowdUtils.overOffMeshConnection(this.crowd.raw,this.agentIndex)}}class U{agents={};accumulator=0;constructor(e,{maxAgents:t,maxAgentRadius:s}){this.navMesh=e,this.raw=r.Detour.allocCrowd(),this.raw.init(t,s,e.raw.getNavMesh()),this.navMeshQuery=new b(new r.Module.NavMeshQuery(this.raw.getNavMeshQuery()))}update(e,t,r=10){if(void 0===t)this.raw.update(e,void 0);else{this.accumulator+=t;let s=0;for(;this.accumulator>=e&&s<r;)this.raw.update(e,void 0),this.accumulator-=e,s++;const a=this.accumulator%e/e,i=this.getAgents();for(const e of i)T.lerp(e.interpolatedPosition,e.position(),a,e.interpolatedPosition)}}addAgent(e,t){const s={...v,...t},a=new r.Module.dtCrowdAgentParams;a.radius=s.radius,a.height=s.height,a.maxAcceleration=s.maxAcceleration,a.maxSpeed=s.maxSpeed,a.collisionQueryRange=s.collisionQueryRange,a.pathOptimizationRange=s.pathOptimizationRange,a.separationWeight=s.separationWeight,a.updateFlags=s.updateFlags,a.obstacleAvoidanceType=s.obstacleAvoidanceType,a.queryFilterType=s.queryFilterType,a.userData=s.userData;const i=this.raw.addAgent(T.toArray(e),a),n=new F(this,i);return this.agents[i]=n,n}getAgent(e){const t=this.agents[e];return t||null}removeAgent(e){const t="number"==typeof e?e:e.agentIndex;this.raw.removeAgent(t),delete this.agents[t]}getAgentCount(){return this.raw.getAgentCount()}getActiveAgentCount(){return r.CrowdUtils.getActiveAgentCount(this.raw)}getAgents(){return Object.values(this.agents)}getFilter(e){return new N(this.raw.getEditableFilter(e))}destroy(){r.Detour.freeCrowd(this.raw)}}class H{constructor(e){this.raw=e}tiles(e){return new O(this.raw.get_tiles(e))}tileCount(){return this.raw.tileCount}}class G{constructor(e){this.raw=e}data(){return E((e=>this.raw.get_data(e)),this.raw.dataSize)}dataSize(){return this.raw.dataSize}}class B{constructor(e){this.raw=e}tileX(){return this.raw.tileX}tileY(){return this.raw.tileY}}class z{constructor(e){this.raw=e}data(){return E((e=>this.raw.get_data(e)),this.raw.dataSize)}dataSize(){return this.raw.dataSize}}class V{constructor(e){this.raw=e}static create(e){const t=new r.Module.dtNavMeshParams;return t.set_orig(0,e.orig.x),t.set_orig(1,e.orig.y),t.set_orig(2,e.orig.z),t.tileWidth=e.tileWidth,t.tileHeight=e.tileHeight,t.maxTiles=e.maxTiles,t.maxPolys=e.maxPolys,new V(t)}clone(){return V.create({orig:{x:this.raw.get_orig(0),y:this.raw.get_orig(1),z:this.raw.get_orig(2)},tileWidth:this.raw.tileWidth,tileHeight:this.raw.tileHeight,maxTiles:this.raw.maxTiles,maxPolys:this.raw.maxPolys})}}class k{constructor(e){this.raw=e??new r.Module.NavMesh}initSolo(e){return this.raw.initSolo(e.raw)}initTiled(e){return this.raw.initTiled(e.raw)}addTile(e,t,s){const a=new r.UnsignedIntRef,i=this.raw.addTile(e.raw,t,s,a),n=a.value;return r.destroy(a),{status:i,tileRef:n}}decodePolyId(e){const t=new r.UnsignedIntRef,s=new r.UnsignedIntRef,a=new r.UnsignedIntRef;this.raw.decodePolyId(e,t,s,a);const i=t.value;r.destroy(t);const n=s.value;r.destroy(s);const o=a.value;return r.destroy(a),{tileSalt:i,tileIndex:n,tilePolygonIndex:o}}encodePolyId(e,t,r){return this.raw.encodePolyId(e,t,r)}removeTile(e){return new G(this.raw.removeTile(e))}calcTileLoc(e){return new B(this.raw.calcTileLoc(T.toArray(e)))}getTileAt(e,t,s){const a=this.raw.getTileAt(e,t,s);return r.isNull(a)?null:new O(a)}getTilesAt(e,t,r){return new H(this.raw.getTilesAt(e,t,r))}getTileRefAt(e,t,r){return this.raw.getTileRefAt(e,t,r)}getTileRef(e){return this.raw.getTileRef(e.raw)}getTileByRef(e){const t=this.raw.getTileByRef(e);return r.isNull(t)?null:new O(t)}getMaxTiles(){return this.raw.getMaxTiles()}getTile(e){return new O(this.raw.getTile(e))}getTileAndPolyByRef(e){const t=this.raw.getTileAndPolyByRef(e),r=new O(t.tile),s=new P(t.poly);return{success:A(t.status),status:t.status,tile:r,poly:s}}getTileAndPolyByRefUnsafe(e){const t=this.raw.getTileAndPolyByRef(e);return{tile:new O(t.tile),poly:new P(t.poly)}}isValidPolyRef(e){return this.raw.isValidPolyRef(e)}getPolyRefBase(e){return this.raw.getPolyRefBase(e.raw)}getOffMeshConnectionPolyEndPoints(e,t){const s=new r.Vec3,a=new r.Vec3,i=this.raw.getOffMeshConnectionPolyEndPoints(e,t,s,a),n=T.fromRaw(s);r.destroy(s);const o=T.fromRaw(a);return r.destroy(a),{success:A(i),status:i,start:n,end:o}}getOffMeshConnectionByRef(e){return new I(this.raw.getOffMeshConnectionByRef(e))}setPolyFlags(e,t){return this.raw.setPolyFlags(e,t)}getPolyFlags(e){const t=new r.UnsignedShortRef,s=this.raw.getPolyFlags(e,t),a=t.value;return r.destroy(t),{status:s,flags:a}}setPolyArea(e,t){return this.raw.setPolyArea(e,t)}getPolyArea(e){const t=new r.UnsignedCharRef,s=this.raw.getPolyArea(e,t),a=t.value;return r.destroy(t),{status:s,area:a}}getTileStateSize(e){return this.raw.getTileStateSize(e.raw)}storeTileState(e,t){return new z(this.raw.storeTileState(e.raw,t))}restoreTileState(e,t,r){return this.raw.restoreTileState(e.raw,t,r)}getDebugNavMesh(){const e=[],t=[];let r=0;const s=this.getMaxTiles();for(let a=0;a<s;a++){const s=this.getTile(a),i=s.header();if(!i)continue;const n=i.polyCount();for(let a=0;a<n;++a){const i=s.polys(a);if(1===i.getType())continue;const n=i.vertCount(),o=s.detailMeshes(a),l=o.triBase(),u=o.triCount();for(let a=0;a<u;++a){const u=4*(l+a);for(let a=0;a<3;++a){if(s.detailTris(u+a)<n){const t=3*i.verts(s.detailTris(u+a));e.push(s.verts(t),s.verts(t+1),s.verts(t+2))}else{const t=3*(o.vertBase()+s.detailTris(u+a)-i.vertCount());e.push(s.detailVerts(t),s.detailVerts(t+1),s.detailVerts(t+2))}t.push(r++)}}}}return[e,t]}destroy(){this.raw.destroy(),r.Module.destroy(this.raw)}}const W=()=>r.Module.FastRand.prototype.getSeed(),Y=e=>{r.Module.FastRand.prototype.setSeed(e)},Q={borderSize:0,tileSize:0,cs:.2,ch:.2,walkableSlopeAngle:60,walkableHeight:2,walkableClimb:2,walkableRadius:.5,maxEdgeLen:12,maxSimplificationError:1.3,minRegionArea:8,mergeRegionArea:20,maxVertsPerPoly:6,detailSampleDist:6,detailSampleMaxError:1},K=e=>{const t={...Q,...e},s=new r.Module.rcConfig;return s.borderSize=t.borderSize,s.tileSize=t.tileSize,s.cs=t.cs,s.ch=t.ch,s.walkableSlopeAngle=t.walkableSlopeAngle,s.walkableHeight=t.walkableHeight,s.walkableClimb=t.walkableClimb,s.walkableRadius=t.walkableRadius,s.maxEdgeLen=t.maxEdgeLen,s.maxSimplificationError=t.maxSimplificationError,s.minRegionArea=t.minRegionArea,s.mergeRegionArea=t.mergeRegionArea,s.maxVertsPerPoly=t.maxVertsPerPoly,s.detailSampleDist=t.detailSampleDist,s.detailSampleMaxError=t.detailSampleMaxError,s},X=e=>{const t=new r.Module.rcConfig;return t.set_bmin(0,e.get_bmin(0)),t.set_bmin(1,e.get_bmin(1)),t.set_bmin(2,e.get_bmin(2)),t.set_bmax(0,e.get_bmax(0)),t.set_bmax(1,e.get_bmax(1)),t.set_bmax(2,e.get_bmax(2)),t.width=e.width,t.height=e.height,t.borderSize=e.borderSize,t.tileSize=e.tileSize,t.cs=e.cs,t.ch=e.ch,t.walkableSlopeAngle=e.walkableSlopeAngle,t.walkableHeight=e.walkableHeight,t.walkableClimb=e.walkableClimb,t.walkableRadius=e.walkableRadius,t.maxEdgeLen=e.maxEdgeLen,t.maxSimplificationError=e.maxSimplificationError,t.minRegionArea=e.minRegionArea,t.mergeRegionArea=e.mergeRegionArea,t.maxVertsPerPoly=e.maxVertsPerPoly,t.detailSampleDist=e.detailSampleDist,t.detailSampleMaxError=e.detailSampleMaxError,t};class q{logs=[];startTimes={};accumulatedTimes={};constructor(e=!0){const t=new r.Module.RecastBuildContextImpl;t.log=(e,t,s)=>{if(!this.raw.logEnabled())return;const a=t,i=new Uint8Array(r.Module.HEAPU8.buffer,a,s),n=new Uint8Array(s);n.set(i);const o=(new TextDecoder).decode(n);this.log(e,o)},t.resetLog=()=>{this.resetLog()},t.startTimer=e=>{this.raw.timerEnabled()&&this.startTimer(e)},t.stopTimer=e=>{this.raw.timerEnabled()&&this.stopTimer(e)},t.getAccumulatedTime=e=>this.raw.timerEnabled()?this.getAccumulatedTime(e):-1,t.resetTimers=()=>{this.raw.timerEnabled()&&(this.startTimes={},this.accumulatedTimes={})},this.raw=new r.Module.RecastBuildContext(t),this.raw.enableTimer(e),this.raw.enableLog(e),this.resetTimers()}log(e,t){this.logs.push({category:e,msg:t})}resetLog(){this.logs=[]}startTimer(e){this.startTimes[e]=performance.now()}stopTimer(e){const t=performance.now()-this.startTimes[e];-1===this.accumulatedTimes[e]?this.accumulatedTimes[e]=t:this.accumulatedTimes[e]+=t}getAccumulatedTime(e){return this.accumulatedTimes[e]}resetTimers(){for(let e=0;e<s.RC_MAX_TIMERS;e++)this.startTimes[e]=-1,this.accumulatedTimes[e]=-1}}class j{constructor(e){this.raw=e??new r.rcChunkyTriMesh}init(e,t,s,a){return r.ChunkyTriMeshUtils.createChunkyTriMesh(e.raw,t.raw,s,a,this.raw)}getChunksOverlappingRect(e,t,s,a){return r.ChunkyTriMeshUtils.getChunksOverlappingRect(this.raw,e,t,s.raw,a)}getNodeTris(e){return o.fromRaw(r.ChunkyTriMeshUtils.getChunkyTriMeshNodeTris(this.raw,e))}nodes(e){return this.raw.get_nodes(e)}maxTrisPerChunk(){return this.raw.maxTrisPerChunk}}class Z{constructor(e){this.raw=e}smin(){return this.raw.smin}smax(){return this.raw.smax}area(){return this.raw.area}next(){return r.isNull(this.raw.next)?null:new Z(this.raw.next)}}class ${constructor(e){this.raw=e}next(){return r.isNull(this.raw.next)?null:new $(this.raw.next)}items(e){return new Z(this.raw.get_items(e))}}class J{constructor(e){this.raw=e}width(){return this.raw.width}height(){return this.raw.height}bmin(){return T.fromArray(E((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(E((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}spans(e){return new Z(this.raw.get_spans(e))}pools(e){return new $(this.raw.get_pools(e))}freelist(e){return new Z(this.raw.get_freelist(e))}}class ee{constructor(e){this.raw=e}index(){return this.raw.get_index()}count(){return this.raw.get_count()}}class te{constructor(e){this.raw=e}y(){return this.raw.get_y()}reg(){return this.raw.get_reg()}con(){return this.raw.get_con()}h(){return this.raw.get_h()}}class re{constructor(e){this.raw=e}width(){return this.raw.width}height(){return this.raw.height}spanCount(){return this.raw.spanCount}walkableHeight(){return this.raw.walkableHeight}walkableClimb(){return this.raw.walkableClimb}borderSize(){return this.raw.borderSize}maxDistance(){return this.raw.maxDistance}maxRegions(){return this.raw.maxRegions}bmin(){return T.fromArray(E((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(E((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}cells(e){return new ee(this.raw.get_cells(e))}spans(e){return new te(this.raw.get_spans(e))}dist(e){return this.raw.get_dist(e)}areas(e){return this.raw.get_areas(e)}}class se{constructor(e){this.raw=e}verts(e){return this.raw.get_verts(e)}nverts(){return this.raw.nverts}rverts(e){return this.raw.get_rverts(e)}nrverts(){return this.raw.nrverts}reg(){return this.raw.reg}area(){return this.raw.area}}class ae{constructor(e){this.raw=e}conts(e){return new se(this.raw.get_conts(e))}nconts(){return this.raw.nconts}bmin(){return T.fromArray(E((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(E((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}width(){return this.raw.width}height(){return this.raw.height}borderSize(){return this.raw.borderSize}maxError(){return this.raw.maxError}}class ie{constructor(e){this.raw=e}bmin(){return T.fromArray(E((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(E((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}width(){return this.raw.width}height(){return this.raw.height}minx(){return this.raw.minx}maxx(){return this.raw.maxx}miny(){return this.raw.miny}maxy(){return this.raw.maxy}hmin(){return this.raw.hmin}hmax(){return this.raw.hmax}heights(e){return this.raw.get_heights(e)}areas(e){return this.raw.get_areas(e)}cons(e){return this.raw.get_cons(e)}}class ne{constructor(e){this.raw=e}layers(e){return new ie(this.raw.get_layers(e))}nlayers(){return this.raw.nlayers}}class oe{constructor(e){this.raw=e}verts(e){return this.raw.get_verts(e)}polys(e){return this.raw.get_polys(e)}regs(e){return this.raw.get_regs(e)}flags(e){return this.raw.get_flags(e)}setFlags(e,t){this.raw.set_flags(e,t)}areas(e){return this.raw.get_areas(e)}setAreas(e,t){return this.raw.set_areas(e,t)}nverts(){return this.raw.nverts}npolys(){return this.raw.npolys}maxpolys(){return this.raw.maxpolys}nvp(){return this.raw.nvp}bmin(){return T.fromArray(E((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(E((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}borderSize(){return this.raw.borderSize}maxEdgeError(){return this.raw.maxEdgeError}}class le{constructor(e){this.raw=e}meshes(e){return this.raw.get_meshes(e)}verts(e){return this.raw.get_verts(e)}tris(e){return this.raw.get_tris(e)}nmeshes(){return this.raw.nmeshes}nverts(){return this.raw.nverts}ntris(){return this.raw.ntris}}const ue=(e,t)=>r.Recast.calcBounds(e.raw,t),he=(e,t,s)=>r.Recast.calcGridSize(e,t,s),we=(e,t,s,a,i,n,o,l)=>r.Recast.createHeightfield(e.raw,t.raw,s,a,i,n,o,l),ce=(e,t,s,a,i,n,o)=>r.Recast.markWalkableTriangles(e.raw,t,s.raw,a,i.raw,n,o.raw),_e=(e,t,s,a,i,n,o)=>r.Recast.clearUnwalkableTriangles(e.raw,t,s.raw,a,i.raw,n,o.raw),de=(e,t,s,a,i,n,o,l=1)=>r.Recast.rasterizeTriangles(e.raw,t.raw,s,a.raw,i.raw,n,o.raw,l),Re=(e,t,s)=>r.Recast.filterLowHangingWalkableObstacles(e.raw,t,s.raw),ge=(e,t,s,a)=>r.Recast.filterLedgeSpans(e.raw,t,s,a.raw),Te=(e,t,s)=>r.Recast.filterWalkableLowHeightSpans(e.raw,t,s.raw),Ee=(e,t)=>r.Recast.getHeightFieldSpanCount(e.raw,t.raw),Ae=(e,t,s,a,i)=>r.Recast.buildCompactHeightfield(e.raw,t,s,a.raw,i.raw),ye=(e,t,s)=>r.Recast.erodeWalkableArea(e.raw,t,s.raw),me=(e,t)=>r.Recast.medianFilterWalkableArea(e.raw,t.raw),Ce=(e,t,s,a,i)=>r.Recast.markBoxArea(e.raw,t,s,a,i.raw),Me=(e,t,s,a,i,n,o)=>r.Recast.markConvexPolyArea(e.raw,t.raw,s,a,i,n,o.raw),fe=(e,t,s,a,i,n)=>r.Recast.markCylinderArea(e.raw,t,s,a,i,n.raw),pe=(e,t)=>r.Recast.buildDistanceField(e.raw,t.raw),De=(e,t,s,a,i)=>r.Recast.buildRegions(e.raw,t.raw,s,a,i),Ie=(e,t,s,a)=>r.Recast.buildLayerRegions(e.raw,t.raw,s,a),Se=(e,t,s,a,i)=>r.Recast.buildRegionsMonotone(e.raw,t.raw,s,a,i),Pe=(e,t,s)=>r.Recast.setCon(e.raw,t,s),Oe=(e,t)=>r.Recast.getCon(e.raw,t),Le=e=>r.Recast.getDirOffsetX(e),xe=e=>r.Recast.getDirOffsetY(e),Ne=(e,t)=>r.Recast.getDirForOffset(e,t),be=(e,t,s,a,i)=>r.Recast.buildHeightfieldLayers(e.raw,t.raw,s,a,i.raw),ve=(e,t,a,i,n,o=s.RC_CONTOUR_TESS_WALL_EDGES)=>r.Recast.buildContours(e.raw,t.raw,a,i,n.raw,o),Fe=(e,t,s,a)=>r.Recast.buildPolyMesh(e.raw,t.raw,s,a.raw),Ue=(e,t,s)=>r.Recast.mergePolyMeshes(e.raw,t.map((e=>e.raw)),t.length,s.raw),He=(e,t,s,a,i,n)=>r.Recast.buildPolyMeshDetail(e.raw,t.raw,s.raw,a,i,n.raw),Ge=(e,t,s)=>r.Recast.copyPolyMesh(e.raw,t.raw,s.raw),Be=(e,t,s)=>r.Recast.mergePolyMeshDetails(e.raw,t.map((e=>e.raw)),t.length,s.raw),ze=e=>u.fromRaw(r.Recast.getHeightfieldLayerHeights(e.raw)),Ve=e=>u.fromRaw(r.Recast.getHeightfieldLayerAreas(e.raw)),ke=e=>u.fromRaw(r.Recast.getHeightfieldLayerCons(e.raw)),We=()=>new J(r.Recast.allocHeightfield()),Ye=e=>r.Recast.freeHeightfield(e.raw),Qe=()=>new re(r.Recast.allocCompactHeightfield()),Ke=e=>r.Recast.freeCompactHeightfield(e.raw),Xe=()=>new ne(r.Recast.allocHeightfieldLayerSet()),qe=e=>r.Recast.freeHeightfieldLayerSet(e.raw),je=()=>new ae(r.Recast.allocContourSet()),Ze=e=>r.Recast.freeContourSet(e.raw),$e=()=>new oe(r.Recast.allocPolyMesh()),Je=e=>r.Recast.freePolyMesh(e.raw),et=()=>new le(r.Recast.allocPolyMeshDetail()),tt=e=>r.Recast.freePolyMeshDetail(e.raw),rt=(e,t)=>{const s=r.NavMeshExporter.exportNavMesh(e.raw,t?.raw),a=new Uint8Array(r.Module.HEAPU8.buffer,s.dataPointer,s.size),i=new Uint8Array(s.size);return i.set(a),r.NavMeshExporter.freeNavMeshExport(s),i},st=e=>rt(e),at=(e,t)=>rt(e,t);class it{constructor(e){this.raw=e}static create(e){const t=new r.Module.dtTileCacheParams;return t.set_orig(0,e.orig[0]),t.set_orig(1,e.orig[1]),t.set_orig(2,e.orig[2]),t.set_cs(e.cs),t.set_ch(e.ch),t.set_width(e.width),t.set_height(e.height),t.set_walkableHeight(e.walkableHeight),t.set_walkableRadius(e.walkableRadius),t.set_walkableClimb(e.walkableClimb),t.set_maxSimplificationError(e.maxSimplificationError),t.set_maxTiles(e.maxTiles),t.set_maxObstacles(e.maxObstacles),new it(t)}}class nt{obstacles=new Map;constructor(e){this.raw=e??new r.Module.TileCache}init(e,t,r,s){return this.raw.init(e.raw,t,r,s.raw)}update(e){const{status:t,upToDate:r}=this.raw.update(e.raw);return{success:A(t),status:t,upToDate:r}}addCylinderObstacle(e,t,r){const s=this.raw.addCylinderObstacle(T.toRaw(e),t,r);if(s.status!==a.DT_SUCCESS)return{success:!1,status:s.status};const i=s.ref,n={type:"cylinder",ref:i,position:e,radius:t,height:r};return this.obstacles.set(i,n),{success:!0,status:s.status,obstacle:n}}addBoxObstacle(e,t,s){const i=T.toRaw(e),n=T.toRaw(t),o=this.raw.addBoxObstacle(i,n,s);if(r.destroy(i),r.destroy(n),o.status!==a.DT_SUCCESS)return{success:!1,status:o.status};const l=o.ref,u={type:"box",ref:l,position:e,halfExtents:t,angle:s};return this.obstacles.set(l,u),{success:!0,status:o.status,obstacle:u}}removeObstacle(e){let t;t="object"==typeof e?e.ref:e,this.obstacles.delete(t);const r=this.raw.removeObstacle(t);return{success:A(r),status:r}}addTile(e,t=a.DT_COMPRESSEDTILE_FREE_DATA){return this.raw.addTile(e.raw,t)}buildNavMeshTile(e,t){return this.raw.buildNavMeshTile(e,t.raw)}buildNavMeshTilesAt(e,t,r){return this.raw.buildNavMeshTilesAt(e,t,r.raw)}destroy(){this.raw.destroy()}}class ot{constructor(e){this.raw=new r.Module.TileCacheMeshProcess,this.raw.process=(t,s,a)=>{const i=new x(r.Module.wrapPointer(t,r.Module.dtNavMeshCreateParams)),n=r.Module.wrapPointer(s,r.Module.UnsignedCharArray),o=r.Module.wrapPointer(a,r.Module.UnsignedShortArray);e(i,u.fromRaw(n),h.fromRaw(o))}}}const lt=(e,t,s,a,i,n)=>r.DetourTileCacheBuilder.buildTileCacheLayer(e,t,s.raw,a.raw,i.raw,n.raw),ut=e=>{const t=e.length*e.BYTES_PER_ELEMENT,s=r.Module._malloc(t),a=new Uint8Array(r.Module.HEAPU8.buffer,s,t);a.set(e);const i=new r.Module.NavMeshExport;return i.dataPointer=a.byteOffset,i.size=e.length,{navMeshExport:i,dataHeap:a}},ht=e=>{const{navMeshExport:t,dataHeap:s}=ut(e),a=r.NavMeshImporter.importNavMesh(t,void 0);r.Module._free(s.byteOffset);return{navMesh:new k(a.navMesh)}},wt=(e,t)=>{const{navMeshExport:s,dataHeap:a}=ut(e),i=r.NavMeshImporter.importNavMesh(s,t.raw);r.Module._free(a.byteOffset);return{navMesh:new k(i.navMesh),tileCache:new nt(i.tileCache),allocator:i.allocator,compressor:i.compressor}};export{R as ChunkIdsArray,U as Crowd,F as CrowdAgent,a as Detour,D as DetourBVNode,p as DetourLink,S as DetourMeshHeader,O as DetourMeshTile,I as DetourOffMeshConnection,P as DetourPoly,f as DetourPolyDetail,it as DetourTileCacheParams,w as FloatArray,o as IntArray,k as NavMesh,B as NavMeshCalcTileLocResult,x as NavMeshCreateParams,H as NavMeshGetTilesAtResult,V as NavMeshParams,b as NavMeshQuery,G as NavMeshRemoveTileResult,z as NavMeshStoreTileStateResult,N as QueryFilter,r as Raw,s as Recast,q as RecastBuildContext,j as RecastChunkyTriMesh,ee as RecastCompactCell,re as RecastCompactHeightfield,te as RecastCompactSpan,se as RecastContour,ae as RecastContourSet,J as RecastHeightfield,ie as RecastHeightfieldLayer,ne as RecastHeightfieldLayerSet,oe as RecastPolyMesh,le as RecastPolyMeshDetail,Z as RecastSpan,$ as RecastSpanPool,nt as TileCache,g as TileCacheData,ot as TileCacheMeshProcess,d as TriangleAreasArray,_ as TrianglesArray,u as UnsignedCharArray,l as UnsignedIntArray,h as UnsignedShortArray,c as VerticesArray,Qe as allocCompactHeightfield,je as allocContourSet,We as allocHeightfield,Xe as allocHeightfieldLayerSet,$e as allocPolyMesh,et as allocPolyMeshDetail,E as array,Ae as buildCompactHeightfield,ve as buildContours,pe as buildDistanceField,be as buildHeightfieldLayers,Ie as buildLayerRegions,Fe as buildPolyMesh,He as buildPolyMeshDetail,De as buildRegions,Se as buildRegionsMonotone,lt as buildTileCacheLayer,ue as calcBounds,he as calcGridSize,_e as clearUnwalkableTriangles,X as cloneRcConfig,Ge as copyPolyMesh,we as createHeightfield,L as createNavMeshData,K as createRcConfig,v as crowdAgentParamsDefaults,ye as erodeWalkableArea,st as exportNavMesh,at as exportTileCache,ge as filterLedgeSpans,Re as filterLowHangingWalkableObstacles,Te as filterWalkableLowHeightSpans,Ke as freeCompactHeightfield,Ze as freeContourSet,Ye as freeHeightfield,qe as freeHeightfieldLayerSet,Je as freePolyMesh,tt as freePolyMeshDetail,Oe as getCon,Ne as getDirForOffset,Le as getDirOffsetX,xe as getDirOffsetY,Ee as getHeightFieldSpanCount,Ve as getHeightfieldLayerAreas,ke as getHeightfieldLayerCons,ze as getHeightfieldLayerHeights,W as getRandomSeed,ht as importNavMesh,wt as importTileCache,i as init,Ce as markBoxArea,Me as markConvexPolyArea,fe as markCylinderArea,ce as markWalkableTriangles,me as medianFilterWalkableArea,Be as mergePolyMeshDetails,Ue as mergePolyMeshes,de as rasterizeTriangles,Q as recastConfigDefaults,Pe as setCon,Y as setRandomSeed,C as statusDetail,y as statusFailed,m as statusInProgress,A as statusSucceed,M as statusToReadableString,T as vec3};
|
|
1
|
+
const e=["Recast","Detour","DetourNavMeshBuilder","DetourTileCacheBuilder","NavMeshImporter","NavMeshExporter","CrowdUtils","ChunkyTriMeshUtils","RecastDebugDraw","DetourDebugDraw"],t=["rcConfig","rcContext","dtNavMeshParams","dtNavMeshCreateParams","RecastLinearAllocator","RecastFastLZCompressor","rcChunkyTriMesh","dtTileCacheParams","dtTileCacheLayerHeader","Vec3","BoolRef","IntRef","UnsignedIntRef","UnsignedCharRef","UnsignedShortRef","FloatRef","IntArray","UnsignedIntArray","UnsignedCharArray","UnsignedShortArray","FloatArray"],r={isNull:e=>0===r.Module.getPointer(e),destroy:e=>{r.Module.destroy(e)}},s={},a={},i=async i=>{if(void 0===r.Module){if(i)r.Module=await i();else{const e=(await import("@recast-navigation/wasm")).default;r.Module=await e()}for(const t of e)r[t]=new r.Module[t];for(const e of t)r[e]=r.Module[e];s.RC_BORDER_REG=r.Recast.BORDER_REG,s.RC_MULTIPLE_REGS=r.Recast.MULTIPLE_REGS,s.RC_BORDER_VERTEX=r.Recast.BORDER_VERTEX,s.RC_AREA_BORDER=r.Recast.AREA_BORDER,s.RC_CONTOUR_REG_MASK=r.Recast.CONTOUR_REG_MASK,s.RC_MESH_NULL_IDX=r.Recast.MESH_NULL_IDX,s.RC_NULL_AREA=r.Recast.NULL_AREA,s.RC_WALKABLE_AREA=r.Recast.WALKABLE_AREA,s.RC_NOT_CONNECTED=r.Recast.NOT_CONNECTED,s.RC_CONTOUR_TESS_WALL_EDGES=r.Module.RC_CONTOUR_TESS_WALL_EDGES,s.RC_CONTOUR_TESS_AREA_EDGES=r.Module.RC_CONTOUR_TESS_AREA_EDGES,s.RC_LOG_PROGRESS=r.Module.RC_LOG_PROGRESS,s.RC_LOG_WARNING=r.Module.RC_LOG_WARNING,s.RC_LOG_ERROR=r.Module.RC_LOG_ERROR,s.RC_TIMER_TOTAL=r.Module.RC_TIMER_TOTAL,s.RC_TIMER_TEMP=r.Module.RC_TIMER_TEMP,s.RC_TIMER_RASTERIZE_TRIANGLES=r.Module.RC_TIMER_RASTERIZE_TRIANGLES,s.RC_TIMER_BUILD_COMPACTHEIGHTFIELD=r.Module.RC_TIMER_BUILD_COMPACTHEIGHTFIELD,s.RC_TIMER_BUILD_CONTOURS=r.Module.RC_TIMER_BUILD_CONTOURS,s.RC_TIMER_BUILD_CONTOURS_TRACE=r.Module.RC_TIMER_BUILD_CONTOURS_TRACE,s.RC_TIMER_BUILD_CONTOURS_SIMPLIFY=r.Module.RC_TIMER_BUILD_CONTOURS_SIMPLIFY,s.RC_TIMER_FILTER_BORDER=r.Module.RC_TIMER_FILTER_BORDER,s.RC_TIMER_FILTER_WALKABLE=r.Module.RC_TIMER_FILTER_WALKABLE,s.RC_TIMER_MEDIAN_AREA=r.Module.RC_TIMER_MEDIAN_AREA,s.RC_TIMER_FILTER_LOW_OBSTACLES=r.Module.RC_TIMER_FILTER_LOW_OBSTACLES,s.RC_TIMER_BUILD_POLYMESH=r.Module.RC_TIMER_BUILD_POLYMESH,s.RC_TIMER_MERGE_POLYMESH=r.Module.RC_TIMER_MERGE_POLYMESH,s.RC_TIMER_ERODE_AREA=r.Module.RC_TIMER_ERODE_AREA,s.RC_TIMER_MARK_BOX_AREA=r.Module.RC_TIMER_MARK_BOX_AREA,s.RC_TIMER_MARK_CYLINDER_AREA=r.Module.RC_TIMER_MARK_CYLINDER_AREA,s.RC_TIMER_MARK_CONVEXPOLY_AREA=r.Module.RC_TIMER_MARK_CONVEXPOLY_AREA,s.RC_TIMER_BUILD_DISTANCEFIELD=r.Module.RC_TIMER_BUILD_DISTANCEFIELD,s.RC_TIMER_BUILD_DISTANCEFIELD_DIST=r.Module.RC_TIMER_BUILD_DISTANCEFIELD_DIST,s.RC_TIMER_BUILD_DISTANCEFIELD_BLUR=r.Module.RC_TIMER_BUILD_DISTANCEFIELD_BLUR,s.RC_TIMER_BUILD_REGIONS=r.Module.RC_TIMER_BUILD_REGIONS,s.RC_TIMER_BUILD_REGIONS_WATERSHED=r.Module.RC_TIMER_BUILD_REGIONS_WATERSHED,s.RC_TIMER_BUILD_REGIONS_EXPAND=r.Module.RC_TIMER_BUILD_REGIONS_EXPAND,s.RC_TIMER_BUILD_REGIONS_FLOOD=r.Module.RC_TIMER_BUILD_REGIONS_FLOOD,s.RC_TIMER_BUILD_REGIONS_FILTER=r.Module.RC_TIMER_BUILD_REGIONS_FILTER,s.RC_TIMER_BUILD_LAYERS=r.Module.RC_TIMER_BUILD_LAYERS,s.RC_TIMER_BUILD_POLYMESHDETAIL=r.Module.RC_TIMER_BUILD_POLYMESHDETAIL,s.RC_TIMER_MERGE_POLYMESHDETAIL=r.Module.RC_TIMER_MERGE_POLYMESHDETAIL,s.RC_MAX_TIMERS=r.Module.RC_MAX_TIMERS,a.DT_FAILURE=r.Detour.FAILURE,a.DT_SUCCESS=r.Detour.SUCCESS,a.DT_IN_PROGRESS=r.Detour.IN_PROGRESS,a.DT_STATUS_DETAIL_MASK=r.Detour.STATUS_DETAIL_MASK,a.DT_WRONG_MAGIC=r.Detour.WRONG_MAGIC,a.DT_WRONG_VERSION=r.Detour.WRONG_VERSION,a.DT_OUT_OF_MEMORY=r.Detour.OUT_OF_MEMORY,a.DT_INVALID_PARAM=r.Detour.INVALID_PARAM,a.DT_BUFFER_TOO_SMALL=r.Detour.BUFFER_TOO_SMALL,a.DT_OUT_OF_NODES=r.Detour.OUT_OF_NODES,a.DT_PARTIAL_RESULT=r.Detour.PARTIAL_RESULT,a.DT_ALREADY_OCCUPIED=r.Detour.ALREADY_OCCUPIED,a.DT_VERTS_PER_POLYGON=r.Detour.VERTS_PER_POLYGON,a.DT_NAVMESH_MAGIC=r.Detour.NAVMESH_MAGIC,a.DT_NAVMESH_VERSION=r.Detour.NAVMESH_VERSION,a.DT_NAVMESH_STATE_MAGIC=r.Detour.NAVMESH_STATE_MAGIC,a.DT_NAVMESH_STATE_VERSION=r.Detour.NAVMESH_STATE_VERSION,a.DT_TILECACHE_MAGIC=r.Detour.TILECACHE_MAGIC,a.DT_TILECACHE_VERSION=r.Detour.TILECACHE_VERSION,a.DT_TILECACHE_NULL_AREA=r.Detour.TILECACHE_NULL_AREA,a.DT_TILECACHE_WALKABLE_AREA=r.Detour.TILECACHE_WALKABLE_AREA,a.DT_TILECACHE_NULL_IDX=r.Detour.TILECACHE_NULL_IDX,a.DT_NULL_LINK=r.Detour.NULL_LINK,a.DT_NULL_LINK=r.Detour.NULL_LINK,a.DT_EXT_LINK=r.Detour.EXT_LINK,a.DT_OFFMESH_CON_BIDIR=r.Detour.OFFMESH_CON_BIDIR,a.DT_STRAIGHTPATH_START=r.Module.DT_STRAIGHTPATH_START,a.DT_STRAIGHTPATH_END=r.Module.DT_STRAIGHTPATH_END,a.DT_STRAIGHTPATH_OFFMESH_CONNECTION=r.Module.DT_STRAIGHTPATH_OFFMESH_CONNECTION,a.DT_STRAIGHTPATH_AREA_CROSSINGS=r.Module.DT_STRAIGHTPATH_AREA_CROSSINGS,a.DT_STRAIGHTPATH_ALL_CROSSINGS=r.Module.DT_STRAIGHTPATH_ALL_CROSSINGS,a.DT_FINDPATH_ANY_ANGLE=r.Module.DT_FINDPATH_ANY_ANGLE,a.DT_RAYCAST_USE_COSTS=r.Module.DT_RAYCAST_USE_COSTS,a.DT_CROWDAGENT_STATE_INVALID=r.Module.DT_CROWDAGENT_STATE_INVALID,a.DT_CROWDAGENT_STATE_WALKING=r.Module.DT_CROWDAGENT_STATE_WALKING,a.DT_CROWDAGENT_STATE_OFFMESH=r.Module.DT_CROWDAGENT_STATE_OFFMESH,a.DT_CROWDAGENT_TARGET_NONE=r.Module.DT_CROWDAGENT_TARGET_NONE,a.DT_CROWDAGENT_TARGET_FAILED=r.Module.DT_CROWDAGENT_TARGET_FAILED,a.DT_CROWDAGENT_TARGET_VALID=r.Module.DT_CROWDAGENT_TARGET_VALID,a.DT_CROWDAGENT_TARGET_REQUESTING=r.Module.DT_CROWDAGENT_TARGET_REQUESTING,a.DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE=r.Module.DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE,a.DT_CROWDAGENT_TARGET_WAITING_FOR_PATH=r.Module.DT_CROWDAGENT_TARGET_WAITING_FOR_PATH,a.DT_CROWDAGENT_TARGET_VELOCITY=r.Module.DT_CROWDAGENT_TARGET_VELOCITY,a.DT_COMPRESSEDTILE_FREE_DATA=r.Module.DT_COMPRESSEDTILE_FREE_DATA,a.DT_TILE_FREE_DATA=r.Module.DT_TILE_FREE_DATA}};class n{get size(){return this.raw.size}constructor(e){this.raw=e}get(e){return this.raw.get(e)}set(e,t){this.raw.set(e,t)}resize(e){this.raw.resize(e)}copy(e){this.raw.resize(e.length);this.getHeapView().set(e)}destroy(){r.destroy(this.raw)}getHeapView(){const e=this.getHeap();return new this.typedArrayClass(e.buffer,this.raw.getDataPointer(),this.size)}toTypedArray(){const e=this.getHeapView(),t=new this.typedArrayClass(this.size);return t.set(e),t}}class o extends n{typedArrayClass=Int32Array;constructor(e){super(e??new r.Module.IntArray)}getHeap(){return r.Module.HEAP32}static fromRaw(e){return new this(e)}}class l extends n{typedArrayClass=Uint32Array;constructor(e){super(e??new r.Module.UnsignedIntArray)}getHeap(){return r.Module.HEAPU32}static fromRaw(e){return new this(e)}}class u extends n{typedArrayClass=Uint8Array;constructor(e){super(e??new r.Module.UnsignedCharArray)}getHeap(){return r.Module.HEAPU8}static fromRaw(e){return new this(e)}}class h extends n{typedArrayClass=Uint16Array;constructor(e){super(e??new r.Module.UnsignedShortArray)}getHeap(){return r.Module.HEAPU16}static fromRaw(e){return new this(e)}}class w extends n{typedArrayClass=Float32Array;constructor(e){super(e??new r.Module.FloatArray)}getHeap(){return r.Module.HEAPF32}static fromRaw(e){return new this(e)}}const d=w,c=o,_=u,g=o,R=u,T={toRaw:({x:e,y:t,z:s},a)=>a?(a.x=e,a.y=t,a.z=s,a):new r.Module.Vec3(e,t,s),fromRaw:e=>{const{x:t,y:r,z:s}=e;return{x:t,y:r,z:s}},fromArray:([e,t,r])=>({x:e,y:t,z:r}),toArray:({x:e,y:t,z:r})=>[e,t,r],lerp:(e,t,r,s={x:0,y:0,z:0})=>{s.x=e.x+(t.x-e.x)*r,s.y=e.y+(t.y-e.y)*r,s.z=e.z+(t.z-e.z)*r},copy:(e,t={x:0,y:0,z:0})=>{t.x=e.x,t.y=e.y,t.z=e.z}},A=(e,t)=>{const r=[];for(let s=0;s<t;s++)r.push(e(s));return r},E=e=>r.Detour.statusSucceed(e),y=e=>r.Detour.statusFailed(e),m=e=>r.Detour.statusInProgress(e),D=(e,t)=>r.Detour.statusDetail(e,t),M=e=>{if(r.Detour.statusSucceed(e))return"success";if(r.Detour.statusInProgress(e))return"in progress";if(r.Detour.statusFailed(e)){let t;const s={DT_WRONG_MAGIC:a.DT_WRONG_MAGIC,DT_WRONG_VERSION:a.DT_WRONG_VERSION,DT_OUT_OF_MEMORY:a.DT_OUT_OF_MEMORY,DT_INVALID_PARAM:a.DT_INVALID_PARAM,DT_BUFFER_TOO_SMALL:a.DT_BUFFER_TOO_SMALL,DT_OUT_OF_NODES:a.DT_OUT_OF_NODES,DT_PARTIAL_RESULT:a.DT_PARTIAL_RESULT,DT_ALREADY_OCCUPIED:a.DT_ALREADY_OCCUPIED};for(const[a,i]of Object.entries(s))if(r.Detour.statusDetail(e,i)){t=a;break}return t?`failed - ${t}`:"failed - unknown"}return"unknown"};class f{constructor(e){this.raw=e}vertBase(){return this.raw.vertBase}triBase(){return this.raw.triBase}vertCount(){return this.raw.vertCount}triCount(){return this.raw.triCount}}class C{constructor(e){this.raw=e}ref(){return this.raw.ref}next(){return this.raw.next}edge(){return this.raw.edge}side(){return this.raw.side}bmin(){return this.raw.bmin}bmax(){return this.raw.bmax}}class p{constructor(e){this.raw=e}bmin(){return T.fromArray(A((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(A((e=>this.raw.get_bmax(e)),3))}i(){return this.raw.i}}class I{constructor(e){this.raw=e}pos(e){return this.raw.get_pos(e)}rad(){return this.raw.rad}poly(){return this.raw.poly}flags(){return this.raw.flags}side(){return this.raw.side}userId(){return this.raw.userId}}class S{constructor(e){this.raw=e}magic(){return this.raw.magic}version(){return this.raw.version}x(){return this.raw.x}y(){return this.raw.y}layer(){return this.raw.layer}userId(){return this.raw.userId}polyCount(){return this.raw.polyCount}vertCount(){return this.raw.vertCount}maxLinkCount(){return this.raw.maxLinkCount}detailMeshCount(){return this.raw.detailMeshCount}detailVertCount(){return this.raw.detailVertCount}detailTriCount(){return this.raw.detailTriCount}bvNodeCount(){return this.raw.bvNodeCount}offMeshConCount(){return this.raw.offMeshConCount}offMeshBase(){return this.raw.offMeshBase}walkableHeight(){return this.raw.walkableHeight}walkableRadius(){return this.raw.walkableRadius}walkableClimb(){return this.raw.walkableClimb}bmin(e){return this.raw.get_bmin(e)}bmax(e){return this.raw.get_bmax(e)}bvQuantFactor(){return this.raw.bvQuantFactor}}class b{constructor(e){this.raw=e}firstLink(){return this.raw.firstLink}verts(e){return this.raw.get_verts(e)}neis(e){return this.raw.get_neis(e)}flags(){return this.raw.flags}vertCount(){return this.raw.vertCount}areaAndType(){return this.raw.get_areaAndtype()}getType(){return this.raw.getType()}}class P{constructor(e){this.raw=e}salt(){return this.raw.salt}linksFreeList(){return this.raw.linksFreeList}header(){return r.isNull(this.raw.header)?null:new S(this.raw.header)}polys(e){return new b(this.raw.get_polys(e))}verts(e){return this.raw.get_verts(e)}links(e){return new C(this.raw.get_links(e))}detailMeshes(e){return new f(this.raw.get_detailMeshes(e))}detailVerts(e){return this.raw.get_detailVerts(e)}detailTris(e){return this.raw.get_detailTris(e)}bvTree(e){return new p(this.raw.get_bvTree(e))}offMeshCons(e){return new I(this.raw.get_offMeshCons(e))}data(e){return this.raw.get_data(e)}dataSize(){return this.raw.dataSize}flags(){return this.raw.flags}next(){return new P(this.raw.next)}}const O=e=>{const t=r.DetourNavMeshBuilder.createNavMeshData(e.raw);return{success:t.success,navMeshData:u.fromRaw(t.navMeshData)}};class L{constructor(e){this.raw=e??new r.Module.dtNavMeshCreateParams}setPolyMeshCreateParams(e){r.DetourNavMeshBuilder.setPolyMeshCreateParams(this.raw,e.raw)}setPolyMeshDetailCreateParams(e){r.DetourNavMeshBuilder.setPolyMeshDetailCreateParams(this.raw,e.raw)}setOffMeshConnections(e){if(e.length<=0)return;const t=[],s=[],a=[],i=[],n=[],o=[];for(let r=0;r<e.length;r++){const l=e[r];t.push(l.startPosition.x,l.startPosition.y,l.startPosition.z),t.push(l.endPosition.x,l.endPosition.y,l.endPosition.z),s.push(l.radius),a.push(l.bidirectional?1:0),i.push(l.area??0),n.push(l.flags??1),o.push(l.userId??1e3+r)}r.DetourNavMeshBuilder.setOffMeshConnections(this.raw,e.length,t,s,a,i,n,o)}verts(e){return this.raw.get_verts(e)}setVerts(e,t){this.raw.set_verts(e,t)}vertCount(){return this.raw.vertCount}polys(e){return this.raw.get_polys(e)}setPolys(e,t){this.raw.set_polys(e,t)}polyAreas(e){return this.raw.get_polyAreas(e)}setPolyAreas(e,t){this.raw.set_polyAreas(e,t)}polyFlags(e){return this.raw.get_polyFlags(e)}setPolyFlags(e,t){this.raw.set_polyFlags(e,t)}polyCount(){return this.raw.polyCount}nvp(){return this.raw.nvp}setNvp(e){this.raw.nvp=e}detailMeshes(e){return this.raw.get_detailMeshes(e)}setDetailMeshes(e,t){this.raw.set_detailMeshes(e,t)}detailVerts(e){return this.raw.get_detailVerts(e)}setDetailVerts(e,t){this.raw.set_detailVerts(e,t)}detailVertsCount(){return this.raw.detailVertsCount}detailTris(e){return this.raw.get_detailTris(e)}setDetailTris(e,t){this.raw.set_detailTris(e,t)}detailTriCount(){return this.raw.detailTriCount}offMeshConVerts(e){return this.raw.get_offMeshConVerts(e)}offMeshConRad(e){return this.raw.get_offMeshConRad(e)}offMeshConDir(e){return this.raw.get_offMeshConDir(e)}offMeshConAreas(e){return this.raw.get_offMeshConAreas(e)}offMeshConFlags(e){return this.raw.get_offMeshConFlags(e)}offMeshConUserID(e){return this.raw.get_offMeshConUserID(e)}offMeshConCount(){return this.raw.offMeshConCount}userId(){return this.raw.userId}tileX(){return this.raw.tileX}setTileX(e){this.raw.tileX=e}tileY(){return this.raw.tileY}setTileY(e){this.raw.tileY=e}tileLayer(){return this.raw.tileLayer}setTileLayer(e){this.raw.tileLayer=e}boundsMin(){return A((e=>this.raw.get_bmin(e)),3)}setBoundsMin(e){this.raw.set_bmin(0,e[0]),this.raw.set_bmin(1,e[1]),this.raw.set_bmin(2,e[2])}boundsMax(){return A((e=>this.raw.get_bmax(e)),3)}setBoundsMax(e){this.raw.set_bmax(0,e[0]),this.raw.set_bmax(1,e[1]),this.raw.set_bmax(2,e[2])}walkableHeight(){return this.raw.walkableHeight}setWalkableHeight(e){this.raw.walkableHeight=e}walkableRadius(){return this.raw.walkableRadius}setWalkableRadius(e){this.raw.walkableRadius=e}walkableClimb(){return this.raw.walkableClimb}setWalkableClimb(e){this.raw.walkableClimb=e}cellSize(){return this.raw.cs}setCellSize(e){this.raw.cs=e}cellHeight(){return this.raw.ch}setCellHeight(e){this.raw.ch=e}buildBvTree(){return this.raw.buildBvTree}setBuildBvTree(e){this.raw.buildBvTree=e}}class x{get includeFlags(){return this.raw.getIncludeFlags()}set includeFlags(e){this.raw.setIncludeFlags(e)}get excludeFlags(){return this.raw.getExcludeFlags()}set excludeFlags(e){this.raw.setExcludeFlags(e)}constructor(e){this.raw=e??new r.Module.dtQueryFilter}getAreaCost(e){return this.raw.getAreaCost(e)}setAreaCost(e,t){return this.raw.setAreaCost(e,t)}}class N{defaultQueryHalfExtents={x:1,y:1,z:1};constructor(e,t){e instanceof r.Module.NavMeshQuery?this.raw=e:(this.raw=new r.Module.NavMeshQuery,this.raw.init(e.raw,t?.maxNodes??2048)),t?.defaultQueryFilter?this.defaultFilter=t.defaultQueryFilter:(this.defaultFilter=new x,this.defaultFilter.includeFlags=65535,this.defaultFilter.excludeFlags=0)}findNearestPoly(e,t){const s=new r.UnsignedIntRef,a=new r.Vec3,i=new r.BoolRef,n=this.raw.findNearestPoly(T.toArray(e),T.toArray(t?.halfExtents??this.defaultQueryHalfExtents),t?.filter?.raw??this.defaultFilter.raw,s,a,i),o=T.fromRaw(a);r.destroy(a);const l=s.value;r.destroy(s);const u=i.value;return r.destroy(i),{success:E(n),status:n,nearestRef:l,nearestPoint:o,isOverPoly:u}}findPolysAroundCircle(e,t,s,a){const i=a?.filter??this.defaultFilter,n=a?.maxPolys??256,o=new l,u=new l,h=new w;o.resize(n),u.resize(n),h.resize(n);const d=new r.IntRef,c=this.raw.findPolysAroundCircle(e,T.toArray(t),s,i.raw,o.raw,u.raw,h.raw,d,n),_=[...o.getHeapView()];o.destroy();const g=[...u.getHeapView()];u.destroy();const R=[...h.getHeapView()];h.destroy();const A=d.value;return r.destroy(d),{success:E(c),status:c,resultRefs:_,resultParents:g,resultCost:R,resultCount:A}}queryPolygons(e,t,s){const a=s?.filter??this.defaultFilter,i=s?.maxPolys??256,n=new l;n.resize(i);const o=new r.IntRef,u=this.raw.queryPolygons(T.toArray(e),T.toArray(t),a.raw,n.raw,o,i),h=o.value;r.destroy(o);const w=[...n.getHeapView()];return n.destroy(),{success:E(u),status:u,polyRefs:w,polyCount:h}}closestPointOnPoly(e,t){const s=new r.Vec3,a=new r.BoolRef,i=this.raw.closestPointOnPoly(e,T.toArray(t),s,a),n=T.fromRaw(s);r.destroy(s);const o=a.value;return r.destroy(a),{success:E(i),status:i,closestPoint:n,isPointOverPoly:o}}findClosestPoint(e,t){const s=t?.filter??this.defaultFilter,a=t?.halfExtents??this.defaultQueryHalfExtents,i=new r.UnsignedIntRef,n=new r.Vec3,o=new r.BoolRef,l=this.raw.findClosestPoint(T.toArray(e),T.toArray(a),s.raw,i,n,o),u=i.value;r.destroy(i);const h=T.fromRaw(n);r.destroy(n);const w=o.value;return r.destroy(o),{success:E(l),status:l,polyRef:u,point:h,isPointOverPoly:w}}findRandomPointAroundCircle(e,t,s){const a=s?.filter??this.defaultFilter,i=s?.halfExtents??this.defaultQueryHalfExtents;let n;if(s?.startRef)n=s.startRef;else{const t=this.findNearestPoly(e,{filter:a,halfExtents:i});if(!t.success)return{success:!1,status:t.status,randomPolyRef:0,randomPoint:{x:0,y:0,z:0}};n=t.nearestRef}const o=new r.UnsignedIntRef,l=new r.Vec3,u=this.raw.findRandomPointAroundCircle(n,T.toArray(e),t,a.raw,o,l),h=o.value;r.destroy(o);const w=T.fromRaw(l);return r.destroy(l),{success:E(u),status:u,randomPolyRef:h,randomPoint:w}}moveAlongSurface(e,t,s,a){const i=a?.maxVisitedSize??256,n=new r.Vec3,o=new l,u=a?.filter?.raw??this.defaultFilter.raw,h=this.raw.moveAlongSurface(e,T.toArray(t),T.toArray(s),u,n,o.raw,i),w=T.fromRaw(n);r.destroy(n);const d=[...o.getHeapView()];return o.destroy(),{success:E(h),status:h,resultPosition:w,visited:d}}findRandomPoint(e){const t=new r.UnsignedIntRef,s=new r.Vec3,a=this.raw.findRandomPoint(e?.filter?.raw??this.defaultFilter.raw,t,s),i=t.value;r.destroy(t);const n=T.fromRaw(s);return r.destroy(s),{success:E(a),status:a,randomPolyRef:i,randomPoint:n}}getPolyHeight(e,t){const s=new r.FloatRef,a=this.raw.getPolyHeight(e,T.toArray(t),s),i=s.value;return r.destroy(s),{success:E(a),status:a,height:i}}computePath(e,t,r){const s=r?.filter??this.defaultFilter,a=r?.halfExtents??this.defaultQueryHalfExtents,i=this.findNearestPoly(e,{filter:s,halfExtents:a});if(!i.success)return{success:!1,error:{name:"findNearestPoly for start position failed",status:i.status},path:[]};const n=this.findNearestPoly(t,{filter:s,halfExtents:a});if(!n.success)return{success:!1,error:{name:"findNearestPoly for end position failed",status:n.status},path:[]};const o=i.nearestRef,l=n.nearestRef,u=r?.maxPathPolys??256,h=this.findPath(o,l,e,t,{filter:s,maxPathPolys:u});if(!h.success)return{success:!1,error:{name:"findPath unsuccessful",status:h.status},path:[]};if(h.polys.size<=0)return{success:!1,error:{name:"no polygon path found"},path:[]};const w=h.polys.get(h.polys.size-1);let d={x:t.x,y:t.y,z:t.z};if(w!==l){const e=this.closestPointOnPoly(w,t);if(!e.success)return{success:!1,error:{name:"no closest point on last polygon found",status:e.status},path:[]};d=e.closestPoint}const c=r?.maxStraightPathPoints,_=this.findStraightPath(e,d,h.polys,{maxStraightPathPoints:c});if(!_.success)return{success:!1,error:{name:"findStraightPath unsuccessful",status:_.status},path:[]};const{straightPath:g,straightPathCount:R}=_,T=[];for(let e=0;e<R;e++)T.push({x:g.get(3*e),y:g.get(3*e+1),z:g.get(3*e+2)});return h.polys.destroy(),_.straightPath.destroy(),_.straightPathFlags.destroy(),_.straightPathRefs.destroy(),{success:!0,path:T}}findPath(e,t,r,s,a){const i=a?.filter??this.defaultFilter,n=a?.maxPathPolys??256,o=new l;o.resize(n);const u=this.raw.findPath(e,t,T.toArray(r),T.toArray(s),i.raw,o.raw,n);return{success:E(u),status:u,polys:o}}findStraightPath(e,t,s,a){const i=a?.maxStraightPathPoints??256,n=a?.straightPathOptions??0;let o;Array.isArray(s)?(o=new l,o.copy(s)):o=s;const h=new w;h.resize(3*i);const d=new u;d.resize(i);const c=new l;c.resize(i);const _=new r.IntRef,g=this.raw.findStraightPath(T.toArray(e),T.toArray(t),o.raw,h.raw,d.raw,c.raw,_,i,n),R=_.value;return r.destroy(_),Array.isArray(s)&&o.destroy(),{success:E(g),status:g,straightPath:h,straightPathFlags:d,straightPathRefs:c,straightPathCount:R}}raycast(e,t,s,a){const i=new r.Module.dtRaycastHit,n=a?.raycastOptions??0,o=a?.prevRef??0,l=a?.filter?.raw??this.defaultFilter.raw,u=this.raw.raycast(e,T.toArray(t),T.toArray(s),l,n,i,o),h={success:E(u),status:u,t:i.t,hitNormal:T.fromArray(A((e=>i.get_hitNormal(e)),3)),hitEdgeIndex:i.hitEdgeIndex,path:A((e=>i.get_path(e)),i.pathCount),maxPath:i.maxPath,pathCost:i.pathCost};return r.destroy(i),h}destroy(){this.raw.destroy()}}const v={radius:.5,height:1,maxAcceleration:20,maxSpeed:6,collisionQueryRange:2.5,pathOptimizationRange:0,separationWeight:0,updateFlags:7,obstacleAvoidanceType:0,queryFilterType:0,userData:0};class H{get radius(){return this.raw.params.radius}set radius(e){this.raw.params.radius=e}get height(){return this.raw.params.height}set height(e){this.raw.params.height=e}get maxAcceleration(){return this.raw.params.maxAcceleration}set maxAcceleration(e){this.raw.params.maxAcceleration=e}get maxSpeed(){return this.raw.params.maxSpeed}set maxSpeed(e){this.raw.params.maxSpeed=e}get collisionQueryRange(){return this.raw.params.collisionQueryRange}set collisionQueryRange(e){this.raw.params.collisionQueryRange=e}get pathOptimizationRange(){return this.raw.params.pathOptimizationRange}set pathOptimizationRange(e){this.raw.params.pathOptimizationRange=e}get separationWeight(){return this.raw.params.separationWeight}set separationWeight(e){this.raw.params.separationWeight=e}get updateFlags(){return this.raw.params.updateFlags}set updateFlags(e){this.raw.params.updateFlags=e}get obstacleAvoidanceType(){return this.raw.params.obstacleAvoidanceType}set obstacleAvoidanceType(e){this.raw.params.obstacleAvoidanceType=e}get queryFilterType(){return this.raw.params.queryFilterType}set queryFilterType(e){this.raw.params.queryFilterType=e}get userData(){return this.raw.params.userData}set userData(e){this.raw.params.userData=e}interpolatedPosition={x:0,y:0,z:0};constructor(e,t){this.crowd=e,this.agentIndex=t,this.raw=e.raw.getEditableAgent(t),this.interpolatedPosition=this.position()}requestMoveTarget(e){const{nearestPoint:t,nearestRef:r}=this.crowd.navMeshQuery.findNearestPoly(e,{halfExtents:this.crowd.navMeshQuery.defaultQueryHalfExtents,filter:this.crowd.navMeshQuery.defaultFilter});return this.crowd.raw.requestMoveTarget(this.agentIndex,r,T.toArray(t))}requestMoveVelocity(e){return this.crowd.raw.requestMoveVelocity(this.agentIndex,T.toArray(e))}resetMoveTarget(){this.crowd.raw.resetMoveTarget(this.agentIndex)}teleport(e){r.CrowdUtils.agentTeleport(this.crowd.raw,this.agentIndex,T.toArray(e),T.toArray(this.crowd.navMeshQuery.defaultQueryHalfExtents),this.crowd.navMeshQuery.defaultFilter.raw),T.copy(e,this.interpolatedPosition)}position(){return{x:this.raw.get_npos(0),y:this.raw.get_npos(1),z:this.raw.get_npos(2)}}velocity(){return{x:this.raw.get_vel(0),y:this.raw.get_vel(1),z:this.raw.get_vel(2)}}desiredVelocity(){return{x:this.raw.get_dvel(0),y:this.raw.get_dvel(1),z:this.raw.get_dvel(2)}}desiredVelocityObstacleAdjusted(){return{x:this.raw.get_nvel(0),y:this.raw.get_nvel(1),z:this.raw.get_nvel(2)}}state(){return this.raw.state}target(){return{x:this.raw.get_targetPos(0),y:this.raw.get_targetPos(1),z:this.raw.get_targetPos(2)}}nextTargetInPath(){return{x:this.raw.get_cornerVerts(0),y:this.raw.get_cornerVerts(1),z:this.raw.get_cornerVerts(2)}}corners(){const e=[];for(let t=0;t<this.raw.ncorners;t++)e.push({x:this.raw.get_cornerVerts(3*t),y:this.raw.get_cornerVerts(3*t+1),z:this.raw.get_cornerVerts(3*t+2)});return e}parameters(){const{params:e}=this.raw;return{radius:e.radius,height:e.height,maxAcceleration:e.maxAcceleration,maxSpeed:e.maxSpeed,collisionQueryRange:e.collisionQueryRange,pathOptimizationRange:e.pathOptimizationRange,separationWeight:e.separationWeight,updateFlags:e.updateFlags,obstacleAvoidanceType:e.obstacleAvoidanceType,queryFilterType:e.queryFilterType,userData:e.userData}}updateParameters(e){const t={...this.parameters(),...e};this.setParameters(t)}setParameters(e){const t={...v,...e},s=new r.Module.dtCrowdAgentParams;s.radius=t.radius,s.height=t.height,s.maxAcceleration=t.maxAcceleration,s.maxSpeed=t.maxSpeed,s.collisionQueryRange=t.collisionQueryRange,s.pathOptimizationRange=t.pathOptimizationRange,s.separationWeight=t.separationWeight,s.updateFlags=t.updateFlags,s.obstacleAvoidanceType=t.obstacleAvoidanceType,s.queryFilterType=t.queryFilterType,s.userData=t.userData,this.crowd.raw.updateAgentParameters(this.agentIndex,s)}overOffMeshConnection(){return r.CrowdUtils.overOffMeshConnection(this.crowd.raw,this.agentIndex)}}class F{agents={};accumulator=0;constructor(e,{maxAgents:t,maxAgentRadius:s}){this.navMesh=e,this.raw=r.Detour.allocCrowd(),this.raw.init(t,s,e.raw.getNavMesh()),this.navMeshQuery=new N(new r.Module.NavMeshQuery(this.raw.getNavMeshQuery()))}update(e,t,r=10){if(void 0===t)this.raw.update(e,void 0);else{this.accumulator+=t;let s=0;for(;this.accumulator>=e&&s<r;)this.raw.update(e,void 0),this.accumulator-=e,s++;const a=this.accumulator%e/e,i=this.getAgents();for(const e of i)T.lerp(e.interpolatedPosition,e.position(),a,e.interpolatedPosition)}}addAgent(e,t){const s={...v,...t},a=new r.Module.dtCrowdAgentParams;a.radius=s.radius,a.height=s.height,a.maxAcceleration=s.maxAcceleration,a.maxSpeed=s.maxSpeed,a.collisionQueryRange=s.collisionQueryRange,a.pathOptimizationRange=s.pathOptimizationRange,a.separationWeight=s.separationWeight,a.updateFlags=s.updateFlags,a.obstacleAvoidanceType=s.obstacleAvoidanceType,a.queryFilterType=s.queryFilterType,a.userData=s.userData;const i=this.raw.addAgent(T.toArray(e),a),n=new H(this,i);return this.agents[i]=n,n}getAgent(e){const t=this.agents[e];return t||null}removeAgent(e){const t="number"==typeof e?e:e.agentIndex;this.raw.removeAgent(t),delete this.agents[t]}getAgentCount(){return this.raw.getAgentCount()}getActiveAgentCount(){return r.CrowdUtils.getActiveAgentCount(this.raw)}getAgents(){return Object.values(this.agents)}getFilter(e){return new x(this.raw.getEditableFilter(e))}destroy(){r.Detour.freeCrowd(this.raw)}}class U{currentPrimitiveType=0;currentVertices=[];primitives=[];constructor(){this.debugDrawImpl=new r.Module.DebugDrawImpl,this.debugDrawImpl.handleBegin=(e,t)=>{this.currentPrimitiveType=e,this.currentVertices=[]},this.debugDrawImpl.handleDepthMask=e=>{},this.debugDrawImpl.handleTexture=e=>{},this.debugDrawImpl.handleVertexWithColor=(e,t,r,s)=>{this.vertex(e,t,r,s)},this.debugDrawImpl.handleVertexWithColorAndUV=(e,t,r,s,a,i)=>{this.vertex(e,t,r,s)};const e={[r.Module.DU_DRAW_LINES]:"lines",[r.Module.DU_DRAW_TRIS]:"tris",[r.Module.DU_DRAW_QUADS]:"quads",[r.Module.DU_DRAW_POINTS]:"points"};this.debugDrawImpl.handleEnd=()=>{const t=e[this.currentPrimitiveType];this.primitives.push({type:t,vertices:this.currentVertices})}}flush(){const e=this.primitives;return this.primitives=[],e}drawHeightfieldSolid(e){return r.RecastDebugDraw.debugDrawHeightfieldSolid(this.debugDrawImpl,e.raw),this.flush()}drawHeightfieldWalkable(e){return r.RecastDebugDraw.debugDrawHeightfieldWalkable(this.debugDrawImpl,e.raw),this.flush()}drawCompactHeightfieldSolid(e){return r.RecastDebugDraw.debugDrawCompactHeightfieldSolid(this.debugDrawImpl,e.raw),this.flush()}drawCompactHeightfieldRegions(e){return r.RecastDebugDraw.debugDrawCompactHeightfieldRegions(this.debugDrawImpl,e.raw),this.flush()}drawCompactHeightfieldDistance(e){return r.RecastDebugDraw.debugDrawCompactHeightfieldDistance(this.debugDrawImpl,e.raw),this.flush()}drawHeightfieldLayer(e,t){return r.RecastDebugDraw.debugDrawHeightfieldLayer(this.debugDrawImpl,e.raw,t),this.flush()}drawHeightfieldLayers(e){return r.RecastDebugDraw.debugDrawHeightfieldLayers(this.debugDrawImpl,e.raw),this.flush()}drawRegionConnections(e,t=1){return r.RecastDebugDraw.debugDrawRegionConnections(this.debugDrawImpl,e.raw,t),this.flush()}drawRawContours(e,t=1){return r.RecastDebugDraw.debugDrawRawContours(this.debugDrawImpl,e.raw,t),this.flush()}drawContours(e,t=1){return r.RecastDebugDraw.debugDrawContours(this.debugDrawImpl,e.raw,t),this.flush()}drawPolyMesh(e){return r.RecastDebugDraw.debugDrawPolyMesh(this.debugDrawImpl,e.raw),this.flush()}drawPolyMeshDetail(e){return r.RecastDebugDraw.debugDrawPolyMeshDetail(this.debugDrawImpl,e.raw),this.flush()}drawNavMesh(e,t=0){return r.DetourDebugDraw.debugDrawNavMesh(this.debugDrawImpl,e.raw.getNavMesh(),t),this.flush()}drawNavMeshWithClosedList(e,t,s=0){return r.DetourDebugDraw.debugDrawNavMeshWithClosedList(this.debugDrawImpl,e.raw.m_navMesh,t.raw.m_navQuery,s),this.flush()}drawNavMeshNodes(e){return r.DetourDebugDraw.debugDrawNavMeshNodes(this.debugDrawImpl,e.raw.m_navQuery),this.flush()}drawNavMeshBVTree(e){return r.DetourDebugDraw.debugDrawNavMeshBVTree(this.debugDrawImpl,e.raw.m_navMesh),this.flush()}drawNavMeshPortals(e){return r.DetourDebugDraw.debugDrawNavMeshPortals(this.debugDrawImpl,e.raw.m_navMesh),this.flush()}drawNavMeshPolysWithFlags(e,t,s){return r.DetourDebugDraw.debugDrawNavMeshPolysWithFlags(this.debugDrawImpl,e.raw.m_navMesh,t,s),this.flush()}drawNavMeshPoly(e,t,s){return r.DetourDebugDraw.debugDrawNavMeshPoly(this.debugDrawImpl,e.raw.m_navMesh,t,s),this.flush()}dispose(){r.Module.destroy(this.debugDrawImpl)}vertex(e,t,r,s){const a=(s>>16&255)/255,i=(s>>8&255)/255,n=(255&s)/255,o=(s>>24&255)/255;this.currentVertices.push([e,t,r,a,i,n,o])}}class G{constructor(e){this.raw=e}tiles(e){return new P(this.raw.get_tiles(e))}tileCount(){return this.raw.tileCount}}class B{constructor(e){this.raw=e}data(){return A((e=>this.raw.get_data(e)),this.raw.dataSize)}dataSize(){return this.raw.dataSize}}class V{constructor(e){this.raw=e}tileX(){return this.raw.tileX}tileY(){return this.raw.tileY}}class z{constructor(e){this.raw=e}data(){return A((e=>this.raw.get_data(e)),this.raw.dataSize)}dataSize(){return this.raw.dataSize}}class k{constructor(e){this.raw=e}static create(e){const t=new r.Module.dtNavMeshParams;return t.set_orig(0,e.orig.x),t.set_orig(1,e.orig.y),t.set_orig(2,e.orig.z),t.tileWidth=e.tileWidth,t.tileHeight=e.tileHeight,t.maxTiles=e.maxTiles,t.maxPolys=e.maxPolys,new k(t)}clone(){return k.create({orig:{x:this.raw.get_orig(0),y:this.raw.get_orig(1),z:this.raw.get_orig(2)},tileWidth:this.raw.tileWidth,tileHeight:this.raw.tileHeight,maxTiles:this.raw.maxTiles,maxPolys:this.raw.maxPolys})}}class W{constructor(e){this.raw=e??new r.Module.NavMesh}initSolo(e){return this.raw.initSolo(e.raw)}initTiled(e){return this.raw.initTiled(e.raw)}addTile(e,t,s){const a=new r.UnsignedIntRef,i=this.raw.addTile(e.raw,t,s,a),n=a.value;return r.destroy(a),{status:i,tileRef:n}}decodePolyId(e){const t=new r.UnsignedIntRef,s=new r.UnsignedIntRef,a=new r.UnsignedIntRef;this.raw.decodePolyId(e,t,s,a);const i=t.value;r.destroy(t);const n=s.value;r.destroy(s);const o=a.value;return r.destroy(a),{tileSalt:i,tileIndex:n,tilePolygonIndex:o}}encodePolyId(e,t,r){return this.raw.encodePolyId(e,t,r)}removeTile(e){return new B(this.raw.removeTile(e))}calcTileLoc(e){return new V(this.raw.calcTileLoc(T.toArray(e)))}getTileAt(e,t,s){const a=this.raw.getTileAt(e,t,s);return r.isNull(a)?null:new P(a)}getTilesAt(e,t,r){return new G(this.raw.getTilesAt(e,t,r))}getTileRefAt(e,t,r){return this.raw.getTileRefAt(e,t,r)}getTileRef(e){return this.raw.getTileRef(e.raw)}getTileByRef(e){const t=this.raw.getTileByRef(e);return r.isNull(t)?null:new P(t)}getMaxTiles(){return this.raw.getMaxTiles()}getTile(e){return new P(this.raw.getTile(e))}getTileAndPolyByRef(e){const t=this.raw.getTileAndPolyByRef(e),r=new P(t.tile),s=new b(t.poly);return{success:E(t.status),status:t.status,tile:r,poly:s}}getTileAndPolyByRefUnsafe(e){const t=this.raw.getTileAndPolyByRef(e);return{tile:new P(t.tile),poly:new b(t.poly)}}isValidPolyRef(e){return this.raw.isValidPolyRef(e)}getPolyRefBase(e){return this.raw.getPolyRefBase(e.raw)}getOffMeshConnectionPolyEndPoints(e,t){const s=new r.Vec3,a=new r.Vec3,i=this.raw.getOffMeshConnectionPolyEndPoints(e,t,s,a),n=T.fromRaw(s);r.destroy(s);const o=T.fromRaw(a);return r.destroy(a),{success:E(i),status:i,start:n,end:o}}getOffMeshConnectionByRef(e){return new I(this.raw.getOffMeshConnectionByRef(e))}setPolyFlags(e,t){return this.raw.setPolyFlags(e,t)}getPolyFlags(e){const t=new r.UnsignedShortRef,s=this.raw.getPolyFlags(e,t),a=t.value;return r.destroy(t),{status:s,flags:a}}setPolyArea(e,t){return this.raw.setPolyArea(e,t)}getPolyArea(e){const t=new r.UnsignedCharRef,s=this.raw.getPolyArea(e,t),a=t.value;return r.destroy(t),{status:s,area:a}}getTileStateSize(e){return this.raw.getTileStateSize(e.raw)}storeTileState(e,t){return new z(this.raw.storeTileState(e.raw,t))}restoreTileState(e,t,r){return this.raw.restoreTileState(e.raw,t,r)}getDebugNavMesh(){const e=[],t=[];let r=0;const s=this.getMaxTiles();for(let a=0;a<s;a++){const s=this.getTile(a),i=s.header();if(!i)continue;const n=i.polyCount();for(let a=0;a<n;++a){const i=s.polys(a);if(1===i.getType())continue;const n=i.vertCount(),o=s.detailMeshes(a),l=o.triBase(),u=o.triCount();for(let a=0;a<u;++a){const u=4*(l+a);for(let a=0;a<3;++a){if(s.detailTris(u+a)<n){const t=3*i.verts(s.detailTris(u+a));e.push(s.verts(t),s.verts(t+1),s.verts(t+2))}else{const t=3*(o.vertBase()+s.detailTris(u+a)-i.vertCount());e.push(s.detailVerts(t),s.detailVerts(t+1),s.detailVerts(t+2))}t.push(r++)}}}}return[e,t]}destroy(){this.raw.destroy(),r.Module.destroy(this.raw)}}const Q=()=>r.Module.FastRand.prototype.getSeed(),Y=e=>{r.Module.FastRand.prototype.setSeed(e)},K={borderSize:0,tileSize:0,cs:.2,ch:.2,walkableSlopeAngle:60,walkableHeight:2,walkableClimb:2,walkableRadius:.5,maxEdgeLen:12,maxSimplificationError:1.3,minRegionArea:8,mergeRegionArea:20,maxVertsPerPoly:6,detailSampleDist:6,detailSampleMaxError:1},X=e=>{const t={...K,...e},s=new r.Module.rcConfig;return s.borderSize=t.borderSize,s.tileSize=t.tileSize,s.cs=t.cs,s.ch=t.ch,s.walkableSlopeAngle=t.walkableSlopeAngle,s.walkableHeight=t.walkableHeight,s.walkableClimb=t.walkableClimb,s.walkableRadius=t.walkableRadius,s.maxEdgeLen=t.maxEdgeLen,s.maxSimplificationError=t.maxSimplificationError,s.minRegionArea=t.minRegionArea,s.mergeRegionArea=t.mergeRegionArea,s.maxVertsPerPoly=t.maxVertsPerPoly,s.detailSampleDist=t.detailSampleDist,s.detailSampleMaxError=t.detailSampleMaxError,s},q=e=>{const t=new r.Module.rcConfig;return t.set_bmin(0,e.get_bmin(0)),t.set_bmin(1,e.get_bmin(1)),t.set_bmin(2,e.get_bmin(2)),t.set_bmax(0,e.get_bmax(0)),t.set_bmax(1,e.get_bmax(1)),t.set_bmax(2,e.get_bmax(2)),t.width=e.width,t.height=e.height,t.borderSize=e.borderSize,t.tileSize=e.tileSize,t.cs=e.cs,t.ch=e.ch,t.walkableSlopeAngle=e.walkableSlopeAngle,t.walkableHeight=e.walkableHeight,t.walkableClimb=e.walkableClimb,t.walkableRadius=e.walkableRadius,t.maxEdgeLen=e.maxEdgeLen,t.maxSimplificationError=e.maxSimplificationError,t.minRegionArea=e.minRegionArea,t.mergeRegionArea=e.mergeRegionArea,t.maxVertsPerPoly=e.maxVertsPerPoly,t.detailSampleDist=e.detailSampleDist,t.detailSampleMaxError=e.detailSampleMaxError,t};class j{logs=[];startTimes={};accumulatedTimes={};constructor(e=!0){const t=new r.Module.RecastBuildContextImpl;t.log=(e,t,s)=>{if(!this.raw.logEnabled())return;const a=t,i=new Uint8Array(r.Module.HEAPU8.buffer,a,s),n=new Uint8Array(s);n.set(i);const o=(new TextDecoder).decode(n);this.log(e,o)},t.resetLog=()=>{this.resetLog()},t.startTimer=e=>{this.raw.timerEnabled()&&this.startTimer(e)},t.stopTimer=e=>{this.raw.timerEnabled()&&this.stopTimer(e)},t.getAccumulatedTime=e=>this.raw.timerEnabled()?this.getAccumulatedTime(e):-1,t.resetTimers=()=>{this.raw.timerEnabled()&&(this.startTimes={},this.accumulatedTimes={})},this.raw=new r.Module.RecastBuildContext(t),this.raw.enableTimer(e),this.raw.enableLog(e),this.resetTimers()}log(e,t){this.logs.push({category:e,msg:t})}resetLog(){this.logs=[]}startTimer(e){this.startTimes[e]=performance.now()}stopTimer(e){const t=performance.now()-this.startTimes[e];-1===this.accumulatedTimes[e]?this.accumulatedTimes[e]=t:this.accumulatedTimes[e]+=t}getAccumulatedTime(e){return this.accumulatedTimes[e]}resetTimers(){for(let e=0;e<s.RC_MAX_TIMERS;e++)this.startTimes[e]=-1,this.accumulatedTimes[e]=-1}}class Z{constructor(e){this.raw=e??new r.rcChunkyTriMesh}init(e,t,s,a){return r.ChunkyTriMeshUtils.createChunkyTriMesh(e.raw,t.raw,s,a,this.raw)}getChunksOverlappingRect(e,t,s,a){return r.ChunkyTriMeshUtils.getChunksOverlappingRect(this.raw,e,t,s.raw,a)}getNodeTris(e){return o.fromRaw(r.ChunkyTriMeshUtils.getChunkyTriMeshNodeTris(this.raw,e))}nodes(e){return this.raw.get_nodes(e)}maxTrisPerChunk(){return this.raw.maxTrisPerChunk}}class ${constructor(e){this.raw=e}smin(){return this.raw.smin}smax(){return this.raw.smax}area(){return this.raw.area}next(){return r.isNull(this.raw.next)?null:new $(this.raw.next)}}class J{constructor(e){this.raw=e}next(){return r.isNull(this.raw.next)?null:new J(this.raw.next)}items(e){return new $(this.raw.get_items(e))}}class ee{constructor(e){this.raw=e}width(){return this.raw.width}height(){return this.raw.height}bmin(){return T.fromArray(A((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(A((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}spans(e){return new $(this.raw.get_spans(e))}pools(e){return new J(this.raw.get_pools(e))}freelist(e){return new $(this.raw.get_freelist(e))}}class te{constructor(e){this.raw=e}index(){return this.raw.get_index()}count(){return this.raw.get_count()}}class re{constructor(e){this.raw=e}y(){return this.raw.get_y()}reg(){return this.raw.get_reg()}con(){return this.raw.get_con()}h(){return this.raw.get_h()}}class se{constructor(e){this.raw=e}width(){return this.raw.width}height(){return this.raw.height}spanCount(){return this.raw.spanCount}walkableHeight(){return this.raw.walkableHeight}walkableClimb(){return this.raw.walkableClimb}borderSize(){return this.raw.borderSize}maxDistance(){return this.raw.maxDistance}maxRegions(){return this.raw.maxRegions}bmin(){return T.fromArray(A((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(A((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}cells(e){return new te(this.raw.get_cells(e))}spans(e){return new re(this.raw.get_spans(e))}dist(e){return this.raw.get_dist(e)}areas(e){return this.raw.get_areas(e)}}class ae{constructor(e){this.raw=e}verts(e){return this.raw.get_verts(e)}nverts(){return this.raw.nverts}rverts(e){return this.raw.get_rverts(e)}nrverts(){return this.raw.nrverts}reg(){return this.raw.reg}area(){return this.raw.area}}class ie{constructor(e){this.raw=e}conts(e){return new ae(this.raw.get_conts(e))}nconts(){return this.raw.nconts}bmin(){return T.fromArray(A((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(A((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}width(){return this.raw.width}height(){return this.raw.height}borderSize(){return this.raw.borderSize}maxError(){return this.raw.maxError}}class ne{constructor(e){this.raw=e}bmin(){return T.fromArray(A((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(A((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}width(){return this.raw.width}height(){return this.raw.height}minx(){return this.raw.minx}maxx(){return this.raw.maxx}miny(){return this.raw.miny}maxy(){return this.raw.maxy}hmin(){return this.raw.hmin}hmax(){return this.raw.hmax}heights(e){return this.raw.get_heights(e)}areas(e){return this.raw.get_areas(e)}cons(e){return this.raw.get_cons(e)}}class oe{constructor(e){this.raw=e}layers(e){return new ne(this.raw.get_layers(e))}nlayers(){return this.raw.nlayers}}class le{constructor(e){this.raw=e}verts(e){return this.raw.get_verts(e)}polys(e){return this.raw.get_polys(e)}regs(e){return this.raw.get_regs(e)}flags(e){return this.raw.get_flags(e)}setFlags(e,t){this.raw.set_flags(e,t)}areas(e){return this.raw.get_areas(e)}setAreas(e,t){return this.raw.set_areas(e,t)}nverts(){return this.raw.nverts}npolys(){return this.raw.npolys}maxpolys(){return this.raw.maxpolys}nvp(){return this.raw.nvp}bmin(){return T.fromArray(A((e=>this.raw.get_bmin(e)),3))}bmax(){return T.fromArray(A((e=>this.raw.get_bmax(e)),3))}cs(){return this.raw.cs}ch(){return this.raw.ch}borderSize(){return this.raw.borderSize}maxEdgeError(){return this.raw.maxEdgeError}}class ue{constructor(e){this.raw=e}meshes(e){return this.raw.get_meshes(e)}verts(e){return this.raw.get_verts(e)}tris(e){return this.raw.get_tris(e)}nmeshes(){return this.raw.nmeshes}nverts(){return this.raw.nverts}ntris(){return this.raw.ntris}}const he=(e,t)=>r.Recast.calcBounds(e.raw,t),we=(e,t,s)=>r.Recast.calcGridSize(e,t,s),de=(e,t,s,a,i,n,o,l)=>r.Recast.createHeightfield(e.raw,t.raw,s,a,i,n,o,l),ce=(e,t,s,a,i,n,o)=>r.Recast.markWalkableTriangles(e.raw,t,s.raw,a,i.raw,n,o.raw),_e=(e,t,s,a,i,n,o)=>r.Recast.clearUnwalkableTriangles(e.raw,t,s.raw,a,i.raw,n,o.raw),ge=(e,t,s,a,i,n,o,l=1)=>r.Recast.rasterizeTriangles(e.raw,t.raw,s,a.raw,i.raw,n,o.raw,l),Re=(e,t,s)=>r.Recast.filterLowHangingWalkableObstacles(e.raw,t,s.raw),Te=(e,t,s,a)=>r.Recast.filterLedgeSpans(e.raw,t,s,a.raw),Ae=(e,t,s)=>r.Recast.filterWalkableLowHeightSpans(e.raw,t,s.raw),Ee=(e,t)=>r.Recast.getHeightFieldSpanCount(e.raw,t.raw),ye=(e,t,s,a,i)=>r.Recast.buildCompactHeightfield(e.raw,t,s,a.raw,i.raw),me=(e,t,s)=>r.Recast.erodeWalkableArea(e.raw,t,s.raw),De=(e,t)=>r.Recast.medianFilterWalkableArea(e.raw,t.raw),Me=(e,t,s,a,i)=>r.Recast.markBoxArea(e.raw,t,s,a,i.raw),fe=(e,t,s,a,i,n,o)=>r.Recast.markConvexPolyArea(e.raw,t.raw,s,a,i,n,o.raw),Ce=(e,t,s,a,i,n)=>r.Recast.markCylinderArea(e.raw,t,s,a,i,n.raw),pe=(e,t)=>r.Recast.buildDistanceField(e.raw,t.raw),Ie=(e,t,s,a,i)=>r.Recast.buildRegions(e.raw,t.raw,s,a,i),Se=(e,t,s,a)=>r.Recast.buildLayerRegions(e.raw,t.raw,s,a),be=(e,t,s,a,i)=>r.Recast.buildRegionsMonotone(e.raw,t.raw,s,a,i),Pe=(e,t,s)=>r.Recast.setCon(e.raw,t,s),Oe=(e,t)=>r.Recast.getCon(e.raw,t),Le=e=>r.Recast.getDirOffsetX(e),xe=e=>r.Recast.getDirOffsetY(e),Ne=(e,t)=>r.Recast.getDirForOffset(e,t),ve=(e,t,s,a,i)=>r.Recast.buildHeightfieldLayers(e.raw,t.raw,s,a,i.raw),He=(e,t,a,i,n,o=s.RC_CONTOUR_TESS_WALL_EDGES)=>r.Recast.buildContours(e.raw,t.raw,a,i,n.raw,o),Fe=(e,t,s,a)=>r.Recast.buildPolyMesh(e.raw,t.raw,s,a.raw),Ue=(e,t,s)=>r.Recast.mergePolyMeshes(e.raw,t.map((e=>e.raw)),t.length,s.raw),Ge=(e,t,s,a,i,n)=>r.Recast.buildPolyMeshDetail(e.raw,t.raw,s.raw,a,i,n.raw),Be=(e,t,s)=>r.Recast.copyPolyMesh(e.raw,t.raw,s.raw),Ve=(e,t,s)=>r.Recast.mergePolyMeshDetails(e.raw,t.map((e=>e.raw)),t.length,s.raw),ze=e=>u.fromRaw(r.Recast.getHeightfieldLayerHeights(e.raw)),ke=e=>u.fromRaw(r.Recast.getHeightfieldLayerAreas(e.raw)),We=e=>u.fromRaw(r.Recast.getHeightfieldLayerCons(e.raw)),Qe=()=>new ee(r.Recast.allocHeightfield()),Ye=e=>r.Recast.freeHeightfield(e.raw),Ke=()=>new se(r.Recast.allocCompactHeightfield()),Xe=e=>r.Recast.freeCompactHeightfield(e.raw),qe=()=>new oe(r.Recast.allocHeightfieldLayerSet()),je=e=>r.Recast.freeHeightfieldLayerSet(e.raw),Ze=()=>new ie(r.Recast.allocContourSet()),$e=e=>r.Recast.freeContourSet(e.raw),Je=()=>new le(r.Recast.allocPolyMesh()),et=e=>r.Recast.freePolyMesh(e.raw),tt=()=>new ue(r.Recast.allocPolyMeshDetail()),rt=e=>r.Recast.freePolyMeshDetail(e.raw),st=(e,t)=>{const s=r.NavMeshExporter.exportNavMesh(e.raw,t?.raw),a=new Uint8Array(r.Module.HEAPU8.buffer,s.dataPointer,s.size),i=new Uint8Array(s.size);return i.set(a),r.NavMeshExporter.freeNavMeshExport(s),i},at=e=>st(e),it=(e,t)=>st(e,t);class nt{constructor(e){this.raw=e}static create(e){const t=new r.Module.dtTileCacheParams;return t.set_orig(0,e.orig[0]),t.set_orig(1,e.orig[1]),t.set_orig(2,e.orig[2]),t.set_cs(e.cs),t.set_ch(e.ch),t.set_width(e.width),t.set_height(e.height),t.set_walkableHeight(e.walkableHeight),t.set_walkableRadius(e.walkableRadius),t.set_walkableClimb(e.walkableClimb),t.set_maxSimplificationError(e.maxSimplificationError),t.set_maxTiles(e.maxTiles),t.set_maxObstacles(e.maxObstacles),new nt(t)}}class ot{obstacles=new Map;constructor(e){this.raw=e??new r.Module.TileCache}init(e,t,r,s){return this.raw.init(e.raw,t,r,s.raw)}update(e){const{status:t,upToDate:r}=this.raw.update(e.raw);return{success:E(t),status:t,upToDate:r}}addCylinderObstacle(e,t,r){const s=this.raw.addCylinderObstacle(T.toRaw(e),t,r);if(s.status!==a.DT_SUCCESS)return{success:!1,status:s.status};const i=s.ref,n={type:"cylinder",ref:i,position:e,radius:t,height:r};return this.obstacles.set(i,n),{success:!0,status:s.status,obstacle:n}}addBoxObstacle(e,t,s){const i=T.toRaw(e),n=T.toRaw(t),o=this.raw.addBoxObstacle(i,n,s);if(r.destroy(i),r.destroy(n),o.status!==a.DT_SUCCESS)return{success:!1,status:o.status};const l=o.ref,u={type:"box",ref:l,position:e,halfExtents:t,angle:s};return this.obstacles.set(l,u),{success:!0,status:o.status,obstacle:u}}removeObstacle(e){let t;t="object"==typeof e?e.ref:e,this.obstacles.delete(t);const r=this.raw.removeObstacle(t);return{success:E(r),status:r}}addTile(e,t=a.DT_COMPRESSEDTILE_FREE_DATA){return this.raw.addTile(e.raw,t)}buildNavMeshTile(e,t){return this.raw.buildNavMeshTile(e,t.raw)}buildNavMeshTilesAt(e,t,r){return this.raw.buildNavMeshTilesAt(e,t,r.raw)}destroy(){this.raw.destroy()}}class lt{constructor(e){this.raw=new r.Module.TileCacheMeshProcess,this.raw.process=(t,s,a)=>{const i=new L(r.Module.wrapPointer(t,r.Module.dtNavMeshCreateParams)),n=r.Module.wrapPointer(s,r.Module.UnsignedCharArray),o=r.Module.wrapPointer(a,r.Module.UnsignedShortArray);e(i,u.fromRaw(n),h.fromRaw(o))}}}const ut=(e,t,s,a,i,n)=>r.DetourTileCacheBuilder.buildTileCacheLayer(e,t,s.raw,a.raw,i.raw,n.raw),ht=e=>{const t=e.length*e.BYTES_PER_ELEMENT,s=r.Module._malloc(t),a=new Uint8Array(r.Module.HEAPU8.buffer,s,t);a.set(e);const i=new r.Module.NavMeshExport;return i.dataPointer=a.byteOffset,i.size=e.length,{navMeshExport:i,dataHeap:a}},wt=e=>{const{navMeshExport:t,dataHeap:s}=ht(e),a=r.NavMeshImporter.importNavMesh(t,void 0);r.Module._free(s.byteOffset);return{navMesh:new W(a.navMesh)}},dt=(e,t)=>{const{navMeshExport:s,dataHeap:a}=ht(e),i=r.NavMeshImporter.importNavMesh(s,t.raw);r.Module._free(a.byteOffset);return{navMesh:new W(i.navMesh),tileCache:new ot(i.tileCache),allocator:i.allocator,compressor:i.compressor}};export{g as ChunkIdsArray,F as Crowd,H as CrowdAgent,U as DebugDrawerUtils,a as Detour,p as DetourBVNode,C as DetourLink,S as DetourMeshHeader,P as DetourMeshTile,I as DetourOffMeshConnection,b as DetourPoly,f as DetourPolyDetail,nt as DetourTileCacheParams,w as FloatArray,o as IntArray,W as NavMesh,V as NavMeshCalcTileLocResult,L as NavMeshCreateParams,G as NavMeshGetTilesAtResult,k as NavMeshParams,N as NavMeshQuery,B as NavMeshRemoveTileResult,z as NavMeshStoreTileStateResult,x as QueryFilter,r as Raw,s as Recast,j as RecastBuildContext,Z as RecastChunkyTriMesh,te as RecastCompactCell,se as RecastCompactHeightfield,re as RecastCompactSpan,ae as RecastContour,ie as RecastContourSet,ee as RecastHeightfield,ne as RecastHeightfieldLayer,oe as RecastHeightfieldLayerSet,le as RecastPolyMesh,ue as RecastPolyMeshDetail,$ as RecastSpan,J as RecastSpanPool,ot as TileCache,R as TileCacheData,lt as TileCacheMeshProcess,_ as TriangleAreasArray,c as TrianglesArray,u as UnsignedCharArray,l as UnsignedIntArray,h as UnsignedShortArray,d as VerticesArray,Ke as allocCompactHeightfield,Ze as allocContourSet,Qe as allocHeightfield,qe as allocHeightfieldLayerSet,Je as allocPolyMesh,tt as allocPolyMeshDetail,A as array,ye as buildCompactHeightfield,He as buildContours,pe as buildDistanceField,ve as buildHeightfieldLayers,Se as buildLayerRegions,Fe as buildPolyMesh,Ge as buildPolyMeshDetail,Ie as buildRegions,be as buildRegionsMonotone,ut as buildTileCacheLayer,he as calcBounds,we as calcGridSize,_e as clearUnwalkableTriangles,q as cloneRcConfig,Be as copyPolyMesh,de as createHeightfield,O as createNavMeshData,X as createRcConfig,v as crowdAgentParamsDefaults,me as erodeWalkableArea,at as exportNavMesh,it as exportTileCache,Te as filterLedgeSpans,Re as filterLowHangingWalkableObstacles,Ae as filterWalkableLowHeightSpans,Xe as freeCompactHeightfield,$e as freeContourSet,Ye as freeHeightfield,je as freeHeightfieldLayerSet,et as freePolyMesh,rt as freePolyMeshDetail,Oe as getCon,Ne as getDirForOffset,Le as getDirOffsetX,xe as getDirOffsetY,Ee as getHeightFieldSpanCount,ke as getHeightfieldLayerAreas,We as getHeightfieldLayerCons,ze as getHeightfieldLayerHeights,Q as getRandomSeed,wt as importNavMesh,dt as importTileCache,i as init,Me as markBoxArea,fe as markConvexPolyArea,Ce as markCylinderArea,ce as markWalkableTriangles,De as medianFilterWalkableArea,Ve as mergePolyMeshDetails,Ue as mergePolyMeshes,ge as rasterizeTriangles,K as recastConfigDefaults,Pe as setCon,Y as setRandomSeed,D as statusDetail,y as statusFailed,m as statusInProgress,E as statusSucceed,M as statusToReadableString,T as vec3};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/raw.ts","../src/arrays.ts","../src/utils.ts","../src/detour.ts","../src/nav-mesh-query.ts","../src/crowd.ts","../src/nav-mesh.ts","../src/random.ts","../src/recast.ts","../src/serdes/export.ts","../src/tile-cache.ts","../src/serdes/import.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["instances","classes","Raw","isNull","obj","Module","getPointer","destroy","Recast","Detour","init","async","undefined","impl","defaultExport","import","default","instance","clazz","RC_BORDER_REG","BORDER_REG","RC_MULTIPLE_REGS","MULTIPLE_REGS","RC_BORDER_VERTEX","BORDER_VERTEX","RC_AREA_BORDER","AREA_BORDER","RC_CONTOUR_REG_MASK","CONTOUR_REG_MASK","RC_MESH_NULL_IDX","MESH_NULL_IDX","RC_NULL_AREA","NULL_AREA","RC_WALKABLE_AREA","WALKABLE_AREA","RC_NOT_CONNECTED","NOT_CONNECTED","RC_CONTOUR_TESS_WALL_EDGES","RC_CONTOUR_TESS_AREA_EDGES","RC_LOG_PROGRESS","RC_LOG_WARNING","RC_LOG_ERROR","RC_TIMER_TOTAL","RC_TIMER_TEMP","RC_TIMER_RASTERIZE_TRIANGLES","RC_TIMER_BUILD_COMPACTHEIGHTFIELD","RC_TIMER_BUILD_CONTOURS","RC_TIMER_BUILD_CONTOURS_TRACE","RC_TIMER_BUILD_CONTOURS_SIMPLIFY","RC_TIMER_FILTER_BORDER","RC_TIMER_FILTER_WALKABLE","RC_TIMER_MEDIAN_AREA","RC_TIMER_FILTER_LOW_OBSTACLES","RC_TIMER_BUILD_POLYMESH","RC_TIMER_MERGE_POLYMESH","RC_TIMER_ERODE_AREA","RC_TIMER_MARK_BOX_AREA","RC_TIMER_MARK_CYLINDER_AREA","RC_TIMER_MARK_CONVEXPOLY_AREA","RC_TIMER_BUILD_DISTANCEFIELD","RC_TIMER_BUILD_DISTANCEFIELD_DIST","RC_TIMER_BUILD_DISTANCEFIELD_BLUR","RC_TIMER_BUILD_REGIONS","RC_TIMER_BUILD_REGIONS_WATERSHED","RC_TIMER_BUILD_REGIONS_EXPAND","RC_TIMER_BUILD_REGIONS_FLOOD","RC_TIMER_BUILD_REGIONS_FILTER","RC_TIMER_BUILD_LAYERS","RC_TIMER_BUILD_POLYMESHDETAIL","RC_TIMER_MERGE_POLYMESHDETAIL","RC_MAX_TIMERS","DT_FAILURE","FAILURE","DT_SUCCESS","SUCCESS","DT_IN_PROGRESS","IN_PROGRESS","DT_STATUS_DETAIL_MASK","STATUS_DETAIL_MASK","DT_WRONG_MAGIC","WRONG_MAGIC","DT_WRONG_VERSION","WRONG_VERSION","DT_OUT_OF_MEMORY","OUT_OF_MEMORY","DT_INVALID_PARAM","INVALID_PARAM","DT_BUFFER_TOO_SMALL","BUFFER_TOO_SMALL","DT_OUT_OF_NODES","OUT_OF_NODES","DT_PARTIAL_RESULT","PARTIAL_RESULT","DT_ALREADY_OCCUPIED","ALREADY_OCCUPIED","DT_VERTS_PER_POLYGON","VERTS_PER_POLYGON","DT_NAVMESH_MAGIC","NAVMESH_MAGIC","DT_NAVMESH_VERSION","NAVMESH_VERSION","DT_NAVMESH_STATE_MAGIC","NAVMESH_STATE_MAGIC","DT_NAVMESH_STATE_VERSION","NAVMESH_STATE_VERSION","DT_TILECACHE_MAGIC","TILECACHE_MAGIC","DT_TILECACHE_VERSION","TILECACHE_VERSION","DT_TILECACHE_NULL_AREA","TILECACHE_NULL_AREA","DT_TILECACHE_WALKABLE_AREA","TILECACHE_WALKABLE_AREA","DT_TILECACHE_NULL_IDX","TILECACHE_NULL_IDX","DT_NULL_LINK","NULL_LINK","DT_EXT_LINK","EXT_LINK","DT_OFFMESH_CON_BIDIR","OFFMESH_CON_BIDIR","DT_STRAIGHTPATH_START","DT_STRAIGHTPATH_END","DT_STRAIGHTPATH_OFFMESH_CONNECTION","DT_STRAIGHTPATH_AREA_CROSSINGS","DT_STRAIGHTPATH_ALL_CROSSINGS","DT_FINDPATH_ANY_ANGLE","DT_RAYCAST_USE_COSTS","DT_CROWDAGENT_STATE_INVALID","DT_CROWDAGENT_STATE_WALKING","DT_CROWDAGENT_STATE_OFFMESH","DT_CROWDAGENT_TARGET_NONE","DT_CROWDAGENT_TARGET_FAILED","DT_CROWDAGENT_TARGET_VALID","DT_CROWDAGENT_TARGET_REQUESTING","DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE","DT_CROWDAGENT_TARGET_WAITING_FOR_PATH","DT_CROWDAGENT_TARGET_VELOCITY","DT_COMPRESSEDTILE_FREE_DATA","DT_TILE_FREE_DATA","BaseArray","size","this","raw","constructor","get","i","set","value","resize","copy","data","length","getHeapView","heap","getHeap","typedArrayClass","buffer","getDataPointer","toTypedArray","view","IntArray","Int32Array","super","HEAP32","fromRaw","UnsignedIntArray","Uint32Array","HEAPU32","UnsignedCharArray","Uint8Array","HEAPU8","UnsignedShortArray","Uint16Array","HEAPU16","FloatArray","Float32Array","HEAPF32","VerticesArray","TrianglesArray","TriangleAreasArray","ChunkIdsArray","TileCacheData","vec3","toRaw","x","y","z","existing","Vec3","fromArray","toArray","lerp","a","b","t","out","source","array","getter","count","push","statusSucceed","status","statusFailed","statusInProgress","statusDetail","detail","statusToReadableString","reason","DT_STATUS_REASONS","reasonName","reasonMask","Object","entries","DetourPolyDetail","vertBase","triBase","vertCount","triCount","DetourLink","ref","next","edge","side","bmin","bmax","DetourBVNode","get_bmin","get_bmax","DetourOffMeshConnection","pos","index","get_pos","rad","poly","flags","userId","DetourMeshHeader","magic","version","layer","polyCount","maxLinkCount","detailMeshCount","detailVertCount","detailTriCount","bvNodeCount","offMeshConCount","offMeshBase","walkableHeight","walkableRadius","walkableClimb","bvQuantFactor","DetourPoly","firstLink","verts","get_verts","neis","get_neis","areaAndType","get_areaAndtype","getType","DetourMeshTile","salt","linksFreeList","header","polys","get_polys","links","get_links","detailMeshes","get_detailMeshes","detailVerts","get_detailVerts","detailTris","get_detailTris","bvTree","get_bvTree","offMeshCons","get_offMeshCons","get_data","dataSize","createNavMeshData","navMeshCreateParams","result","DetourNavMeshBuilder","success","navMeshData","NavMeshCreateParams","dtNavMeshCreateParams","setPolyMeshCreateParams","polyMesh","setPolyMeshDetailCreateParams","polyMeshDetail","setOffMeshConnections","offMeshConnections","rads","dir","areas","userIds","connection","startPosition","endPosition","radius","bidirectional","area","setVerts","set_verts","setPolys","set_polys","polyAreas","get_polyAreas","setPolyAreas","set_polyAreas","polyFlags","get_polyFlags","setPolyFlags","set_polyFlags","nvp","setNvp","setDetailMeshes","set_detailMeshes","setDetailVerts","set_detailVerts","detailVertsCount","setDetailTris","set_detailTris","offMeshConVerts","get_offMeshConVerts","offMeshConRad","get_offMeshConRad","offMeshConDir","get_offMeshConDir","offMeshConAreas","get_offMeshConAreas","offMeshConFlags","get_offMeshConFlags","offMeshConUserID","get_offMeshConUserID","tileX","setTileX","tileY","setTileY","tileLayer","setTileLayer","boundsMin","setBoundsMin","set_bmin","boundsMax","setBoundsMax","set_bmax","setWalkableHeight","setWalkableRadius","setWalkableClimb","cellSize","cs","setCellSize","cellHeight","ch","setCellHeight","buildBvTree","setBuildBvTree","QueryFilter","includeFlags","getIncludeFlags","setIncludeFlags","excludeFlags","getExcludeFlags","setExcludeFlags","dtQueryFilter","getAreaCost","setAreaCost","cost","NavMeshQuery","defaultQueryHalfExtents","params","maxNodes","defaultQueryFilter","defaultFilter","findNearestPoly","position","options","nearestRefRaw","UnsignedIntRef","nearestPointRaw","isOverPolyRaw","BoolRef","halfExtents","filter","nearestPoint","nearestRef","isOverPoly","findPolysAroundCircle","startRef","centerPos","maxPolys","resultRefArray","resultParentArray","resultCostArray","resultCountRef","IntRef","resultRefs","resultParents","resultCost","resultCount","queryPolygons","center","polysRefsArray","polyCountRef","polyRefs","closestPointOnPoly","polyRef","closestPointRaw","positionOverPolyRaw","closestPoint","isPointOverPoly","findClosestPoint","resultPolyRef","resultPoint","resultPointOverPoly","point","findRandomPointAroundCircle","nearestPoly","randomPolyRef","randomPoint","randomPolyRefRaw","randomPointRaw","moveAlongSurface","maxVisitedSize","resultPositionRaw","visitedArray","resultPosition","visited","findRandomPoint","getPolyHeight","floatRef","FloatRef","height","computePath","start","end","startNearestPolyResult","error","name","path","endNearestPolyResult","endRef","maxPathPolys","findPathResult","findPath","lastPoly","closestEnd","lastPolyClosestPointResult","maxStraightPathPoints","findStraightPathResult","findStraightPath","straightPath","straightPathCount","points","straightPathFlags","straightPathRefs","polysArray","straightPathOptions","pathPolys","Array","isArray","straightPathCountRaw","raycast","raycastHit","dtRaycastHit","raycastOptions","prevRef","queryFilter","hitNormal","get_hitNormal","hitEdgeIndex","get_path","pathCount","maxPath","pathCost","crowdAgentParamsDefaults","maxAcceleration","maxSpeed","collisionQueryRange","pathOptimizationRange","separationWeight","updateFlags","obstacleAvoidanceType","queryFilterType","userData","CrowdAgent","interpolatedPosition","crowd","agentIndex","getEditableAgent","requestMoveTarget","navMeshQuery","requestMoveVelocity","velocity","resetMoveTarget","teleport","CrowdUtils","agentTeleport","get_npos","get_vel","desiredVelocity","get_dvel","desiredVelocityObstacleAdjusted","get_nvel","state","target","get_targetPos","nextTargetInPath","get_cornerVerts","corners","ncorners","parameters","updateParameters","crowdAgentParams","setParameters","dtCrowdAgentParams","updateAgentParameters","overOffMeshConnection","Crowd","agents","accumulator","navMesh","maxAgents","maxAgentRadius","allocCrowd","getNavMesh","getNavMeshQuery","update","dt","timeSinceLastCalled","maxSubSteps","substeps","getAgents","agent","addAgent","getAgent","removeAgent","getAgentCount","getActiveAgentCount","values","getFilter","filterIndex","getEditableFilter","freeCrowd","NavMeshGetTilesAtResult","tiles","get_tiles","tileCount","NavMeshRemoveTileResult","NavMeshCalcTileLocResult","NavMeshStoreTileStateResult","NavMeshParams","create","dtNavMeshParams","set_orig","orig","tileWidth","tileHeight","maxTiles","clone","get_orig","NavMesh","initSolo","initTiled","addTile","lastRef","tileRefRaw","tileRef","decodePolyId","saltRef","itRef","ipRef","tileSalt","tileIndex","tilePolygonIndex","encodePolyId","removeTile","calcTileLoc","getTileAt","tile","getTilesAt","getTileRefAt","getTileRef","getTileByRef","getMaxTiles","getTile","getTileAndPolyByRef","getTileAndPolyByRefUnsafe","isValidPolyRef","getPolyRefBase","getOffMeshConnectionPolyEndPoints","startRaw","endRaw","getOffMeshConnectionByRef","getPolyFlags","flagsRaw","UnsignedShortRef","setPolyArea","getPolyArea","areaRaw","UnsignedCharRef","getTileStateSize","storeTileState","maxDataSize","restoreTileState","getDebugNavMesh","positions","indices","tri","tileHeader","tilePolyCount","tilePolyIndex","polyVertCount","polyDetail","polyDetailTriBase","polyDetailTriCount","polyDetailTriIndex","detailTrisBaseIndex","trianglePoint","tileVertsBaseIndex","getRandomSeed","FastRand","prototype","getSeed","setRandomSeed","seed","setSeed","recastConfigDefaults","borderSize","tileSize","walkableSlopeAngle","maxEdgeLen","maxSimplificationError","minRegionArea","mergeRegionArea","maxVertsPerPoly","detailSampleDist","detailSampleMaxError","createRcConfig","partialConfig","config","rcConfig","cloneRcConfig","width","RecastBuildContext","logs","startTimes","accumulatedTimes","timersAndLogsEnabled","RecastBuildContextImpl","log","category","msg","len","logEnabled","msgPointer","msgString","TextDecoder","decode","resetLog","startTimer","label","timerEnabled","stopTimer","getAccumulatedTime","resetTimers","enableTimer","enableLog","performance","now","deltaTime","RecastChunkyTriMesh","rcChunkyTriMesh","tris","ntris","trisPerChunk","ChunkyTriMeshUtils","createChunkyTriMesh","getChunksOverlappingRect","chunks","maxChunks","getNodeTris","nodeId","getChunkyTriMeshNodeTris","nodes","get_nodes","maxTrisPerChunk","RecastSpan","smin","smax","RecastSpanPool","items","get_items","RecastHeightfield","spans","get_spans","pools","get_pools","freelist","get_freelist","RecastCompactCell","get_index","get_count","RecastCompactSpan","get_y","reg","get_reg","con","get_con","h","get_h","RecastCompactHeightfield","spanCount","maxDistance","maxRegions","cells","get_cells","dist","get_dist","get_areas","RecastContour","nverts","rverts","get_rverts","nrverts","RecastContourSet","conts","get_conts","nconts","maxError","RecastHeightfieldLayer","minx","maxx","miny","maxy","hmin","hmax","heights","get_heights","cons","get_cons","RecastHeightfieldLayerSet","layers","get_layers","nlayers","RecastPolyMesh","regs","get_regs","get_flags","setFlags","set_flags","setAreas","set_areas","npolys","maxpolys","maxEdgeError","RecastPolyMeshDetail","meshes","get_meshes","get_tris","nmeshes","calcBounds","nv","calcGridSize","createHeightfield","buildContext","heightfield","markWalkableTriangles","nt","clearUnwalkableTriangles","rasterizeTriangles","flagMergeThreshold","filterLowHangingWalkableObstacles","filterLedgeSpans","filterWalkableLowHeightSpans","getHeightFieldSpanCount","buildCompactHeightfield","compactHeightfield","erodeWalkableArea","medianFilterWalkableArea","markBoxArea","areaId","markConvexPolyArea","markCylinderArea","buildDistanceField","buildRegions","buildLayerRegions","buildRegionsMonotone","setCon","compactSpan","getCon","getDirOffsetX","getDirOffsetY","getDirForOffset","buildHeightfieldLayers","heightfieldLayerSet","buildContours","contourSet","buildFlags","buildPolyMesh","mergePolyMeshes","outPolyMesh","map","m","buildPolyMeshDetail","mesh","sampleDist","sampleMaxError","copyPolyMesh","src","dest","mergePolyMeshDetails","getHeightfieldLayerHeights","heightfieldLayer","getHeightfieldLayerAreas","getHeightfieldLayerCons","allocHeightfield","freeHeightfield","allocCompactHeightfield","freeCompactHeightfield","allocHeightfieldLayerSet","freeHeightfieldLayerSet","allocContourSet","freeContourSet","allocPolyMesh","freePolyMesh","allocPolyMeshDetail","freePolyMeshDetail","exportImpl","tileCache","navMeshExport","NavMeshExporter","exportNavMesh","arrView","dataPointer","freeNavMeshExport","exportTileCache","DetourTileCacheParams","tileCacheParams","dtTileCacheParams","set_cs","set_ch","set_width","set_height","set_walkableHeight","set_walkableRadius","set_walkableClimb","set_maxSimplificationError","set_maxTiles","set_maxObstacles","maxObstacles","TileCache","obstacles","Map","alloc","compressor","meshProcess","upToDate","addCylinderObstacle","obstacle","type","addBoxObstacle","angle","rawPosition","rawHalfExtents","removeObstacle","delete","buildNavMeshTile","buildNavMeshTilesAt","tx","ty","TileCacheMeshProcess","process","paramsPtr","polyAreasArrayPtr","polyFlagsArrayPtr","wrapPointer","polyAreasArray","polyFlagsArray","buildTileCacheLayer","comp","tileCacheData","DetourTileCacheBuilder","createNavMeshExport","nDataBytes","BYTES_PER_ELEMENT","dataPtr","_malloc","dataHeap","NavMeshExport","byteOffset","importNavMesh","NavMeshImporter","_free","importTileCache","tileCacheMeshProcess","allocator"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/raw.ts","../src/arrays.ts","../src/utils.ts","../src/detour.ts","../src/nav-mesh-query.ts","../src/crowd.ts","../src/debug-drawer-utils.ts","../src/nav-mesh.ts","../src/random.ts","../src/recast.ts","../src/serdes/export.ts","../src/tile-cache.ts","../src/serdes/import.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["instances","classes","Raw","isNull","obj","Module","getPointer","destroy","Recast","Detour","init","async","undefined","impl","defaultExport","import","default","instance","clazz","RC_BORDER_REG","BORDER_REG","RC_MULTIPLE_REGS","MULTIPLE_REGS","RC_BORDER_VERTEX","BORDER_VERTEX","RC_AREA_BORDER","AREA_BORDER","RC_CONTOUR_REG_MASK","CONTOUR_REG_MASK","RC_MESH_NULL_IDX","MESH_NULL_IDX","RC_NULL_AREA","NULL_AREA","RC_WALKABLE_AREA","WALKABLE_AREA","RC_NOT_CONNECTED","NOT_CONNECTED","RC_CONTOUR_TESS_WALL_EDGES","RC_CONTOUR_TESS_AREA_EDGES","RC_LOG_PROGRESS","RC_LOG_WARNING","RC_LOG_ERROR","RC_TIMER_TOTAL","RC_TIMER_TEMP","RC_TIMER_RASTERIZE_TRIANGLES","RC_TIMER_BUILD_COMPACTHEIGHTFIELD","RC_TIMER_BUILD_CONTOURS","RC_TIMER_BUILD_CONTOURS_TRACE","RC_TIMER_BUILD_CONTOURS_SIMPLIFY","RC_TIMER_FILTER_BORDER","RC_TIMER_FILTER_WALKABLE","RC_TIMER_MEDIAN_AREA","RC_TIMER_FILTER_LOW_OBSTACLES","RC_TIMER_BUILD_POLYMESH","RC_TIMER_MERGE_POLYMESH","RC_TIMER_ERODE_AREA","RC_TIMER_MARK_BOX_AREA","RC_TIMER_MARK_CYLINDER_AREA","RC_TIMER_MARK_CONVEXPOLY_AREA","RC_TIMER_BUILD_DISTANCEFIELD","RC_TIMER_BUILD_DISTANCEFIELD_DIST","RC_TIMER_BUILD_DISTANCEFIELD_BLUR","RC_TIMER_BUILD_REGIONS","RC_TIMER_BUILD_REGIONS_WATERSHED","RC_TIMER_BUILD_REGIONS_EXPAND","RC_TIMER_BUILD_REGIONS_FLOOD","RC_TIMER_BUILD_REGIONS_FILTER","RC_TIMER_BUILD_LAYERS","RC_TIMER_BUILD_POLYMESHDETAIL","RC_TIMER_MERGE_POLYMESHDETAIL","RC_MAX_TIMERS","DT_FAILURE","FAILURE","DT_SUCCESS","SUCCESS","DT_IN_PROGRESS","IN_PROGRESS","DT_STATUS_DETAIL_MASK","STATUS_DETAIL_MASK","DT_WRONG_MAGIC","WRONG_MAGIC","DT_WRONG_VERSION","WRONG_VERSION","DT_OUT_OF_MEMORY","OUT_OF_MEMORY","DT_INVALID_PARAM","INVALID_PARAM","DT_BUFFER_TOO_SMALL","BUFFER_TOO_SMALL","DT_OUT_OF_NODES","OUT_OF_NODES","DT_PARTIAL_RESULT","PARTIAL_RESULT","DT_ALREADY_OCCUPIED","ALREADY_OCCUPIED","DT_VERTS_PER_POLYGON","VERTS_PER_POLYGON","DT_NAVMESH_MAGIC","NAVMESH_MAGIC","DT_NAVMESH_VERSION","NAVMESH_VERSION","DT_NAVMESH_STATE_MAGIC","NAVMESH_STATE_MAGIC","DT_NAVMESH_STATE_VERSION","NAVMESH_STATE_VERSION","DT_TILECACHE_MAGIC","TILECACHE_MAGIC","DT_TILECACHE_VERSION","TILECACHE_VERSION","DT_TILECACHE_NULL_AREA","TILECACHE_NULL_AREA","DT_TILECACHE_WALKABLE_AREA","TILECACHE_WALKABLE_AREA","DT_TILECACHE_NULL_IDX","TILECACHE_NULL_IDX","DT_NULL_LINK","NULL_LINK","DT_EXT_LINK","EXT_LINK","DT_OFFMESH_CON_BIDIR","OFFMESH_CON_BIDIR","DT_STRAIGHTPATH_START","DT_STRAIGHTPATH_END","DT_STRAIGHTPATH_OFFMESH_CONNECTION","DT_STRAIGHTPATH_AREA_CROSSINGS","DT_STRAIGHTPATH_ALL_CROSSINGS","DT_FINDPATH_ANY_ANGLE","DT_RAYCAST_USE_COSTS","DT_CROWDAGENT_STATE_INVALID","DT_CROWDAGENT_STATE_WALKING","DT_CROWDAGENT_STATE_OFFMESH","DT_CROWDAGENT_TARGET_NONE","DT_CROWDAGENT_TARGET_FAILED","DT_CROWDAGENT_TARGET_VALID","DT_CROWDAGENT_TARGET_REQUESTING","DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE","DT_CROWDAGENT_TARGET_WAITING_FOR_PATH","DT_CROWDAGENT_TARGET_VELOCITY","DT_COMPRESSEDTILE_FREE_DATA","DT_TILE_FREE_DATA","BaseArray","size","this","raw","constructor","get","i","set","value","resize","copy","data","length","getHeapView","heap","getHeap","typedArrayClass","buffer","getDataPointer","toTypedArray","view","IntArray","Int32Array","super","HEAP32","fromRaw","UnsignedIntArray","Uint32Array","HEAPU32","UnsignedCharArray","Uint8Array","HEAPU8","UnsignedShortArray","Uint16Array","HEAPU16","FloatArray","Float32Array","HEAPF32","VerticesArray","TrianglesArray","TriangleAreasArray","ChunkIdsArray","TileCacheData","vec3","toRaw","x","y","z","existing","Vec3","fromArray","toArray","lerp","a","b","t","out","source","array","getter","count","push","statusSucceed","status","statusFailed","statusInProgress","statusDetail","detail","statusToReadableString","reason","DT_STATUS_REASONS","reasonName","reasonMask","Object","entries","DetourPolyDetail","vertBase","triBase","vertCount","triCount","DetourLink","ref","next","edge","side","bmin","bmax","DetourBVNode","get_bmin","get_bmax","DetourOffMeshConnection","pos","index","get_pos","rad","poly","flags","userId","DetourMeshHeader","magic","version","layer","polyCount","maxLinkCount","detailMeshCount","detailVertCount","detailTriCount","bvNodeCount","offMeshConCount","offMeshBase","walkableHeight","walkableRadius","walkableClimb","bvQuantFactor","DetourPoly","firstLink","verts","get_verts","neis","get_neis","areaAndType","get_areaAndtype","getType","DetourMeshTile","salt","linksFreeList","header","polys","get_polys","links","get_links","detailMeshes","get_detailMeshes","detailVerts","get_detailVerts","detailTris","get_detailTris","bvTree","get_bvTree","offMeshCons","get_offMeshCons","get_data","dataSize","createNavMeshData","navMeshCreateParams","result","DetourNavMeshBuilder","success","navMeshData","NavMeshCreateParams","dtNavMeshCreateParams","setPolyMeshCreateParams","polyMesh","setPolyMeshDetailCreateParams","polyMeshDetail","setOffMeshConnections","offMeshConnections","rads","dir","areas","userIds","connection","startPosition","endPosition","radius","bidirectional","area","setVerts","set_verts","setPolys","set_polys","polyAreas","get_polyAreas","setPolyAreas","set_polyAreas","polyFlags","get_polyFlags","setPolyFlags","set_polyFlags","nvp","setNvp","setDetailMeshes","set_detailMeshes","setDetailVerts","set_detailVerts","detailVertsCount","setDetailTris","set_detailTris","offMeshConVerts","get_offMeshConVerts","offMeshConRad","get_offMeshConRad","offMeshConDir","get_offMeshConDir","offMeshConAreas","get_offMeshConAreas","offMeshConFlags","get_offMeshConFlags","offMeshConUserID","get_offMeshConUserID","tileX","setTileX","tileY","setTileY","tileLayer","setTileLayer","boundsMin","setBoundsMin","set_bmin","boundsMax","setBoundsMax","set_bmax","setWalkableHeight","setWalkableRadius","setWalkableClimb","cellSize","cs","setCellSize","cellHeight","ch","setCellHeight","buildBvTree","setBuildBvTree","QueryFilter","includeFlags","getIncludeFlags","setIncludeFlags","excludeFlags","getExcludeFlags","setExcludeFlags","dtQueryFilter","getAreaCost","setAreaCost","cost","NavMeshQuery","defaultQueryHalfExtents","params","maxNodes","defaultQueryFilter","defaultFilter","findNearestPoly","position","options","nearestRefRaw","UnsignedIntRef","nearestPointRaw","isOverPolyRaw","BoolRef","halfExtents","filter","nearestPoint","nearestRef","isOverPoly","findPolysAroundCircle","startRef","centerPos","maxPolys","resultRefArray","resultParentArray","resultCostArray","resultCountRef","IntRef","resultRefs","resultParents","resultCost","resultCount","queryPolygons","center","polysRefsArray","polyCountRef","polyRefs","closestPointOnPoly","polyRef","closestPointRaw","positionOverPolyRaw","closestPoint","isPointOverPoly","findClosestPoint","resultPolyRef","resultPoint","resultPointOverPoly","point","findRandomPointAroundCircle","nearestPoly","randomPolyRef","randomPoint","randomPolyRefRaw","randomPointRaw","moveAlongSurface","maxVisitedSize","resultPositionRaw","visitedArray","resultPosition","visited","findRandomPoint","getPolyHeight","floatRef","FloatRef","height","computePath","start","end","startNearestPolyResult","error","name","path","endNearestPolyResult","endRef","maxPathPolys","findPathResult","findPath","lastPoly","closestEnd","lastPolyClosestPointResult","maxStraightPathPoints","findStraightPathResult","findStraightPath","straightPath","straightPathCount","points","straightPathFlags","straightPathRefs","polysArray","straightPathOptions","pathPolys","Array","isArray","straightPathCountRaw","raycast","raycastHit","dtRaycastHit","raycastOptions","prevRef","queryFilter","hitNormal","get_hitNormal","hitEdgeIndex","get_path","pathCount","maxPath","pathCost","crowdAgentParamsDefaults","maxAcceleration","maxSpeed","collisionQueryRange","pathOptimizationRange","separationWeight","updateFlags","obstacleAvoidanceType","queryFilterType","userData","CrowdAgent","interpolatedPosition","crowd","agentIndex","getEditableAgent","requestMoveTarget","navMeshQuery","requestMoveVelocity","velocity","resetMoveTarget","teleport","CrowdUtils","agentTeleport","get_npos","get_vel","desiredVelocity","get_dvel","desiredVelocityObstacleAdjusted","get_nvel","state","target","get_targetPos","nextTargetInPath","get_cornerVerts","corners","ncorners","parameters","updateParameters","crowdAgentParams","setParameters","dtCrowdAgentParams","updateAgentParameters","overOffMeshConnection","Crowd","agents","accumulator","navMesh","maxAgents","maxAgentRadius","allocCrowd","getNavMesh","getNavMeshQuery","update","dt","timeSinceLastCalled","maxSubSteps","substeps","getAgents","agent","addAgent","getAgent","removeAgent","getAgentCount","getActiveAgentCount","values","getFilter","filterIndex","getEditableFilter","freeCrowd","DebugDrawerUtils","currentPrimitiveType","currentVertices","primitives","debugDrawImpl","DebugDrawImpl","handleBegin","primitive","_size","handleDepthMask","_state","handleTexture","handleVertexWithColor","color","vertex","handleVertexWithColorAndUV","_u","_v","primitiveMap","DU_DRAW_LINES","DU_DRAW_TRIS","DU_DRAW_QUADS","DU_DRAW_POINTS","handleEnd","type","vertices","flush","cur","drawHeightfieldSolid","hf","RecastDebugDraw","debugDrawHeightfieldSolid","drawHeightfieldWalkable","debugDrawHeightfieldWalkable","drawCompactHeightfieldSolid","chf","debugDrawCompactHeightfieldSolid","drawCompactHeightfieldRegions","debugDrawCompactHeightfieldRegions","drawCompactHeightfieldDistance","debugDrawCompactHeightfieldDistance","drawHeightfieldLayer","idx","debugDrawHeightfieldLayer","drawHeightfieldLayers","lset","debugDrawHeightfieldLayers","drawRegionConnections","cset","alpha","debugDrawRegionConnections","drawRawContours","debugDrawRawContours","drawContours","debugDrawContours","drawPolyMesh","mesh","debugDrawPolyMesh","drawPolyMeshDetail","dmesh","debugDrawPolyMeshDetail","drawNavMesh","DetourDebugDraw","debugDrawNavMesh","drawNavMeshWithClosedList","query","debugDrawNavMeshWithClosedList","m_navMesh","m_navQuery","drawNavMeshNodes","debugDrawNavMeshNodes","drawNavMeshBVTree","debugDrawNavMeshBVTree","drawNavMeshPortals","debugDrawNavMeshPortals","drawNavMeshPolysWithFlags","col","debugDrawNavMeshPolysWithFlags","drawNavMeshPoly","debugDrawNavMeshPoly","dispose","r","g","NavMeshGetTilesAtResult","tiles","get_tiles","tileCount","NavMeshRemoveTileResult","NavMeshCalcTileLocResult","NavMeshStoreTileStateResult","NavMeshParams","create","dtNavMeshParams","set_orig","orig","tileWidth","tileHeight","maxTiles","clone","get_orig","NavMesh","initSolo","initTiled","addTile","lastRef","tileRefRaw","tileRef","decodePolyId","saltRef","itRef","ipRef","tileSalt","tileIndex","tilePolygonIndex","encodePolyId","removeTile","calcTileLoc","getTileAt","tile","getTilesAt","getTileRefAt","getTileRef","getTileByRef","getMaxTiles","getTile","getTileAndPolyByRef","getTileAndPolyByRefUnsafe","isValidPolyRef","getPolyRefBase","getOffMeshConnectionPolyEndPoints","startRaw","endRaw","getOffMeshConnectionByRef","getPolyFlags","flagsRaw","UnsignedShortRef","setPolyArea","getPolyArea","areaRaw","UnsignedCharRef","getTileStateSize","storeTileState","maxDataSize","restoreTileState","getDebugNavMesh","positions","indices","tri","tileHeader","tilePolyCount","tilePolyIndex","polyVertCount","polyDetail","polyDetailTriBase","polyDetailTriCount","polyDetailTriIndex","detailTrisBaseIndex","trianglePoint","tileVertsBaseIndex","getRandomSeed","FastRand","prototype","getSeed","setRandomSeed","seed","setSeed","recastConfigDefaults","borderSize","tileSize","walkableSlopeAngle","maxEdgeLen","maxSimplificationError","minRegionArea","mergeRegionArea","maxVertsPerPoly","detailSampleDist","detailSampleMaxError","createRcConfig","partialConfig","config","rcConfig","cloneRcConfig","width","RecastBuildContext","logs","startTimes","accumulatedTimes","timersAndLogsEnabled","RecastBuildContextImpl","log","category","msg","len","logEnabled","msgPointer","msgString","TextDecoder","decode","resetLog","startTimer","label","timerEnabled","stopTimer","getAccumulatedTime","resetTimers","enableTimer","enableLog","performance","now","deltaTime","RecastChunkyTriMesh","rcChunkyTriMesh","tris","ntris","trisPerChunk","ChunkyTriMeshUtils","createChunkyTriMesh","getChunksOverlappingRect","chunks","maxChunks","getNodeTris","nodeId","getChunkyTriMeshNodeTris","nodes","get_nodes","maxTrisPerChunk","RecastSpan","smin","smax","RecastSpanPool","items","get_items","RecastHeightfield","spans","get_spans","pools","get_pools","freelist","get_freelist","RecastCompactCell","get_index","get_count","RecastCompactSpan","get_y","reg","get_reg","con","get_con","h","get_h","RecastCompactHeightfield","spanCount","maxDistance","maxRegions","cells","get_cells","dist","get_dist","get_areas","RecastContour","nverts","rverts","get_rverts","nrverts","RecastContourSet","conts","get_conts","nconts","maxError","RecastHeightfieldLayer","minx","maxx","miny","maxy","hmin","hmax","heights","get_heights","cons","get_cons","RecastHeightfieldLayerSet","layers","get_layers","nlayers","RecastPolyMesh","regs","get_regs","get_flags","setFlags","set_flags","setAreas","set_areas","npolys","maxpolys","maxEdgeError","RecastPolyMeshDetail","meshes","get_meshes","get_tris","nmeshes","calcBounds","nv","calcGridSize","createHeightfield","buildContext","heightfield","markWalkableTriangles","nt","clearUnwalkableTriangles","rasterizeTriangles","flagMergeThreshold","filterLowHangingWalkableObstacles","filterLedgeSpans","filterWalkableLowHeightSpans","getHeightFieldSpanCount","buildCompactHeightfield","compactHeightfield","erodeWalkableArea","medianFilterWalkableArea","markBoxArea","areaId","markConvexPolyArea","markCylinderArea","buildDistanceField","buildRegions","buildLayerRegions","buildRegionsMonotone","setCon","compactSpan","getCon","getDirOffsetX","getDirOffsetY","getDirForOffset","buildHeightfieldLayers","heightfieldLayerSet","buildContours","contourSet","buildFlags","buildPolyMesh","mergePolyMeshes","outPolyMesh","map","m","buildPolyMeshDetail","sampleDist","sampleMaxError","copyPolyMesh","src","dest","mergePolyMeshDetails","getHeightfieldLayerHeights","heightfieldLayer","getHeightfieldLayerAreas","getHeightfieldLayerCons","allocHeightfield","freeHeightfield","allocCompactHeightfield","freeCompactHeightfield","allocHeightfieldLayerSet","freeHeightfieldLayerSet","allocContourSet","freeContourSet","allocPolyMesh","freePolyMesh","allocPolyMeshDetail","freePolyMeshDetail","exportImpl","tileCache","navMeshExport","NavMeshExporter","exportNavMesh","arrView","dataPointer","freeNavMeshExport","exportTileCache","DetourTileCacheParams","tileCacheParams","dtTileCacheParams","set_cs","set_ch","set_width","set_height","set_walkableHeight","set_walkableRadius","set_walkableClimb","set_maxSimplificationError","set_maxTiles","set_maxObstacles","maxObstacles","TileCache","obstacles","Map","alloc","compressor","meshProcess","upToDate","addCylinderObstacle","obstacle","addBoxObstacle","angle","rawPosition","rawHalfExtents","removeObstacle","delete","buildNavMeshTile","buildNavMeshTilesAt","tx","ty","TileCacheMeshProcess","process","paramsPtr","polyAreasArrayPtr","polyFlagsArrayPtr","wrapPointer","polyAreasArray","polyFlagsArray","buildTileCacheLayer","comp","tileCacheData","DetourTileCacheBuilder","createNavMeshExport","nDataBytes","BYTES_PER_ELEMENT","dataPtr","_malloc","dataHeap","NavMeshExport","byteOffset","importNavMesh","NavMeshImporter","_free","importTileCache","tileCacheMeshProcess","allocator"],"mappings":"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"}
|
package/dist/raw.d.ts
CHANGED
|
@@ -1,46 +1,23 @@
|
|
|
1
1
|
import type { default as Module, default as RawModule } from '@recast-navigation/wasm';
|
|
2
|
+
import type { Pretty } from './types';
|
|
2
3
|
export type { RawModule };
|
|
4
|
+
declare const instances: readonly ["Recast", "Detour", "DetourNavMeshBuilder", "DetourTileCacheBuilder", "NavMeshImporter", "NavMeshExporter", "CrowdUtils", "ChunkyTriMeshUtils", "RecastDebugDraw", "DetourDebugDraw"];
|
|
5
|
+
declare const classes: readonly ["rcConfig", "rcContext", "dtNavMeshParams", "dtNavMeshCreateParams", "RecastLinearAllocator", "RecastFastLZCompressor", "rcChunkyTriMesh", "dtTileCacheParams", "dtTileCacheLayerHeader", "Vec3", "BoolRef", "IntRef", "UnsignedIntRef", "UnsignedCharRef", "UnsignedShortRef", "FloatRef", "IntArray", "UnsignedIntArray", "UnsignedCharArray", "UnsignedShortArray", "FloatArray"];
|
|
6
|
+
type RawApi = Pretty<{
|
|
7
|
+
Module: typeof RawModule;
|
|
8
|
+
isNull: (obj: unknown) => boolean;
|
|
9
|
+
destroy: (obj: unknown) => void;
|
|
10
|
+
} & {
|
|
11
|
+
[K in (typeof instances)[number]]: InstanceType<(typeof RawModule)[K]>;
|
|
12
|
+
} & {
|
|
13
|
+
[K in (typeof classes)[number]]: (typeof RawModule)[K];
|
|
14
|
+
}>;
|
|
3
15
|
/**
|
|
4
16
|
* Lower level bindings for the Recast and Detour libraries.
|
|
5
17
|
*
|
|
6
18
|
* The `init` function must be called before using the `Raw` api.
|
|
7
19
|
*/
|
|
8
|
-
export declare const Raw:
|
|
9
|
-
Module: typeof RawModule;
|
|
10
|
-
isNull: (obj: unknown) => boolean;
|
|
11
|
-
destroy: (obj: unknown) => void;
|
|
12
|
-
CrowdUtils: Module.CrowdUtils;
|
|
13
|
-
Detour: Module.Detour;
|
|
14
|
-
Recast: Module.Recast;
|
|
15
|
-
DetourNavMeshBuilder: Module.DetourNavMeshBuilder;
|
|
16
|
-
DetourTileCacheBuilder: Module.DetourTileCacheBuilder;
|
|
17
|
-
ChunkyTriMeshUtils: Module.ChunkyTriMeshUtils;
|
|
18
|
-
NavMeshImporter: Module.NavMeshImporter;
|
|
19
|
-
NavMeshExporter: Module.NavMeshExporter;
|
|
20
|
-
RecastDebugDraw: Module.RecastDebugDraw;
|
|
21
|
-
DetourDebugDraw: Module.DetourDebugDraw;
|
|
22
|
-
rcConfig: typeof Module.rcConfig;
|
|
23
|
-
dtNavMeshCreateParams: typeof Module.dtNavMeshCreateParams;
|
|
24
|
-
dtNavMeshParams: typeof Module.dtNavMeshParams;
|
|
25
|
-
Vec3: typeof Module.Vec3;
|
|
26
|
-
dtTileCacheParams: typeof Module.dtTileCacheParams;
|
|
27
|
-
RecastFastLZCompressor: typeof Module.RecastFastLZCompressor;
|
|
28
|
-
RecastLinearAllocator: typeof Module.RecastLinearAllocator;
|
|
29
|
-
rcContext: typeof Module.rcContext;
|
|
30
|
-
dtTileCacheLayerHeader: typeof Module.dtTileCacheLayerHeader;
|
|
31
|
-
rcChunkyTriMesh: typeof Module.rcChunkyTriMesh;
|
|
32
|
-
BoolRef: typeof Module.BoolRef;
|
|
33
|
-
IntRef: typeof Module.IntRef;
|
|
34
|
-
UnsignedIntRef: typeof Module.UnsignedIntRef;
|
|
35
|
-
UnsignedCharRef: typeof Module.UnsignedCharRef;
|
|
36
|
-
UnsignedShortRef: typeof Module.UnsignedShortRef;
|
|
37
|
-
FloatRef: typeof Module.FloatRef;
|
|
38
|
-
IntArray: typeof Module.IntArray;
|
|
39
|
-
UnsignedIntArray: typeof Module.UnsignedIntArray;
|
|
40
|
-
UnsignedCharArray: typeof Module.UnsignedCharArray;
|
|
41
|
-
UnsignedShortArray: typeof Module.UnsignedShortArray;
|
|
42
|
-
FloatArray: typeof Module.FloatArray;
|
|
43
|
-
};
|
|
20
|
+
export declare const Raw: RawApi;
|
|
44
21
|
export declare const Recast: {
|
|
45
22
|
RC_BORDER_REG: number;
|
|
46
23
|
RC_MULTIPLE_REGS: 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.
|
|
9
|
+
"version": "0.35.0",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"homepage": "https://github.com/isaac-mason/recast-navigation-js",
|
|
12
12
|
"bugs": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"lint": "eslint src"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@recast-navigation/wasm": "0.
|
|
30
|
+
"@recast-navigation/wasm": "0.35.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@babel/core": "^7.24.5",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
40
40
|
"@rollup/plugin-terser": "^0.4.3",
|
|
41
41
|
"@rollup/plugin-typescript": "^11.1.6",
|
|
42
|
-
"@types/three": "^0.
|
|
42
|
+
"@types/three": "^0.169.0",
|
|
43
43
|
"babel-loader": "^9.1.3",
|
|
44
44
|
"eslint": "^9.6.0",
|
|
45
45
|
"prettier": "^3.1.0",
|