@babylonjs-toolkit/next 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +319 -0
  2. package/lib/blendtreeposition.d.ts +5 -0
  3. package/lib/blendtreeposition.d.ts.map +1 -0
  4. package/lib/blendtreeposition.js +5 -0
  5. package/lib/channelmixerplugin.d.ts +11 -0
  6. package/lib/channelmixerplugin.d.ts.map +1 -0
  7. package/lib/channelmixerplugin.js +34 -0
  8. package/lib/collisioncontact.d.ts +7 -0
  9. package/lib/collisioncontact.d.ts.map +1 -0
  10. package/lib/collisioncontact.js +7 -0
  11. package/lib/collisionfilters.d.ts +10 -0
  12. package/lib/collisionfilters.d.ts.map +1 -0
  13. package/lib/collisionfilters.js +10 -0
  14. package/lib/collisionflags.d.ts +14 -0
  15. package/lib/collisionflags.d.ts.map +1 -0
  16. package/lib/collisionflags.js +14 -0
  17. package/lib/collisionstate.d.ts +8 -0
  18. package/lib/collisionstate.d.ts.map +1 -0
  19. package/lib/collisionstate.js +8 -0
  20. package/lib/customloadingscreen.d.ts +16 -0
  21. package/lib/customloadingscreen.d.ts.map +1 -0
  22. package/lib/customloadingscreen.js +48 -0
  23. package/lib/entitycontroller.d.ts +11 -0
  24. package/lib/entitycontroller.d.ts.map +1 -0
  25. package/lib/entitycontroller.js +41 -0
  26. package/lib/fontmanifestentry.d.ts +8 -0
  27. package/lib/fontmanifestentry.d.ts.map +1 -0
  28. package/lib/fontmanifestentry.js +1 -0
  29. package/lib/handedness.d.ts +6 -0
  30. package/lib/handedness.d.ts.map +1 -0
  31. package/lib/handedness.js +6 -0
  32. package/lib/ianimationcurve.d.ts +14 -0
  33. package/lib/ianimationcurve.d.ts.map +1 -0
  34. package/lib/ianimationcurve.js +1 -0
  35. package/lib/index.d.ts +43 -0
  36. package/lib/index.d.ts.map +1 -0
  37. package/lib/index.js +42 -0
  38. package/lib/intersectionprecision.d.ts +5 -0
  39. package/lib/intersectionprecision.d.ts.map +1 -0
  40. package/lib/intersectionprecision.js +5 -0
  41. package/lib/iparticlesystemtransform.d.ts +9 -0
  42. package/lib/iparticlesystemtransform.d.ts.map +1 -0
  43. package/lib/iparticlesystemtransform.js +1 -0
  44. package/lib/irecastnavigationplugin.d.ts +92 -0
  45. package/lib/irecastnavigationplugin.d.ts.map +1 -0
  46. package/lib/irecastnavigationplugin.js +1 -0
  47. package/lib/linesmeshrenderer.d.ts +22 -0
  48. package/lib/linesmeshrenderer.d.ts.map +1 -0
  49. package/lib/linesmeshrenderer.js +79 -0
  50. package/lib/localmessagebus.d.ts +9 -0
  51. package/lib/localmessagebus.d.ts.map +1 -0
  52. package/lib/localmessagebus.js +44 -0
  53. package/lib/lutblendplugin.d.ts +13 -0
  54. package/lib/lutblendplugin.d.ts.map +1 -0
  55. package/lib/lutblendplugin.js +153 -0
  56. package/lib/mousebuttonmode.d.ts +6 -0
  57. package/lib/mousebuttonmode.d.ts.map +1 -0
  58. package/lib/mousebuttonmode.js +6 -0
  59. package/lib/movementtype.d.ts +5 -0
  60. package/lib/movementtype.d.ts.map +1 -0
  61. package/lib/movementtype.js +5 -0
  62. package/lib/noisefunction2d.d.ts +2 -0
  63. package/lib/noisefunction2d.d.ts.map +1 -0
  64. package/lib/noisefunction2d.js +1 -0
  65. package/lib/noisefunction3d.d.ts +2 -0
  66. package/lib/noisefunction3d.d.ts.map +1 -0
  67. package/lib/noisefunction3d.js +1 -0
  68. package/lib/noisefunction4d.d.ts +2 -0
  69. package/lib/noisefunction4d.d.ts.map +1 -0
  70. package/lib/noisefunction4d.js +1 -0
  71. package/lib/perlin2d.d.ts +9 -0
  72. package/lib/perlin2d.d.ts.map +1 -0
  73. package/lib/perlin2d.js +45 -0
  74. package/lib/playercontrol.d.ts +5 -0
  75. package/lib/playercontrol.d.ts.map +1 -0
  76. package/lib/playercontrol.js +5 -0
  77. package/lib/prefabobjectpool.d.ts +20 -0
  78. package/lib/prefabobjectpool.d.ts.map +1 -0
  79. package/lib/prefabobjectpool.js +96 -0
  80. package/lib/randomfn.d.ts +2 -0
  81. package/lib/randomfn.d.ts.map +1 -0
  82. package/lib/randomfn.js +1 -0
  83. package/lib/raycasthitresult.d.ts +21 -0
  84. package/lib/raycasthitresult.d.ts.map +1 -0
  85. package/lib/raycasthitresult.js +36 -0
  86. package/lib/recastclassctor.d.ts +2 -0
  87. package/lib/recastclassctor.d.ts.map +1 -0
  88. package/lib/recastclassctor.js +1 -0
  89. package/lib/roomerrormessage.d.ts +5 -0
  90. package/lib/roomerrormessage.d.ts.map +1 -0
  91. package/lib/roomerrormessage.js +2 -0
  92. package/lib/scenemanager.d.ts +4141 -0
  93. package/lib/scenemanager.d.ts.map +1 -0
  94. package/lib/scenemanager.js +29628 -0
  95. package/lib/simplexnoise.d.ts +21 -0
  96. package/lib/simplexnoise.d.ts.map +1 -0
  97. package/lib/simplexnoise.js +362 -0
  98. package/lib/touchjoystickhandler.d.ts +39 -0
  99. package/lib/touchjoystickhandler.d.ts.map +1 -0
  100. package/lib/touchjoystickhandler.js +175 -0
  101. package/lib/touchmousebutton.d.ts +6 -0
  102. package/lib/touchmousebutton.d.ts.map +1 -0
  103. package/lib/touchmousebutton.js +6 -0
  104. package/lib/treebranchmaterial.d.ts +31 -0
  105. package/lib/treebranchmaterial.d.ts.map +1 -0
  106. package/lib/treebranchmaterial.js +369 -0
  107. package/lib/triggervolume.d.ts +6 -0
  108. package/lib/triggervolume.d.ts.map +1 -0
  109. package/lib/triggervolume.js +6 -0
  110. package/lib/unitydropdownmenu.d.ts +20 -0
  111. package/lib/unitydropdownmenu.d.ts.map +1 -0
  112. package/lib/unitydropdownmenu.js +144 -0
  113. package/lib/unityscrollbar.d.ts +11 -0
  114. package/lib/unityscrollbar.d.ts.map +1 -0
  115. package/lib/unityscrollbar.js +38 -0
  116. package/lib/unityslider.d.ts +4 -0
  117. package/lib/unityslider.d.ts.map +1 -0
  118. package/lib/unityslider.js +3 -0
  119. package/lib/universalcharactercontroller.d.ts +3 -0
  120. package/lib/universalcharactercontroller.d.ts.map +1 -0
  121. package/lib/universalcharactercontroller.js +1 -0
  122. package/lib/universalterrainmaterial.d.ts +48 -0
  123. package/lib/universalterrainmaterial.d.ts.map +1 -0
  124. package/lib/universalterrainmaterial.js +639 -0
  125. package/lib/userinputpointer.d.ts +6 -0
  126. package/lib/userinputpointer.d.ts.map +1 -0
  127. package/lib/userinputpointer.js +6 -0
  128. package/lib/xbox360trigger.d.ts +5 -0
  129. package/lib/xbox360trigger.d.ts.map +1 -0
  130. package/lib/xbox360trigger.js +5 -0
  131. package/package.json +211 -0
@@ -0,0 +1,6 @@
1
+ export var Handedness;
2
+ (function (Handedness) {
3
+ Handedness[Handedness["Default"] = -1] = "Default";
4
+ Handedness[Handedness["Right"] = 0] = "Right";
5
+ Handedness[Handedness["Left"] = 1] = "Left";
6
+ })(Handedness || (Handedness = {}));
@@ -0,0 +1,14 @@
1
+ export interface IAnimationCurve {
2
+ length: number;
3
+ preWrapMode: string;
4
+ postWrapMode: string;
5
+ keyframes: IAnimationKeyframe[];
6
+ }
7
+ export interface IAnimationKeyframe {
8
+ time: number;
9
+ value: number;
10
+ inTangent: number;
11
+ outTangent: number;
12
+ tangentMode: number;
13
+ }
14
+ //# sourceMappingURL=ianimationcurve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ianimationcurve.d.ts","sourceRoot":"","sources":["../src/ianimationcurve.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,eAAe;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAEL,MAAM,WAAW,kBAAkB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1 @@
1
+ export {};
package/lib/index.d.ts ADDED
@@ -0,0 +1,43 @@
1
+ export * from './scenemanager';
2
+ export * from './handedness';
3
+ export * from './playercontrol';
4
+ export * from './xbox360trigger';
5
+ export * from './movementtype';
6
+ export * from './collisioncontact';
7
+ export * from './intersectionprecision';
8
+ export * from './collisionfilters';
9
+ export * from './collisionstate';
10
+ export * from './collisionflags';
11
+ export * from './userinputpointer';
12
+ export * from './triggervolume';
13
+ export * from './roomerrormessage';
14
+ export * from './customloadingscreen';
15
+ export * from './localmessagebus';
16
+ export * from './prefabobjectpool';
17
+ export * from './raycasthitresult';
18
+ export * from './linesmeshrenderer';
19
+ export * from './entitycontroller';
20
+ export * from './recastclassctor';
21
+ export * from './irecastnavigationplugin';
22
+ export * from './perlin2d';
23
+ export * from './randomfn';
24
+ export * from './noisefunction2d';
25
+ export * from './noisefunction3d';
26
+ export * from './noisefunction4d';
27
+ export * from './simplexnoise';
28
+ export * from './universalterrainmaterial';
29
+ export * from './treebranchmaterial';
30
+ export * from './mousebuttonmode';
31
+ export * from './touchmousebutton';
32
+ export * from './touchjoystickhandler';
33
+ export * from './blendtreeposition';
34
+ export * from './ianimationcurve';
35
+ export * from './channelmixerplugin';
36
+ export * from './universalcharactercontroller';
37
+ export * from './lutblendplugin';
38
+ export * from './iparticlesystemtransform';
39
+ export * from './unityslider';
40
+ export * from './unityscrollbar';
41
+ export * from './unitydropdownmenu';
42
+ export * from './fontmanifestentry';
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC"}
package/lib/index.js ADDED
@@ -0,0 +1,42 @@
1
+ export * from './scenemanager';
2
+ export * from './handedness';
3
+ export * from './playercontrol';
4
+ export * from './xbox360trigger';
5
+ export * from './movementtype';
6
+ export * from './collisioncontact';
7
+ export * from './intersectionprecision';
8
+ export * from './collisionfilters';
9
+ export * from './collisionstate';
10
+ export * from './collisionflags';
11
+ export * from './userinputpointer';
12
+ export * from './triggervolume';
13
+ export * from './roomerrormessage';
14
+ export * from './customloadingscreen';
15
+ export * from './localmessagebus';
16
+ export * from './prefabobjectpool';
17
+ export * from './raycasthitresult';
18
+ export * from './linesmeshrenderer';
19
+ export * from './entitycontroller';
20
+ export * from './recastclassctor';
21
+ export * from './irecastnavigationplugin';
22
+ export * from './perlin2d';
23
+ export * from './randomfn';
24
+ export * from './noisefunction2d';
25
+ export * from './noisefunction3d';
26
+ export * from './noisefunction4d';
27
+ export * from './simplexnoise';
28
+ export * from './universalterrainmaterial';
29
+ export * from './treebranchmaterial';
30
+ export * from './mousebuttonmode';
31
+ export * from './touchmousebutton';
32
+ export * from './touchjoystickhandler';
33
+ export * from './blendtreeposition';
34
+ export * from './ianimationcurve';
35
+ export * from './channelmixerplugin';
36
+ export * from './universalcharactercontroller';
37
+ export * from './lutblendplugin';
38
+ export * from './iparticlesystemtransform';
39
+ export * from './unityslider';
40
+ export * from './unityscrollbar';
41
+ export * from './unitydropdownmenu';
42
+ export * from './fontmanifestentry';
@@ -0,0 +1,5 @@
1
+ export declare enum IntersectionPrecision {
2
+ AABB = 0,
3
+ OBB = 1
4
+ }
5
+ //# sourceMappingURL=intersectionprecision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersectionprecision.d.ts","sourceRoot":"","sources":["../src/intersectionprecision.ts"],"names":[],"mappings":"AACA,oBAAY,qBAAqB;IACzB,IAAI,IAAI;IACR,GAAG,IAAI;CACV"}
@@ -0,0 +1,5 @@
1
+ export var IntersectionPrecision;
2
+ (function (IntersectionPrecision) {
3
+ IntersectionPrecision[IntersectionPrecision["AABB"] = 0] = "AABB";
4
+ IntersectionPrecision[IntersectionPrecision["OBB"] = 1] = "OBB";
5
+ })(IntersectionPrecision || (IntersectionPrecision = {}));
@@ -0,0 +1,9 @@
1
+ import { IParticleSystemVector3 } from './scenemanager';
2
+ export interface IParticleSystemTransform {
3
+ name: string;
4
+ instanceId: number;
5
+ position: IParticleSystemVector3;
6
+ rotation: IParticleSystemVector3;
7
+ scale: IParticleSystemVector3;
8
+ }
9
+ //# sourceMappingURL=iparticlesystemtransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iparticlesystemtransform.d.ts","sourceRoot":"","sources":["../src/iparticlesystemtransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,sBAAsB,CAAC;IACjC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,KAAK,EAAE,sBAAsB,CAAC;CACjC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,92 @@
1
+ export interface IRecastNavigationPlugin {
2
+ isNull?: (v: any) => boolean;
3
+ destroy?: (v: any) => void;
4
+ allocCompactHeightfield?: () => any;
5
+ allocContourSet?: () => any;
6
+ allocHeightfield?: () => any;
7
+ allocHeightfieldLayerSet?: () => any;
8
+ allocPolyMesh?: () => any;
9
+ allocPolyMeshDetail?: () => any;
10
+ buildCompactHeightfield?: (buildContext: any, walkableHeight: number, walkableClimb: number, heightfield: any, compactHeightfield: any) => any;
11
+ buildContours?: (buildContext: any, compactHeightfield: any, maxError: number, maxEdgeLen: number, contourSet: any, buildFlags?: number) => any;
12
+ buildDistanceField?: (buildContext: any, compactHeightfield: any) => any;
13
+ buildHeightfieldLayers?: (buildContext: any, compactHeightfield: any, borderSize: number, walkableHeight: number, heightfieldLayerSet: any) => any;
14
+ buildLayerRegions?: (buildContext: any, compactHeightfield: any, borderSize: number, minRegionArea: number) => any;
15
+ buildPolyMesh?: (buildContext: any, contourSet: any, nvp: number, polyMesh: any) => any;
16
+ buildPolyMeshDetail?: (buildContext: any, mesh: any, compactHeightfield: any, sampleDist: number, sampleMaxError: number, polyMeshDetail: any) => any;
17
+ buildRegions?: (buildContext: any, compactHeightfield: any, borderSize: number, minRegionArea: number, mergeRegionArea: number) => any;
18
+ buildRegionsMonotone?: (buildContext: any, compactHeightfield: any, borderSize: number, minRegionArea: number, mergeRegionArea: number) => any;
19
+ buildTileCacheLayer?: (comp: any, header: any, heights: any, areas: any, cons: any, tileCacheData: any) => any;
20
+ buildTiledNavMeshRcConfig?: (options: {
21
+ recastConfig: any;
22
+ navMeshBounds: [number, number, number, number, number, number];
23
+ }) => any;
24
+ calcBounds?: (verts: number[], nv: number) => any;
25
+ calcGridSize?: (bmin: number[], bmax: number[], cs: number) => any;
26
+ clearUnwalkableTriangles?: (buildContext: any, walkableSlopeAngle: number, verts: number[], nv: number, tris: number[], nt: number, areas: any) => any;
27
+ cloneRcConfig?: (rcConfig: any) => any;
28
+ copyPolyMesh?: (buildContext: any, src: any, dest: any) => any;
29
+ createDefaultTileCacheMeshProcess?: () => any;
30
+ createHeightfield?: (buildContext: any, heightfield: any, width: number, height: number, bmin: number[], bmax: number[], cs: number, ch: number) => any;
31
+ createNavMeshData?: (navMeshCreateParams: any) => any;
32
+ createRcConfig?: (partialConfig: any) => any;
33
+ crowdAgentParamsDefaults?: {
34
+ [key: string]: any;
35
+ };
36
+ dtIlog2?: (v: number) => number;
37
+ dtNextPow2?: (v: number) => number;
38
+ erodeWalkableArea?: (buildContext: any, radius: number, compactHeightfield: any) => any;
39
+ exportNavMesh?: (navMesh: any) => any;
40
+ exportTileCache?: (navMesh: any, tileCache: any) => any;
41
+ filterLedgeSpans?: (buildContext: any, walkableHeight: number, verts: number[], nv: number, tris: number[], nt: number, areas: any) => any;
42
+ filterLowHangingWalkableObstacles?: (buildContext: any, walkableClimb: number, heightfield: any) => any;
43
+ filterWalkableLowHeightSpans?: (buildContext: any, walkableHeight: number, heightfield: any) => any;
44
+ floodFillPruneNavMesh?: (navMesh: any, startPolyRefs: any) => any;
45
+ freeCompactHeightfield?: (compactHeightfield: any) => void;
46
+ freeContourSet?: (contourSet: any) => void;
47
+ freeHeightfield?: (heightfield: any) => void;
48
+ freeHeightfieldLayerSet?: (heightfieldLayerSet: any) => void;
49
+ freePolyMesh?: (polyMesh: any) => void;
50
+ freePolyMeshDetail?: (polyMeshDetail: any) => void;
51
+ generateSoloNavMesh?: (positions: number[], indices: number[], navMeshGeneratorConfig?: any, keepIntermediates?: boolean) => any;
52
+ generateSoloNavMeshData?: (positions: number[], indices: number[], navMeshGeneratorConfig?: any, keepIntermediates?: boolean) => any;
53
+ generateTileCache?: (positions: number[], indices: number[], navMeshGeneratorConfig?: any, keepIntermediates?: boolean) => any;
54
+ generateTileNavMeshData?: (positions: number[], indices: number[], rcConfig: any, chunkyTriMesh: any, tile: number, options?: any, keepIntermediates?: boolean, buildContext?: any) => any;
55
+ generateTiledNavMesh?: (positions: number[], indices: number[], navMeshGeneratorConfig?: any, keepIntermediates?: boolean) => any;
56
+ getBoundingBox?: (positions: number[], indices: number[]) => any;
57
+ getCon?: (compactSpan: any, dir: number) => any;
58
+ getDirForOffset?: (x: number, y: number) => number;
59
+ getDirOffsetX?: (dir: number) => number;
60
+ getDirOffsetY?: (dir: number) => number;
61
+ getHeightFieldSpanCount?: (buildContext: any, heightfield: any) => number;
62
+ getHeightfieldLayerAreas?: (heightfieldLayer: any) => any;
63
+ getHeightfieldLayerCons?: (heightfieldLayer: any) => any;
64
+ getHeightfieldLayerHeights?: (heightfieldLayer: any) => any;
65
+ getNavMeshPositionsAndIndices?: (navMesh: any, flags?: number) => any;
66
+ getRandomSeed?: () => number;
67
+ importNavMesh?: (data: any) => any;
68
+ importTileCache?: (data: any, tileCacheMeshProcess?: any) => any;
69
+ init?: (impl: any) => Promise<any> | any;
70
+ markBoxArea?: (buildContext: any, bmin: number[], bmax: number[], areaId: number, compactHeightfield: any) => any;
71
+ markConvexPolyArea?: (buildContext: any, verts: number[], nverts: number, hmin: number, hmax: number, areaId: number, compactHeightfield: any) => any;
72
+ markCylinderArea?: (buildContext: any, pos: number[], radius: number, height: number, areaId: number, compactHeightfield: any) => any;
73
+ markWalkableTriangles?: (buildContext: any, walkableSlopeAngle: number, verts: number[], nv: number, tris: number[], nt: number, areas: any) => any;
74
+ medianFilterWalkableArea?: (buildContext: any, compactHeightfield: any) => any;
75
+ mergePolyMeshDetails?: (buildContext: any, meshes: any[], out: any) => any;
76
+ mergePolyMeshes?: (buildContext: any, meshes: any[], outPolyMesh: any) => any;
77
+ mergePositionsAndIndices?: (meshes: any[]) => any;
78
+ rasterizeTriangles?: (buildContext: any, verts: number[], nv: number, tris: number[], areas: any, nt: number, heightfield: any, flagMergeThreshold?: number) => any;
79
+ recastConfigDefaults?: Record<string, any>;
80
+ rgbToDuRgba?: (hexColor: string | number) => number;
81
+ setCon?: (compactSpan: any, dir: number, i: number) => any;
82
+ setRandomSeed?: (seed: number) => void;
83
+ soloNavMeshGeneratorConfigDefaults?: Record<string, any>;
84
+ statusDetail?: (status: number, detail: number) => number;
85
+ statusFailed?: (status: number) => boolean;
86
+ statusInProgress?: (status: number) => boolean;
87
+ statusSucceed?: (status: number) => boolean;
88
+ statusToReadableString?: (status: number) => string;
89
+ tileCacheGeneratorConfigDefaults?: Record<string, any>;
90
+ tiledNavMeshGeneratorConfigDefaults?: Record<string, any>;
91
+ }
92
+ //# sourceMappingURL=irecastnavigationplugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irecastnavigationplugin.d.ts","sourceRoot":"","sources":["../src/irecastnavigationplugin.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IAmEhC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAG3B,uBAAuB,CAAC,EAAE,MAAM,GAAG,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,GAAG,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,GAAG,CAAC;IAGhC,uBAAuB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/I,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAChJ,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IACzE,sBAAsB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,GAAG,CAAC;IACnJ,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,GAAG,CAAC;IACnH,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC;IACxF,mBAAmB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,CAAC;IACtJ,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,GAAG,CAAC;IACvI,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,GAAG,CAAC;IAG/I,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/G,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,YAAY,EAAE,GAAG,CAAC;QAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC;IAErI,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,GAAG,CAAC;IAClD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,GAAG,CAAC;IACnE,wBAAwB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IACvJ,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC/D,iCAAiC,CAAC,EAAE,MAAM,GAAG,CAAC;IAC9C,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,GAAG,CAAC;IACxJ,iBAAiB,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,KAAK,GAAG,CAAC;IACtD,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,KAAK,GAAG,CAAC;IAC7C,wBAAwB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IACxF,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,KAAK,GAAG,CAAC;IAGxD,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3I,iCAAiC,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAC;IACxG,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAC;IACpG,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,KAAK,GAAG,CAAC;IAGlE,sBAAsB,CAAC,EAAE,CAAC,kBAAkB,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3D,cAAc,CAAC,EAAE,CAAC,UAAU,EAAE,GAAG,KAAK,IAAI,CAAC;IAC3C,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7C,uBAAuB,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,KAAK,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACvC,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,KAAK,IAAI,CAAC;IAEnD,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;IACjI,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;IACrI,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;IAC/H,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3L,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,sBAAsB,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC;IAElI,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAG,CAAC;IACjE,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,KAAK,GAAG,CAAC;IAChD,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,uBAAuB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,MAAM,CAAC;IAC1E,wBAAwB,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,KAAK,GAAG,CAAC;IAC1D,uBAAuB,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,KAAK,GAAG,CAAC;IACzD,0BAA0B,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,KAAK,GAAG,CAAC;IAC5D,6BAA6B,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IACtE,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;IAE7B,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IACnC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IACjE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAEzC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IAClH,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IACtJ,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IACtI,qBAAqB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC;IACpJ,wBAAwB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,KAAK,GAAG,CAAC;IAE/E,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC3E,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9E,wBAAwB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAElD,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,kBAAkB,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAEpK,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAC;IACpD,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IAC3D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC,kCAAkC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACzD,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAEpD,gCAAgC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACvD,mCAAmC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7D"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Vector3 } from '@babylonjs/core/Maths/math.vector';
2
+ import { Scene } from '@babylonjs/core/scene';
3
+ import { Mesh } from '@babylonjs/core/Meshes/mesh';
4
+ import { LinesMesh } from '@babylonjs/core/Meshes/linesMesh';
5
+ import { Color3 } from '@babylonjs/core/Maths/math.color';
6
+ export declare class LinesMeshRenderer {
7
+ private _numPoints;
8
+ private _pointMesh;
9
+ private _pointSize;
10
+ private _pointType;
11
+ private _linesName;
12
+ private _linesMesh;
13
+ private _babylonScene;
14
+ get pointMesh(): Mesh;
15
+ get linesMesh(): LinesMesh;
16
+ constructor(name: string, scene: Scene, pointType?: number, pointSize?: number);
17
+ dispose(doNotRecurse?: boolean): void;
18
+ hidePoint(hide?: boolean): void;
19
+ drawPoint(position: Vector3): void;
20
+ drawLine(points: Vector3[], color?: Color3): void;
21
+ }
22
+ //# sourceMappingURL=linesmeshrenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linesmeshrenderer.d.ts","sourceRoot":"","sources":["../src/linesmeshrenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAK1D,qBAAa,iBAAiB;IACtB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,aAAa,CAAe;IACpC,IAAW,SAAS,IAAI,IAAI,CAA4B;IACxD,IAAW,SAAS,IAAI,SAAS,CAA4B;gBAC1C,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,GAAE,MAAU,EAAE,SAAS,GAAE,MAAY;IAQtF,OAAO,CAAC,YAAY,GAAE,OAAc,GAAG,IAAI;IAY3C,SAAS,CAAC,IAAI,GAAE,OAAc;IAK9B,SAAS,CAAC,QAAQ,EAAE,OAAO;IAiB3B,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,GAAE,MAAa;CAkB1D"}
@@ -0,0 +1,79 @@
1
+ import { MeshBuilder } from '@babylonjs/core/Meshes/meshBuilder';
2
+ import { Utilities } from './scenemanager';
3
+ import { Tools } from '@babylonjs/core/Misc/tools';
4
+ export class LinesMeshRenderer {
5
+ get pointMesh() { return this._pointMesh; }
6
+ get linesMesh() { return this._linesMesh; }
7
+ constructor(name, scene, pointType = 0, pointSize = 0.5) {
8
+ this._numPoints = -1;
9
+ this._pointMesh = null;
10
+ this._pointSize = 0.5;
11
+ this._pointType = 0;
12
+ this._linesName = "MeshLines";
13
+ this._linesMesh = null;
14
+ this._babylonScene = null;
15
+ this._pointMesh = null;
16
+ this._linesMesh = null;
17
+ this._linesName = name;
18
+ this._babylonScene = scene;
19
+ this._pointType = pointType;
20
+ this._pointSize = pointSize;
21
+ }
22
+ dispose(doNotRecurse = true) {
23
+ this._babylonScene = null;
24
+ this._linesName = null;
25
+ if (this._pointMesh != null) {
26
+ this._pointMesh.dispose(doNotRecurse);
27
+ this._pointMesh = null;
28
+ }
29
+ if (this._linesMesh != null) {
30
+ this._linesMesh.dispose(doNotRecurse);
31
+ this._linesMesh = null;
32
+ }
33
+ }
34
+ hidePoint(hide = true) {
35
+ if (this._pointMesh != null) {
36
+ this._pointMesh.isVisible = !hide;
37
+ }
38
+ }
39
+ drawPoint(position) {
40
+ if (this._pointMesh == null) {
41
+ if (this._pointType === 1) {
42
+ this._pointMesh = MeshBuilder.CreateBox(this._linesName + ".EndPoint", { size: (this._pointSize * 2) }, this._babylonScene);
43
+ this._pointMesh.renderingGroupId = Utilities.DefaultRenderGroup();
44
+ this._pointMesh.visibility = 0.25;
45
+ }
46
+ else {
47
+ this._pointMesh = MeshBuilder.CreateSphere(this._linesName + ".EndPoint", { segments: 24, diameter: (this._pointSize * 2) }, this._babylonScene);
48
+ this._pointMesh.renderingGroupId = Utilities.DefaultRenderGroup();
49
+ this._pointMesh.visibility = 0.25;
50
+ }
51
+ }
52
+ if (this._pointMesh != null) {
53
+ this._pointMesh.isVisible = true;
54
+ this._pointMesh.position.copyFrom(position);
55
+ }
56
+ }
57
+ drawLine(points, color = null) {
58
+ if (this._linesMesh == null) {
59
+ this._numPoints = points.length;
60
+ this._linesMesh = MeshBuilder.CreateLines(this._linesName, { points: points, updatable: true, }, this._babylonScene);
61
+ this._linesMesh.renderingGroupId = Utilities.DefaultRenderGroup();
62
+ if (color != null)
63
+ this._linesMesh.color = color;
64
+ this._linesMesh.refreshBoundingInfo(false);
65
+ }
66
+ else {
67
+ if (points.length === this._numPoints) {
68
+ this._linesMesh = MeshBuilder.CreateLines(this._linesName, { points: points, instance: this._linesMesh }, this._babylonScene);
69
+ this._linesMesh.renderingGroupId = Utilities.DefaultRenderGroup();
70
+ if (color != null)
71
+ this._linesMesh.color = color;
72
+ this._linesMesh.refreshBoundingInfo(false);
73
+ }
74
+ else {
75
+ Tools.Warn("Dynamic line mesh point count mismatch for " + this._linesName);
76
+ }
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,9 @@
1
+ export declare class LocalMessageBus {
2
+ OnMessage<T>(messageName: string, handler: (data: T) => void): void;
3
+ PostMessage(messageName: string, data?: any): void;
4
+ RemoveHandler(messageName: string, handler: (data: any) => void): void;
5
+ ResetHandlers(): void;
6
+ Dispose(): void;
7
+ private ListenerDictionary;
8
+ }
9
+ //# sourceMappingURL=localmessagebus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localmessagebus.d.ts","sourceRoot":"","sources":["../src/localmessagebus.ts"],"names":[],"mappings":"AACA,qBAAa,eAAe;IAMb,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAgBnE,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,GAAE,GAAU,GAAG,IAAI;IAUxD,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAStE,aAAa,IAAI,IAAI;IAGrB,OAAO,IAAI,IAAI;IAGtB,OAAO,CAAC,kBAAkB,CAA+C;CAC5E"}
@@ -0,0 +1,44 @@
1
+ export class LocalMessageBus {
2
+ constructor() {
3
+ this.ListenerDictionary = {};
4
+ }
5
+ OnMessage(messageName, handler) {
6
+ let listeners;
7
+ if (this.ListenerDictionary[messageName] == null) {
8
+ listeners = [];
9
+ this.ListenerDictionary[messageName] = listeners;
10
+ }
11
+ else {
12
+ listeners = this.ListenerDictionary[messageName];
13
+ }
14
+ const index = listeners.findIndex((e) => { return handler == e; });
15
+ if (index < 0)
16
+ listeners.push(handler);
17
+ }
18
+ PostMessage(messageName, data = null) {
19
+ const listeners = this.ListenerDictionary[messageName];
20
+ if (listeners == null)
21
+ return;
22
+ listeners.forEach((listener) => { try {
23
+ if (listener)
24
+ listener(data);
25
+ }
26
+ catch (e) {
27
+ console.warn(e);
28
+ } });
29
+ }
30
+ RemoveHandler(messageName, handler) {
31
+ const listeners = this.ListenerDictionary[messageName];
32
+ if (listeners == null)
33
+ return;
34
+ const index = listeners.findIndex((e) => { return handler == e; });
35
+ if (index >= 0)
36
+ listeners.splice(index, 1);
37
+ }
38
+ ResetHandlers() {
39
+ this.ListenerDictionary = {};
40
+ }
41
+ Dispose() {
42
+ this.ResetHandlers();
43
+ }
44
+ }
@@ -0,0 +1,13 @@
1
+ import { Scene } from '@babylonjs/core/scene';
2
+ import { Camera } from '@babylonjs/core/Cameras/camera';
3
+ import { Texture } from '@babylonjs/core/Materials/Textures/texture';
4
+ import { PostProcess } from '@babylonjs/core';
5
+ export declare class LUTBlendPlugin {
6
+ static CreatePostProcess(scene: Scene, camera: Camera, options?: {
7
+ lutA?: string | Texture;
8
+ lutB?: string | Texture;
9
+ mix?: number;
10
+ }): PostProcess;
11
+ getWGSLShaderCode(): string;
12
+ }
13
+ //# sourceMappingURL=lutblendplugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lutblendplugin.d.ts","sourceRoot":"","sources":["../src/lutblendplugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,4CAA4C,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,qBAAa,cAAc;WAKL,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACpE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,EAAE,MAAM,CAAA;KACf;IA8GM,iBAAiB,IAAI,MAAM;CAiDrC"}
@@ -0,0 +1,153 @@
1
+ import { Texture } from '@babylonjs/core/Materials/Textures/texture';
2
+ import { PostProcess } from '@babylonjs/core';
3
+ export class LUTBlendPlugin {
4
+ static CreatePostProcess(scene, camera, options) {
5
+ const lutA = options?.lutA || null;
6
+ const lutB = options?.lutB || null;
7
+ const mix = options?.mix ?? 0.0;
8
+ const fragment = `
9
+ precision highp float;
10
+ varying vec2 vUV;
11
+ uniform sampler2D textureSampler;
12
+ uniform sampler2D lutA;
13
+ uniform sampler2D lutB;
14
+ uniform float mixVal;
15
+ uniform float lutTileCountA; // number of tiles per row for LUT A
16
+ uniform float lutTileCountB; // number of tiles per row for LUT B
17
+
18
+ vec3 sampleLUT(in sampler2D lut, in vec3 color, in float tileCount) {
19
+ if (tileCount <= 0.5) return color;
20
+ float tc = floor(tileCount + 0.5);
21
+ float tileSize = 1.0 / tc;
22
+
23
+ // For normalized RGB [0..1], compute position in LUT
24
+ float r = color.r;
25
+ float g = color.g;
26
+ float b = color.b;
27
+
28
+ // Determine slice and tile coords
29
+ float slice = b * (tc - 1.0);
30
+ float sliceIndex = floor(slice + 0.5);
31
+
32
+ float tx = mod(sliceIndex, tc);
33
+ float ty = floor(sliceIndex / tc);
34
+
35
+ vec2 uv = vec2(tx * tileSize + r * tileSize, ty * tileSize + g * tileSize);
36
+ vec3 sampled = texture2D(lut, uv).rgb;
37
+ return sampled;
38
+ }
39
+
40
+ void main(void) {
41
+ vec4 sceneColor = texture2D(textureSampler, vUV);
42
+ vec3 a = sceneColor.rgb;
43
+ if (lutTileCountA <= 0.5 || lutTileCountB <= 0.5) {
44
+ // No LUT size provided fallback to passthrough
45
+ gl_FragColor = sceneColor;
46
+ return;
47
+ }
48
+ vec3 colA = sampleLUT(lutA, a, lutTileCountA);
49
+ vec3 colB = sampleLUT(lutB, a, lutTileCountB);
50
+ vec3 outc = mix(colA, colB, mixVal);
51
+ gl_FragColor = vec4(outc, sceneColor.a);
52
+ }
53
+ `;
54
+ const post = new PostProcess("lutBlend", fragment, ["mixVal", "lutTileCountA", "lutTileCountB"], ["lutA", "lutB"], 1.0, camera, Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false);
55
+ function detectTileCountFromDims(w, h) {
56
+ if (!w || !h)
57
+ return 0;
58
+ if (w % h === 0)
59
+ return Math.round(w / h);
60
+ if (h % w === 0)
61
+ return Math.round(h / w);
62
+ if (w === h) {
63
+ const t = Math.round(Math.sqrt(w));
64
+ if (t * t === w)
65
+ return t;
66
+ return Math.round(Math.sqrt(w));
67
+ }
68
+ return Math.round(Math.pow(w * h, 1.0 / 3.0));
69
+ }
70
+ let tileA = 0, tileB = 0;
71
+ post.onApply = (effect) => {
72
+ effect.setFloat('mixVal', mix);
73
+ if (lutA && typeof lutA === 'string') {
74
+ const tA = new Texture(lutA, scene, true, false, Texture.TRILINEAR_SAMPLINGMODE, undefined, undefined, undefined, false);
75
+ tA.onLoadObservable.addOnce(() => {
76
+ tileA = detectTileCountFromDims(tA.getSize ? tA.getSize().width : tA.width, tA.getSize ? tA.getSize().height : tA.height);
77
+ });
78
+ effect.setTexture('lutA', tA);
79
+ }
80
+ else if (lutA instanceof Texture) {
81
+ const tA = lutA;
82
+ tileA = detectTileCountFromDims(tA.getSize ? tA.getSize().width : tA.width, tA.getSize ? tA.getSize().height : tA.height);
83
+ effect.setTexture('lutA', tA);
84
+ }
85
+ if (lutB && typeof lutB === 'string') {
86
+ const tB = new Texture(lutB, scene, true, false, Texture.TRILINEAR_SAMPLINGMODE, undefined, undefined, undefined, false);
87
+ tB.onLoadObservable.addOnce(() => {
88
+ tileB = detectTileCountFromDims(tB.getSize ? tB.getSize().width : tB.width, tB.getSize ? tB.getSize().height : tB.height);
89
+ });
90
+ effect.setTexture('lutB', tB);
91
+ }
92
+ else if (lutB instanceof Texture) {
93
+ const tB = lutB;
94
+ tileB = detectTileCountFromDims(tB.getSize ? tB.getSize().width : tB.width, tB.getSize ? tB.getSize().height : tB.height);
95
+ effect.setTexture('lutB', tB);
96
+ }
97
+ effect.setFloat('lutTileCountA', tileA);
98
+ effect.setFloat('lutTileCountB', tileB);
99
+ };
100
+ post._detectedTileCountA = () => tileA;
101
+ post._detectedTileCountB = () => tileB;
102
+ return post;
103
+ }
104
+ getWGSLShaderCode() {
105
+ return `
106
+ [[group(0), binding(0)]] var textureSampler: texture_2d<f32>;
107
+ [[group(0), binding(1)]] var textureSamplerSampler: sampler;
108
+ [[group(0), binding(2)]] var lutA: texture_2d<f32>;
109
+ [[group(0), binding(3)]] var lutASampler: sampler;
110
+ [[group(0), binding(4)]] var lutB: texture_2d<f32>;
111
+ [[group(0), binding(5)]] var lutBSampler: sampler;
112
+
113
+ [[block]] struct Uniforms {
114
+ mixVal: f32;
115
+ lutTileCountA: f32;
116
+ lutTileCountB: f32;
117
+ };
118
+ [[group(0), binding(6)]] var<uniform> uniforms: Uniforms;
119
+
120
+ fn sampleLUT(lut: texture_2d<f32>, lutSamp: sampler, color: vec3<f32>, tileCount: f32) -> vec3<f32> {
121
+ if (tileCount <= 0.5) { return color; }
122
+ let tc = floor(tileCount + 0.5);
123
+ let tileSize = 1.0 / tc;
124
+
125
+ let r = color.r;
126
+ let g = color.g;
127
+ let b = color.b;
128
+
129
+ let slice = b * (tc - 1.0);
130
+ let sliceIndex = floor(slice + 0.5);
131
+
132
+ let tx = sliceIndex % tc;
133
+ let ty = floor(sliceIndex / tc);
134
+
135
+ let uv = vec2<f32>(tx * tileSize + r * tileSize, ty * tileSize + g * tileSize);
136
+ let sampled = textureSample(lut, lutSamp, uv).rgb;
137
+ return sampled;
138
+ }
139
+
140
+ fn mainImage(vUV: vec2<f32>) -> vec4<f32> {
141
+ let sceneColor = textureSample(textureSampler, textureSamplerSampler, vUV);
142
+ let a = sceneColor.rgb;
143
+ if (uniforms.lutTileCountA <= 0.5 || uniforms.lutTileCountB <= 0.5) {
144
+ return sceneColor;
145
+ }
146
+ let colA = sampleLUT(lutA, lutASampler, a, uniforms.lutTileCountA);
147
+ let colB = sampleLUT(lutB, lutBSampler, a, uniforms.lutTileCountB);
148
+ let outc = mix(colA, colB, uniforms.mixVal);
149
+ return vec4<f32>(outc, sceneColor.a);
150
+ }
151
+ `;
152
+ }
153
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum MouseButtonMode {
2
+ Pan = 0,
3
+ Look = 1,
4
+ Move = 2
5
+ }
6
+ //# sourceMappingURL=mousebuttonmode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mousebuttonmode.d.ts","sourceRoot":"","sources":["../src/mousebuttonmode.ts"],"names":[],"mappings":"AAEA,oBAAY,eAAe;IACnB,GAAG,IAAI;IACP,IAAI,IAAI;IACR,IAAI,IAAI;CACX"}
@@ -0,0 +1,6 @@
1
+ export var MouseButtonMode;
2
+ (function (MouseButtonMode) {
3
+ MouseButtonMode[MouseButtonMode["Pan"] = 0] = "Pan";
4
+ MouseButtonMode[MouseButtonMode["Look"] = 1] = "Look";
5
+ MouseButtonMode[MouseButtonMode["Move"] = 2] = "Move";
6
+ })(MouseButtonMode || (MouseButtonMode = {}));
@@ -0,0 +1,5 @@
1
+ export declare enum MovementType {
2
+ DirectVelocity = 0,
3
+ AppliedForces = 1
4
+ }
5
+ //# sourceMappingURL=movementtype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"movementtype.d.ts","sourceRoot":"","sources":["../src/movementtype.ts"],"names":[],"mappings":"AACA,oBAAY,YAAY;IAChB,cAAc,IAAI;IAClB,aAAa,IAAI;CACpB"}