@layoutit/polycss-vue 0.0.1 → 0.2.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.
- package/README.md +155 -144
- package/dist/index.cjs +208 -18
- package/dist/index.d.cts +1487 -134
- package/dist/index.d.ts +1487 -134
- package/dist/index.js +208 -18
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
2
|
import { PropType, Ref, InjectionKey, VNode, ComputedRef, MaybeRef } from 'vue';
|
|
3
|
-
import { Vec3, CameraState, CameraHandle, Polygon, PolyDirectionalLight, PolyAmbientLight, PolyTextureLightingMode, LoadMeshOptions, PolyMaterial, Vec2, PolyAnimationTarget, PolyAnimationMixer, PolyAnimationClip, PolyAnimationAction, ParseAnimationController } from '@layoutit/polycss-core';
|
|
4
|
-
export { ArrowPolygonsOptions, AutoRotateConfig, AutoRotateOption, AxesHelperOptions, BASE_TILE, CameraHandle, CameraState, CameraStyleInput, CoverPlanarPolygonsOptions, CullInteriorOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, GltfParseOptions, LoadMeshOptions, LoopMode, LoopOnce, LoopPingPong, LoopRepeat, MtlParseResult, NormalizeResult, ObjParseOptions, OctahedronPolygonsOptions, ParseAnimationClip, ParseAnimationController, ParseResult, ParsedColor, PolyAmbientLight, PolyAnimationAction, PolyAnimationClip, PolyAnimationMixer, PolyAnimationTarget, PolyDirectionalLight, PolyMaterial, PolyTextureLightingMode, Polygon, PolygonFace, RingPolygonsOptions, SceneBbox, SceneContext, SceneContextBuildArgs, SceneContextBuildResult, SolidTextureSampleOptions, TexturePaintMetrics, TexturePaintMetricsOptions, TextureTriangle, Vec2, Vec3, VoxParseOptions, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, buildSceneContext, clampChannel, computeSceneBbox, computeShapeLighting, computeTexturePaintMetrics, coverPlanarPolygons, createIsometricCamera, createPolyAnimationMixer, cullInteriorPolygons, formatColor, inverseRotateVec3, loadMesh, mergePolygons, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseVox, polygonFaces, ringPolygons, rotateVec3, shadeColor } from '@layoutit/polycss-core';
|
|
3
|
+
import { Vec3, CameraState, CameraHandle, Polygon, PolyDirectionalLight, PolyAmbientLight, PolyTextureLightingMode, TextureQuality, PolySeamBleed, PolyRenderStrategiesOption, MeshResolution, LoadMeshOptions, ParseResult, PolyMaterial, Vec2, PolyAnimationTarget, PolyAnimationMixer, PolyAnimationClip, PolyAnimationAction, ParseAnimationController } from '@layoutit/polycss-core';
|
|
4
|
+
export { ArrowPolygonsOptions, AutoRotateConfig, AutoRotateOption, AxesHelperOptions, BASE_TILE, BoxFace, BoxFaceOptions, BoxPolygonsOptions, CAMERA_BACKFACE_CULL_EPS, CameraCullNormalGroup, CameraCullRotation, CameraHandle, CameraState, CameraStyleInput, ConePolygonsOptions, CoverPlanarPolygonsOptions, CullInteriorOptions, CylinderPolygonsOptions, DEFAULT_CAMERA_STATE, DEFAULT_PROJECTION, DEFAULT_SEAM_FACET_SPLIT_OPTIONS, DEFAULT_SEAM_OVERLAP_OPTIONS, DodecahedronPolygonsOptions, GltfParseOptions, IcosahedronPolygonsOptions, LoadMeshOptions, LoopMode, LoopOnce, LoopPingPong, LoopRepeat, MeshResolution, MtlParseResult, NormalizeResult, ObjParseOptions, OctahedronPolygonsOptions, OptimizeAnimatedMeshPolygonsOptions, OptimizeMeshPolygonsOptions, ParseAnimationClip, ParseAnimationController, ParseResult, ParsedColor, PlanePolygonsOptions, PolyAmbientLight, PolyAnimationAction, PolyAnimationClip, PolyAnimationMixer, PolyAnimationTarget, PolyDirectionalLight, PolyMaterial, PolyRenderStrategiesOption, PolyRenderStrategy, PolyTextureLightingMode, Polygon, PolygonFace, RingPolygonsOptions, SceneBbox, SceneContext, SceneContextBuildArgs, SceneContextBuildResult, SeamFacetSplitCandidate, SeamFacetSplitCandidateReason, SeamFacetSplitOptions, SeamFacetSplitReport, SeamOverlapCandidate, SeamOverlapCandidateKind, SeamOverlapDiagnostics, SeamOverlapOptions, SolidTextureSampleOptions, TetrahedronPolygonsOptions, TexturePaintMetrics, TexturePaintMetricsOptions, TextureTriangle, TorusPolygonsOptions, VOXEL_CAMERA_CULL_AXIS_EPS, VOXEL_CAMERA_CULL_NORMAL_LIMIT, Vec2, Vec3, VoxParseOptions, arrowPolygons, axesHelperPolygons, bakeSolidTextureSampledPolygons, bakeSolidTextureSamples, boxPolygons, buildSceneContext, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, clampChannel, computeSceneBbox, computeShapeLighting, computeTexturePaintMetrics, conePolygons, coverPlanarPolygons, createIsometricCamera, createPolyAnimationMixer, cullInteriorPolygons, cylinderPolygons, dodecahedronPolygons, formatColor, icosahedronPolygons, inverseRotateVec3, isAxisAlignedSurfaceNormal, isVoxelCameraCullableNormalGroups, loadMesh, mergePolygons, normalFacesCamera, normalizeInvertMultiplier, normalizePolygons, octahedronPolygons, optimizeAnimatedMeshPolygons, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseVox, planePolygons, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, repairMeshSeams, ringPolygons, rotateVec3, seamFacetSplitPolygons, seamFacetSplitReport, seamOverlapDiagnostics, seamOverlapPolygons, seamOverlapReport, shadeColor, tetrahedronPolygons, torusPolygons } from '@layoutit/polycss-core';
|
|
5
5
|
|
|
6
|
-
interface
|
|
6
|
+
interface PolyOrthographicCameraProps {
|
|
7
7
|
zoom?: number;
|
|
8
8
|
target?: Vec3;
|
|
9
9
|
rotX?: number;
|
|
10
10
|
rotY?: number;
|
|
11
11
|
/** Camera pull-back in CSS pixels (dolly). Default 0. */
|
|
12
12
|
distance?: number;
|
|
13
|
-
/** CSS perspective distance in pixels. Defaults to 8000. */
|
|
14
|
-
perspective?: number;
|
|
15
13
|
class?: string;
|
|
16
14
|
}
|
|
17
|
-
declare const
|
|
15
|
+
declare const PolyOrthographicCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
18
16
|
zoom: {
|
|
19
17
|
type: NumberConstructor;
|
|
20
18
|
};
|
|
@@ -30,10 +28,6 @@ declare const PolyPerspectiveCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
30
28
|
distance: {
|
|
31
29
|
type: NumberConstructor;
|
|
32
30
|
};
|
|
33
|
-
perspective: {
|
|
34
|
-
type: NumberConstructor;
|
|
35
|
-
default: undefined;
|
|
36
|
-
};
|
|
37
31
|
class: {
|
|
38
32
|
type: StringConstructor;
|
|
39
33
|
};
|
|
@@ -55,27 +49,23 @@ declare const PolyPerspectiveCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
55
49
|
distance: {
|
|
56
50
|
type: NumberConstructor;
|
|
57
51
|
};
|
|
58
|
-
perspective: {
|
|
59
|
-
type: NumberConstructor;
|
|
60
|
-
default: undefined;
|
|
61
|
-
};
|
|
62
52
|
class: {
|
|
63
53
|
type: StringConstructor;
|
|
64
54
|
};
|
|
65
|
-
}>> & Readonly<{}>, {
|
|
66
|
-
perspective: number;
|
|
67
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
55
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
68
56
|
|
|
69
|
-
interface
|
|
57
|
+
interface PolyPerspectiveCameraProps {
|
|
70
58
|
zoom?: number;
|
|
71
59
|
target?: Vec3;
|
|
72
60
|
rotX?: number;
|
|
73
61
|
rotY?: number;
|
|
74
62
|
/** Camera pull-back in CSS pixels (dolly). Default 0. */
|
|
75
63
|
distance?: number;
|
|
64
|
+
/** CSS perspective distance in pixels. Defaults to 8000. */
|
|
65
|
+
perspective?: number;
|
|
76
66
|
class?: string;
|
|
77
67
|
}
|
|
78
|
-
declare const
|
|
68
|
+
declare const PolyPerspectiveCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
79
69
|
zoom: {
|
|
80
70
|
type: NumberConstructor;
|
|
81
71
|
};
|
|
@@ -91,6 +81,10 @@ declare const PolyOrthographicCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
91
81
|
distance: {
|
|
92
82
|
type: NumberConstructor;
|
|
93
83
|
};
|
|
84
|
+
perspective: {
|
|
85
|
+
type: NumberConstructor;
|
|
86
|
+
default: undefined;
|
|
87
|
+
};
|
|
94
88
|
class: {
|
|
95
89
|
type: StringConstructor;
|
|
96
90
|
};
|
|
@@ -112,13 +106,19 @@ declare const PolyOrthographicCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
112
106
|
distance: {
|
|
113
107
|
type: NumberConstructor;
|
|
114
108
|
};
|
|
109
|
+
perspective: {
|
|
110
|
+
type: NumberConstructor;
|
|
111
|
+
default: undefined;
|
|
112
|
+
};
|
|
115
113
|
class: {
|
|
116
114
|
type: StringConstructor;
|
|
117
115
|
};
|
|
118
|
-
}>> & Readonly<{}>, {
|
|
116
|
+
}>> & Readonly<{}>, {
|
|
117
|
+
perspective: number;
|
|
118
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
119
119
|
|
|
120
120
|
/**
|
|
121
|
-
* Lightweight reactive store for
|
|
121
|
+
* Lightweight reactive store for PolyCSS scene state.
|
|
122
122
|
* Components subscribe to specific slices via selectors,
|
|
123
123
|
* so only the components that care about a changed value re-render.
|
|
124
124
|
*/
|
|
@@ -154,6 +154,12 @@ interface UseCameraResult {
|
|
|
154
154
|
* versions and can't preventDefault).
|
|
155
155
|
*/
|
|
156
156
|
cameraElRef: Ref<HTMLDivElement | null>;
|
|
157
|
+
/**
|
|
158
|
+
* Bbox-center of all centerable meshes in world coords. Written by
|
|
159
|
+
* <PolyScene> when autoCenter is enabled. Read by applyTransformDirect
|
|
160
|
+
* to fold the offset into the scene transform without a DOM wrapper.
|
|
161
|
+
*/
|
|
162
|
+
autoCenterOffset: Ref<Vec3>;
|
|
157
163
|
/**
|
|
158
164
|
* Apply the current camera state (from cameraRef.value.state) directly
|
|
159
165
|
* to sceneEl.style.transform. Exposed so layered components like
|
|
@@ -172,6 +178,14 @@ interface PolyCameraContextValue {
|
|
|
172
178
|
* <PolyControls> can attach pointer/wheel listeners.
|
|
173
179
|
*/
|
|
174
180
|
cameraElRef: Ref<HTMLElement | null>;
|
|
181
|
+
/**
|
|
182
|
+
* Bbox-center of all centerable meshes in world coords, written by
|
|
183
|
+
* <PolyScene> when `autoCenter` is enabled. `applyTransformDirect`
|
|
184
|
+
* folds this into the innermost translate3d alongside `target` so the
|
|
185
|
+
* camera orbits the model's visible center without adding a DOM wrapper.
|
|
186
|
+
* Kept separate from `target` so user pan survives mesh add/remove.
|
|
187
|
+
*/
|
|
188
|
+
autoCenterOffset: Ref<Vec3>;
|
|
175
189
|
/**
|
|
176
190
|
* Apply the current camera state (from cameraRef.value.state) directly
|
|
177
191
|
* to sceneEl.style.transform. Layered components call this after
|
|
@@ -181,7 +195,26 @@ interface PolyCameraContextValue {
|
|
|
181
195
|
}
|
|
182
196
|
declare const PolyCameraContextKey: InjectionKey<PolyCameraContextValue>;
|
|
183
197
|
|
|
184
|
-
|
|
198
|
+
/**
|
|
199
|
+
* PolySceneContext — propagates scene-level rendering options
|
|
200
|
+
* (textureLighting + lights) to descendants. PolyMesh / Poly children
|
|
201
|
+
* inherit these as fallbacks when their own equivalent props are
|
|
202
|
+
* undefined, so a helper rendered inside `<PolyScene texture-lighting="dynamic">`
|
|
203
|
+
* picks up the dynamic mode automatically (per-polygon normal vars + mask).
|
|
204
|
+
*/
|
|
205
|
+
|
|
206
|
+
interface PolyShadowOptions {
|
|
207
|
+
color?: string;
|
|
208
|
+
opacity?: number;
|
|
209
|
+
lift?: number;
|
|
210
|
+
/**
|
|
211
|
+
* Maximum CSS pixels the shadow may extend beyond the mesh's
|
|
212
|
+
* footprint. Caps the SVG backing store at low light elevations to
|
|
213
|
+
* prevent repaint flicker. Default: `2000`. Pass `Infinity` to
|
|
214
|
+
* disable the cap entirely.
|
|
215
|
+
*/
|
|
216
|
+
maxExtend?: number;
|
|
217
|
+
}
|
|
185
218
|
|
|
186
219
|
interface PolySceneProps {
|
|
187
220
|
polygons?: Polygon[];
|
|
@@ -192,8 +225,15 @@ interface PolySceneProps {
|
|
|
192
225
|
directionalLight?: PolyDirectionalLight;
|
|
193
226
|
ambientLight?: PolyAmbientLight;
|
|
194
227
|
textureLighting?: PolyTextureLightingMode;
|
|
195
|
-
/**
|
|
196
|
-
|
|
228
|
+
/** Atlas bitmap budget and CSS sprite size. `"auto"` (default) uses a
|
|
229
|
+
* device-appropriate memory budget (~4 MB mobile / ~16 MB desktop) and
|
|
230
|
+
* desktop/mobile sprite sizing. Numeric values 0.1..1 force an explicit
|
|
231
|
+
* raster scale and the 64px sprite. */
|
|
232
|
+
textureQuality?: TextureQuality;
|
|
233
|
+
/** Solid seam overscan. `"auto"` computes a fitted per-edge amount from the polygon plan. */
|
|
234
|
+
seamBleed?: PolySeamBleed;
|
|
235
|
+
/** Opt out of specific render strategies. Disabled strategies fall through the chain (b→i→s, u→i→s, i→s). `<s>` cannot be disabled. */
|
|
236
|
+
strategies?: PolyRenderStrategiesOption;
|
|
197
237
|
/**
|
|
198
238
|
* When `true`, rotation pivots around the mesh's bbox center instead of
|
|
199
239
|
* world (0,0,0). Polygon data is not mutated — a wrapper div translates
|
|
@@ -201,6 +241,14 @@ interface PolySceneProps {
|
|
|
201
241
|
* Mirrors React's PolyScene autoCenter prop.
|
|
202
242
|
*/
|
|
203
243
|
autoCenter?: boolean;
|
|
244
|
+
/**
|
|
245
|
+
* Shadow appearance for meshes with `castShadow: true`. Works in both
|
|
246
|
+
* lighting modes — dynamic mode projects via CSS vars so shadows
|
|
247
|
+
* follow a moving light, baked mode CPU-bakes the projection into
|
|
248
|
+
* each leaf's inline `matrix3d` and drops back-facing polys from the
|
|
249
|
+
* DOM entirely. Defaults: `{ color: "#000000", opacity: 0.25, lift: 0.05, maxExtend: 2000 }`.
|
|
250
|
+
*/
|
|
251
|
+
shadow?: PolyShadowOptions;
|
|
204
252
|
class?: string;
|
|
205
253
|
position?: Vec3;
|
|
206
254
|
scale?: number | Vec3;
|
|
@@ -237,14 +285,26 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
237
285
|
type: PropType<PolyTextureLightingMode>;
|
|
238
286
|
default: string;
|
|
239
287
|
};
|
|
240
|
-
|
|
241
|
-
type: PropType<
|
|
288
|
+
textureQuality: {
|
|
289
|
+
type: PropType<TextureQuality>;
|
|
290
|
+
default: undefined;
|
|
291
|
+
};
|
|
292
|
+
seamBleed: {
|
|
293
|
+
type: PropType<PolySeamBleed>;
|
|
294
|
+
default: undefined;
|
|
295
|
+
};
|
|
296
|
+
strategies: {
|
|
297
|
+
type: PropType<PolyRenderStrategiesOption>;
|
|
242
298
|
default: undefined;
|
|
243
299
|
};
|
|
244
300
|
autoCenter: {
|
|
245
301
|
type: BooleanConstructor;
|
|
246
302
|
default: boolean;
|
|
247
303
|
};
|
|
304
|
+
shadow: {
|
|
305
|
+
type: PropType<PolyShadowOptions>;
|
|
306
|
+
default: undefined;
|
|
307
|
+
};
|
|
248
308
|
class: {
|
|
249
309
|
type: StringConstructor;
|
|
250
310
|
};
|
|
@@ -297,14 +357,26 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
297
357
|
type: PropType<PolyTextureLightingMode>;
|
|
298
358
|
default: string;
|
|
299
359
|
};
|
|
300
|
-
|
|
301
|
-
type: PropType<
|
|
360
|
+
textureQuality: {
|
|
361
|
+
type: PropType<TextureQuality>;
|
|
362
|
+
default: undefined;
|
|
363
|
+
};
|
|
364
|
+
seamBleed: {
|
|
365
|
+
type: PropType<PolySeamBleed>;
|
|
366
|
+
default: undefined;
|
|
367
|
+
};
|
|
368
|
+
strategies: {
|
|
369
|
+
type: PropType<PolyRenderStrategiesOption>;
|
|
302
370
|
default: undefined;
|
|
303
371
|
};
|
|
304
372
|
autoCenter: {
|
|
305
373
|
type: BooleanConstructor;
|
|
306
374
|
default: boolean;
|
|
307
375
|
};
|
|
376
|
+
shadow: {
|
|
377
|
+
type: PropType<PolyShadowOptions>;
|
|
378
|
+
default: undefined;
|
|
379
|
+
};
|
|
308
380
|
class: {
|
|
309
381
|
type: StringConstructor;
|
|
310
382
|
};
|
|
@@ -331,10 +403,13 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
331
403
|
textureLighting: PolyTextureLightingMode;
|
|
332
404
|
position: Vec3;
|
|
333
405
|
scale: number | Vec3;
|
|
334
|
-
atlasScale: AtlasScale;
|
|
335
406
|
polygons: Polygon[];
|
|
336
407
|
ambientLight: PolyAmbientLight;
|
|
408
|
+
textureQuality: TextureQuality;
|
|
409
|
+
seamBleed: PolySeamBleed;
|
|
410
|
+
strategies: PolyRenderStrategiesOption;
|
|
337
411
|
autoCenter: boolean;
|
|
412
|
+
shadow: PolyShadowOptions;
|
|
338
413
|
rotation: Vec3;
|
|
339
414
|
debugShowLabels: boolean;
|
|
340
415
|
debugShowBackfaces: boolean;
|
|
@@ -343,7 +418,7 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
343
418
|
/**
|
|
344
419
|
* Pointer event API for `<PolyMesh>` (Vue). Mirrors @react-three/fiber's
|
|
345
420
|
* mesh event surface (handler names + payload shape) so devs migrating
|
|
346
|
-
* from three.js use the same mental model.
|
|
421
|
+
* from three.js use the same mental model. PolyCSS is DOM-native so
|
|
347
422
|
* we get native pointer events for free — no raycaster, no canvas
|
|
348
423
|
* event synthesis.
|
|
349
424
|
*
|
|
@@ -365,6 +440,21 @@ interface PolyMeshHandle {
|
|
|
365
440
|
getRotation(): Vec3 | undefined;
|
|
366
441
|
getScale(): number | Vec3 | undefined;
|
|
367
442
|
getPolygons(): Polygon[];
|
|
443
|
+
/**
|
|
444
|
+
* Replace the mesh polygons imperatively. Animated solid-triangle meshes use
|
|
445
|
+
* a stable DOM update path that mutates mounted leaves directly; unsupported
|
|
446
|
+
* topology falls back to the normal framework render path.
|
|
447
|
+
*/
|
|
448
|
+
setPolygons(polygons: Polygon[]): void;
|
|
449
|
+
/**
|
|
450
|
+
* Update a single polygon in place. `target` is either a polygon
|
|
451
|
+
* reference (as returned by `getPolygons()`) or its index. `partial`
|
|
452
|
+
* fields are merged onto the polygon; the mesh is then re-rendered.
|
|
453
|
+
* Skips the merge pass, so this is cheaper than replacing the
|
|
454
|
+
* `polygons` prop for targeted edits like color picker updates from
|
|
455
|
+
* an inspector UI. Silently no-ops if `target` isn't found.
|
|
456
|
+
*/
|
|
457
|
+
updatePolygon(target: Polygon | number, partial: Partial<Polygon>): void;
|
|
368
458
|
/**
|
|
369
459
|
* Re-rasterize the baked texture atlas using the mesh's current rotation.
|
|
370
460
|
*
|
|
@@ -436,8 +526,24 @@ interface PolyMeshProps extends InteractionProps {
|
|
|
436
526
|
polygons?: Polygon[];
|
|
437
527
|
autoCenter?: boolean;
|
|
438
528
|
textureLighting?: PolyTextureLightingMode;
|
|
439
|
-
/**
|
|
440
|
-
|
|
529
|
+
/** Atlas bitmap budget and CSS sprite size. `"auto"` (default) uses a
|
|
530
|
+
* device-appropriate memory budget (~4 MB mobile / ~16 MB desktop) and
|
|
531
|
+
* desktop/mobile sprite sizing. Numeric values 0.1..1 force an explicit
|
|
532
|
+
* raster scale and the 64px sprite. */
|
|
533
|
+
textureQuality?: TextureQuality;
|
|
534
|
+
/** Solid seam overscan. `"auto"` computes a fitted per-edge amount from the polygon plan. */
|
|
535
|
+
seamBleed?: PolySeamBleed;
|
|
536
|
+
/**
|
|
537
|
+
* When `true` and the scene is in dynamic lighting mode, the renderer emits
|
|
538
|
+
* a flat shadow leaf sibling for each non-duplicate polygon. The shadow is
|
|
539
|
+
* projected onto the ground plane along the CSS-space light direction.
|
|
540
|
+
* Defaults to `false`.
|
|
541
|
+
*/
|
|
542
|
+
castShadow?: boolean;
|
|
543
|
+
/** Mesh optimization intent. Defaults to "lossy"; set "lossless" to keep
|
|
544
|
+
* authored surface fidelity. Top-level prop wins over any meshResolution
|
|
545
|
+
* that might be set inside parseOptions. */
|
|
546
|
+
meshResolution?: MeshResolution;
|
|
441
547
|
class?: string;
|
|
442
548
|
position?: Vec3;
|
|
443
549
|
scale?: number | Vec3;
|
|
@@ -468,8 +574,20 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
468
574
|
type: PropType<PolyTextureLightingMode>;
|
|
469
575
|
default: undefined;
|
|
470
576
|
};
|
|
471
|
-
|
|
472
|
-
type: PropType<
|
|
577
|
+
textureQuality: {
|
|
578
|
+
type: PropType<TextureQuality>;
|
|
579
|
+
default: undefined;
|
|
580
|
+
};
|
|
581
|
+
seamBleed: {
|
|
582
|
+
type: PropType<PolySeamBleed>;
|
|
583
|
+
default: undefined;
|
|
584
|
+
};
|
|
585
|
+
castShadow: {
|
|
586
|
+
type: PropType<boolean>;
|
|
587
|
+
default: boolean;
|
|
588
|
+
};
|
|
589
|
+
meshResolution: {
|
|
590
|
+
type: PropType<MeshResolution>;
|
|
473
591
|
default: undefined;
|
|
474
592
|
};
|
|
475
593
|
class: {
|
|
@@ -562,8 +680,20 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
562
680
|
type: PropType<PolyTextureLightingMode>;
|
|
563
681
|
default: undefined;
|
|
564
682
|
};
|
|
565
|
-
|
|
566
|
-
type: PropType<
|
|
683
|
+
textureQuality: {
|
|
684
|
+
type: PropType<TextureQuality>;
|
|
685
|
+
default: undefined;
|
|
686
|
+
};
|
|
687
|
+
seamBleed: {
|
|
688
|
+
type: PropType<PolySeamBleed>;
|
|
689
|
+
default: undefined;
|
|
690
|
+
};
|
|
691
|
+
castShadow: {
|
|
692
|
+
type: PropType<boolean>;
|
|
693
|
+
default: boolean;
|
|
694
|
+
};
|
|
695
|
+
meshResolution: {
|
|
696
|
+
type: PropType<MeshResolution>;
|
|
567
697
|
default: undefined;
|
|
568
698
|
};
|
|
569
699
|
class: {
|
|
@@ -635,13 +765,16 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
635
765
|
textureLighting: PolyTextureLightingMode;
|
|
636
766
|
position: Vec3;
|
|
637
767
|
scale: number | Vec3;
|
|
638
|
-
atlasScale: AtlasScale;
|
|
639
768
|
polygons: Polygon[];
|
|
769
|
+
textureQuality: TextureQuality;
|
|
770
|
+
seamBleed: PolySeamBleed;
|
|
640
771
|
autoCenter: boolean;
|
|
641
772
|
rotation: Vec3;
|
|
642
773
|
id: string;
|
|
643
774
|
src: string;
|
|
644
775
|
mtl: string;
|
|
776
|
+
castShadow: boolean;
|
|
777
|
+
meshResolution: MeshResolution;
|
|
645
778
|
onContextMenu: PolyEventHandler<MouseEvent>;
|
|
646
779
|
onDoubleClick: PolyEventHandler<MouseEvent>;
|
|
647
780
|
onPointerDown: PolyEventHandler<PointerEvent>;
|
|
@@ -654,6 +787,70 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
654
787
|
onPointerCancel: PolyEventHandler<PointerEvent>;
|
|
655
788
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
656
789
|
|
|
790
|
+
interface PolyGroundProps {
|
|
791
|
+
/** Side length of the ground quad in world units. Default `6`. */
|
|
792
|
+
size?: number;
|
|
793
|
+
/** World-space Z (floor height). Default `0`. */
|
|
794
|
+
z?: number;
|
|
795
|
+
/** World-space XY center. Default `[0, 0]`. */
|
|
796
|
+
center?: [number, number];
|
|
797
|
+
/** Fill color. Default `#7d848e` — medium gray, chosen so 25% black `<q>`
|
|
798
|
+
* shadow leaves on top have visible contrast against it. */
|
|
799
|
+
color?: string;
|
|
800
|
+
class?: string;
|
|
801
|
+
}
|
|
802
|
+
declare const PolyGround: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
803
|
+
size: {
|
|
804
|
+
type: NumberConstructor;
|
|
805
|
+
default: number;
|
|
806
|
+
};
|
|
807
|
+
z: {
|
|
808
|
+
type: NumberConstructor;
|
|
809
|
+
default: number;
|
|
810
|
+
};
|
|
811
|
+
center: {
|
|
812
|
+
type: PropType<[number, number]>;
|
|
813
|
+
default: () => number[];
|
|
814
|
+
};
|
|
815
|
+
color: {
|
|
816
|
+
type: StringConstructor;
|
|
817
|
+
default: string;
|
|
818
|
+
};
|
|
819
|
+
class: {
|
|
820
|
+
type: StringConstructor;
|
|
821
|
+
default: undefined;
|
|
822
|
+
};
|
|
823
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
824
|
+
[key: string]: any;
|
|
825
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
826
|
+
size: {
|
|
827
|
+
type: NumberConstructor;
|
|
828
|
+
default: number;
|
|
829
|
+
};
|
|
830
|
+
z: {
|
|
831
|
+
type: NumberConstructor;
|
|
832
|
+
default: number;
|
|
833
|
+
};
|
|
834
|
+
center: {
|
|
835
|
+
type: PropType<[number, number]>;
|
|
836
|
+
default: () => number[];
|
|
837
|
+
};
|
|
838
|
+
color: {
|
|
839
|
+
type: StringConstructor;
|
|
840
|
+
default: string;
|
|
841
|
+
};
|
|
842
|
+
class: {
|
|
843
|
+
type: StringConstructor;
|
|
844
|
+
default: undefined;
|
|
845
|
+
};
|
|
846
|
+
}>> & Readonly<{}>, {
|
|
847
|
+
class: string;
|
|
848
|
+
color: string;
|
|
849
|
+
size: number;
|
|
850
|
+
center: [number, number];
|
|
851
|
+
z: number;
|
|
852
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
853
|
+
|
|
657
854
|
interface UseSceneContextOptions {
|
|
658
855
|
directionalLight?: PolyDirectionalLight;
|
|
659
856
|
}
|
|
@@ -665,7 +862,7 @@ interface UseSceneContextResult {
|
|
|
665
862
|
};
|
|
666
863
|
}
|
|
667
864
|
/**
|
|
668
|
-
* Vue 3 composable that runs the
|
|
865
|
+
* Vue 3 composable that runs the PolyCSS scene-context pipeline:
|
|
669
866
|
* normalizePolygons → mergePolygons by default → bbox compute.
|
|
670
867
|
*
|
|
671
868
|
* Returns a Ref to the processed polygons + the scene-wide axis-aligned bbox.
|
|
@@ -676,6 +873,7 @@ declare function usePolySceneContext(polygons: Ref<Polygon[]>, options: Ref<UseS
|
|
|
676
873
|
type UseMeshOptions = LoadMeshOptions;
|
|
677
874
|
interface UseMeshResult {
|
|
678
875
|
polygons: Ref<Polygon[]>;
|
|
876
|
+
voxelSource: Ref<ParseResult["voxelSource"]>;
|
|
679
877
|
loading: Ref<boolean>;
|
|
680
878
|
error: Ref<Error | null>;
|
|
681
879
|
warnings: Ref<string[]>;
|
|
@@ -705,7 +903,7 @@ interface PolyContext {
|
|
|
705
903
|
layerElevation?: number;
|
|
706
904
|
directionalLight?: PolyDirectionalLight;
|
|
707
905
|
textureLighting?: PolyTextureLightingMode;
|
|
708
|
-
|
|
906
|
+
textureQuality?: TextureQuality;
|
|
709
907
|
debugShowBackfaces?: boolean;
|
|
710
908
|
[key: string]: unknown;
|
|
711
909
|
}
|
|
@@ -724,8 +922,9 @@ interface PolyProps {
|
|
|
724
922
|
rotation?: Vec3;
|
|
725
923
|
context?: PolyContext;
|
|
726
924
|
textureLighting?: PolyTextureLightingMode;
|
|
727
|
-
/**
|
|
728
|
-
|
|
925
|
+
/** Atlas bitmap budget and CSS sprite size. `"auto"` (default) uses a
|
|
926
|
+
* device-appropriate memory budget and desktop/mobile sprite sizing. */
|
|
927
|
+
textureQuality?: TextureQuality;
|
|
729
928
|
baseColor?: string;
|
|
730
929
|
pointerEvents?: "auto" | "none";
|
|
731
930
|
}
|
|
@@ -768,8 +967,8 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
768
967
|
type: PropType<PolyTextureLightingMode>;
|
|
769
968
|
default: undefined;
|
|
770
969
|
};
|
|
771
|
-
|
|
772
|
-
type: PropType<
|
|
970
|
+
textureQuality: {
|
|
971
|
+
type: PropType<TextureQuality>;
|
|
773
972
|
default: undefined;
|
|
774
973
|
};
|
|
775
974
|
context: {
|
|
@@ -824,8 +1023,8 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
824
1023
|
type: PropType<PolyTextureLightingMode>;
|
|
825
1024
|
default: undefined;
|
|
826
1025
|
};
|
|
827
|
-
|
|
828
|
-
type: PropType<
|
|
1026
|
+
textureQuality: {
|
|
1027
|
+
type: PropType<TextureQuality>;
|
|
829
1028
|
default: undefined;
|
|
830
1029
|
};
|
|
831
1030
|
context: {
|
|
@@ -842,120 +1041,1046 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
842
1041
|
}>> & Readonly<{}>, {
|
|
843
1042
|
data: Record<string, string | number | boolean>;
|
|
844
1043
|
pointerEvents: "none" | "auto";
|
|
845
|
-
uvs: Vec2[];
|
|
846
1044
|
textureLighting: PolyTextureLightingMode;
|
|
847
1045
|
position: Vec3;
|
|
848
1046
|
scale: number | Vec3;
|
|
849
|
-
|
|
1047
|
+
textureQuality: TextureQuality;
|
|
850
1048
|
rotation: Vec3;
|
|
851
1049
|
material: PolyMaterial;
|
|
1050
|
+
uvs: Vec2[];
|
|
852
1051
|
context: PolyContext;
|
|
853
1052
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
854
1053
|
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
}
|
|
860
|
-
interface PolyOrbitControlsCamera {
|
|
861
|
-
rotX: number;
|
|
862
|
-
rotY: number;
|
|
863
|
-
zoom: number;
|
|
864
|
-
target: Vec3;
|
|
865
|
-
distance: number;
|
|
866
|
-
}
|
|
867
|
-
interface PolyOrbitControlsProps {
|
|
868
|
-
drag?: boolean;
|
|
869
|
-
wheel?: boolean;
|
|
870
|
-
/** When true, wheel changes camera pull-back (distance) instead of zoom scale. */
|
|
871
|
-
dolly?: boolean;
|
|
872
|
-
invert?: boolean | number;
|
|
873
|
-
/** Minimum zoom multiplier (zoom mode). Default 0.1. */
|
|
874
|
-
minZoom?: number;
|
|
875
|
-
/** Maximum zoom multiplier (zoom mode). Default 10. */
|
|
876
|
-
maxZoom?: number;
|
|
877
|
-
/** Minimum camera pull-back in CSS pixels when dolly=true. Default 0. */
|
|
878
|
-
minDistance?: number;
|
|
879
|
-
/** Maximum camera pull-back in CSS pixels when dolly=true. Default 5000. */
|
|
880
|
-
maxDistance?: number;
|
|
881
|
-
animate?: false | PolyControlsAnimateOptions;
|
|
882
|
-
}
|
|
883
|
-
declare const PolyOrbitControls: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
884
|
-
drag: {
|
|
885
|
-
type: BooleanConstructor;
|
|
886
|
-
default: boolean;
|
|
1054
|
+
declare const PolyBox: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1055
|
+
size: {
|
|
1056
|
+
type: PropType<number | Vec3>;
|
|
1057
|
+
default: undefined;
|
|
887
1058
|
};
|
|
888
|
-
|
|
889
|
-
type:
|
|
890
|
-
default:
|
|
1059
|
+
center: {
|
|
1060
|
+
type: PropType<Vec3>;
|
|
1061
|
+
default: undefined;
|
|
891
1062
|
};
|
|
892
|
-
|
|
893
|
-
type:
|
|
894
|
-
default:
|
|
1063
|
+
min: {
|
|
1064
|
+
type: PropType<Vec3>;
|
|
1065
|
+
default: undefined;
|
|
895
1066
|
};
|
|
896
|
-
|
|
897
|
-
type: PropType<
|
|
898
|
-
default:
|
|
1067
|
+
max: {
|
|
1068
|
+
type: PropType<Vec3>;
|
|
1069
|
+
default: undefined;
|
|
899
1070
|
};
|
|
900
|
-
|
|
901
|
-
type:
|
|
902
|
-
default:
|
|
1071
|
+
color: {
|
|
1072
|
+
type: StringConstructor;
|
|
1073
|
+
default: undefined;
|
|
903
1074
|
};
|
|
904
|
-
|
|
905
|
-
type:
|
|
906
|
-
default:
|
|
1075
|
+
texture: {
|
|
1076
|
+
type: StringConstructor;
|
|
1077
|
+
default: undefined;
|
|
907
1078
|
};
|
|
908
|
-
|
|
909
|
-
type:
|
|
910
|
-
default:
|
|
1079
|
+
position: {
|
|
1080
|
+
type: PropType<Vec3>;
|
|
1081
|
+
default: undefined;
|
|
911
1082
|
};
|
|
912
|
-
|
|
913
|
-
type:
|
|
914
|
-
default:
|
|
1083
|
+
scale: {
|
|
1084
|
+
type: PropType<number | Vec3>;
|
|
1085
|
+
default: undefined;
|
|
915
1086
|
};
|
|
916
|
-
|
|
917
|
-
type: PropType<
|
|
918
|
-
default:
|
|
1087
|
+
rotation: {
|
|
1088
|
+
type: PropType<Vec3>;
|
|
1089
|
+
default: undefined;
|
|
919
1090
|
};
|
|
920
|
-
|
|
921
|
-
change: (_camera: PolyOrbitControlsCamera) => true;
|
|
922
|
-
"interaction-start": (_camera: PolyOrbitControlsCamera) => true;
|
|
923
|
-
"interaction-end": (_camera: PolyOrbitControlsCamera) => true;
|
|
924
|
-
}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
925
|
-
drag: {
|
|
1091
|
+
autoCenter: {
|
|
926
1092
|
type: BooleanConstructor;
|
|
927
1093
|
default: boolean;
|
|
928
1094
|
};
|
|
929
|
-
|
|
930
|
-
type:
|
|
931
|
-
default:
|
|
1095
|
+
id: {
|
|
1096
|
+
type: StringConstructor;
|
|
1097
|
+
default: undefined;
|
|
932
1098
|
};
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
1099
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1100
|
+
[key: string]: any;
|
|
1101
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1102
|
+
size: {
|
|
1103
|
+
type: PropType<number | Vec3>;
|
|
1104
|
+
default: undefined;
|
|
936
1105
|
};
|
|
937
|
-
|
|
938
|
-
type: PropType<
|
|
939
|
-
default:
|
|
1106
|
+
center: {
|
|
1107
|
+
type: PropType<Vec3>;
|
|
1108
|
+
default: undefined;
|
|
940
1109
|
};
|
|
941
|
-
|
|
942
|
-
type:
|
|
943
|
-
default:
|
|
1110
|
+
min: {
|
|
1111
|
+
type: PropType<Vec3>;
|
|
1112
|
+
default: undefined;
|
|
944
1113
|
};
|
|
945
|
-
|
|
946
|
-
type:
|
|
947
|
-
default:
|
|
1114
|
+
max: {
|
|
1115
|
+
type: PropType<Vec3>;
|
|
1116
|
+
default: undefined;
|
|
948
1117
|
};
|
|
949
|
-
|
|
950
|
-
type:
|
|
951
|
-
default:
|
|
1118
|
+
color: {
|
|
1119
|
+
type: StringConstructor;
|
|
1120
|
+
default: undefined;
|
|
952
1121
|
};
|
|
953
|
-
|
|
954
|
-
type:
|
|
955
|
-
default:
|
|
1122
|
+
texture: {
|
|
1123
|
+
type: StringConstructor;
|
|
1124
|
+
default: undefined;
|
|
956
1125
|
};
|
|
957
|
-
|
|
958
|
-
type: PropType<
|
|
1126
|
+
position: {
|
|
1127
|
+
type: PropType<Vec3>;
|
|
1128
|
+
default: undefined;
|
|
1129
|
+
};
|
|
1130
|
+
scale: {
|
|
1131
|
+
type: PropType<number | Vec3>;
|
|
1132
|
+
default: undefined;
|
|
1133
|
+
};
|
|
1134
|
+
rotation: {
|
|
1135
|
+
type: PropType<Vec3>;
|
|
1136
|
+
default: undefined;
|
|
1137
|
+
};
|
|
1138
|
+
autoCenter: {
|
|
1139
|
+
type: BooleanConstructor;
|
|
1140
|
+
default: boolean;
|
|
1141
|
+
};
|
|
1142
|
+
id: {
|
|
1143
|
+
type: StringConstructor;
|
|
1144
|
+
default: undefined;
|
|
1145
|
+
};
|
|
1146
|
+
}>> & Readonly<{}>, {
|
|
1147
|
+
color: string;
|
|
1148
|
+
size: number | Vec3;
|
|
1149
|
+
center: Vec3;
|
|
1150
|
+
position: Vec3;
|
|
1151
|
+
scale: number | Vec3;
|
|
1152
|
+
autoCenter: boolean;
|
|
1153
|
+
rotation: Vec3;
|
|
1154
|
+
texture: string;
|
|
1155
|
+
id: string;
|
|
1156
|
+
min: Vec3;
|
|
1157
|
+
max: Vec3;
|
|
1158
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1159
|
+
declare const PolyPlane: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1160
|
+
axis: {
|
|
1161
|
+
type: PropType<0 | 1 | 2>;
|
|
1162
|
+
required: true;
|
|
1163
|
+
};
|
|
1164
|
+
size: {
|
|
1165
|
+
type: NumberConstructor;
|
|
1166
|
+
default: undefined;
|
|
1167
|
+
};
|
|
1168
|
+
along: {
|
|
1169
|
+
type: NumberConstructor;
|
|
1170
|
+
default: undefined;
|
|
1171
|
+
};
|
|
1172
|
+
color: {
|
|
1173
|
+
type: StringConstructor;
|
|
1174
|
+
default: undefined;
|
|
1175
|
+
};
|
|
1176
|
+
position: {
|
|
1177
|
+
type: PropType<Vec3>;
|
|
1178
|
+
default: undefined;
|
|
1179
|
+
};
|
|
1180
|
+
scale: {
|
|
1181
|
+
type: PropType<number | Vec3>;
|
|
1182
|
+
default: undefined;
|
|
1183
|
+
};
|
|
1184
|
+
rotation: {
|
|
1185
|
+
type: PropType<Vec3>;
|
|
1186
|
+
default: undefined;
|
|
1187
|
+
};
|
|
1188
|
+
autoCenter: {
|
|
1189
|
+
type: BooleanConstructor;
|
|
1190
|
+
default: boolean;
|
|
1191
|
+
};
|
|
1192
|
+
id: {
|
|
1193
|
+
type: StringConstructor;
|
|
1194
|
+
default: undefined;
|
|
1195
|
+
};
|
|
1196
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1197
|
+
[key: string]: any;
|
|
1198
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1199
|
+
axis: {
|
|
1200
|
+
type: PropType<0 | 1 | 2>;
|
|
1201
|
+
required: true;
|
|
1202
|
+
};
|
|
1203
|
+
size: {
|
|
1204
|
+
type: NumberConstructor;
|
|
1205
|
+
default: undefined;
|
|
1206
|
+
};
|
|
1207
|
+
along: {
|
|
1208
|
+
type: NumberConstructor;
|
|
1209
|
+
default: undefined;
|
|
1210
|
+
};
|
|
1211
|
+
color: {
|
|
1212
|
+
type: StringConstructor;
|
|
1213
|
+
default: undefined;
|
|
1214
|
+
};
|
|
1215
|
+
position: {
|
|
1216
|
+
type: PropType<Vec3>;
|
|
1217
|
+
default: undefined;
|
|
1218
|
+
};
|
|
1219
|
+
scale: {
|
|
1220
|
+
type: PropType<number | Vec3>;
|
|
1221
|
+
default: undefined;
|
|
1222
|
+
};
|
|
1223
|
+
rotation: {
|
|
1224
|
+
type: PropType<Vec3>;
|
|
1225
|
+
default: undefined;
|
|
1226
|
+
};
|
|
1227
|
+
autoCenter: {
|
|
1228
|
+
type: BooleanConstructor;
|
|
1229
|
+
default: boolean;
|
|
1230
|
+
};
|
|
1231
|
+
id: {
|
|
1232
|
+
type: StringConstructor;
|
|
1233
|
+
default: undefined;
|
|
1234
|
+
};
|
|
1235
|
+
}>> & Readonly<{}>, {
|
|
1236
|
+
color: string;
|
|
1237
|
+
size: number;
|
|
1238
|
+
position: Vec3;
|
|
1239
|
+
scale: number | Vec3;
|
|
1240
|
+
autoCenter: boolean;
|
|
1241
|
+
rotation: Vec3;
|
|
1242
|
+
id: string;
|
|
1243
|
+
along: number;
|
|
1244
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1245
|
+
declare const PolyRing: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1246
|
+
axis: {
|
|
1247
|
+
type: PropType<0 | 1 | 2>;
|
|
1248
|
+
required: true;
|
|
1249
|
+
};
|
|
1250
|
+
radius: {
|
|
1251
|
+
type: NumberConstructor;
|
|
1252
|
+
required: true;
|
|
1253
|
+
};
|
|
1254
|
+
halfThickness: {
|
|
1255
|
+
type: NumberConstructor;
|
|
1256
|
+
default: undefined;
|
|
1257
|
+
};
|
|
1258
|
+
segments: {
|
|
1259
|
+
type: NumberConstructor;
|
|
1260
|
+
default: undefined;
|
|
1261
|
+
};
|
|
1262
|
+
color: {
|
|
1263
|
+
type: StringConstructor;
|
|
1264
|
+
default: undefined;
|
|
1265
|
+
};
|
|
1266
|
+
position: {
|
|
1267
|
+
type: PropType<Vec3>;
|
|
1268
|
+
default: undefined;
|
|
1269
|
+
};
|
|
1270
|
+
scale: {
|
|
1271
|
+
type: PropType<number | Vec3>;
|
|
1272
|
+
default: undefined;
|
|
1273
|
+
};
|
|
1274
|
+
rotation: {
|
|
1275
|
+
type: PropType<Vec3>;
|
|
1276
|
+
default: undefined;
|
|
1277
|
+
};
|
|
1278
|
+
autoCenter: {
|
|
1279
|
+
type: BooleanConstructor;
|
|
1280
|
+
default: boolean;
|
|
1281
|
+
};
|
|
1282
|
+
id: {
|
|
1283
|
+
type: StringConstructor;
|
|
1284
|
+
default: undefined;
|
|
1285
|
+
};
|
|
1286
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1287
|
+
[key: string]: any;
|
|
1288
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1289
|
+
axis: {
|
|
1290
|
+
type: PropType<0 | 1 | 2>;
|
|
1291
|
+
required: true;
|
|
1292
|
+
};
|
|
1293
|
+
radius: {
|
|
1294
|
+
type: NumberConstructor;
|
|
1295
|
+
required: true;
|
|
1296
|
+
};
|
|
1297
|
+
halfThickness: {
|
|
1298
|
+
type: NumberConstructor;
|
|
1299
|
+
default: undefined;
|
|
1300
|
+
};
|
|
1301
|
+
segments: {
|
|
1302
|
+
type: NumberConstructor;
|
|
1303
|
+
default: undefined;
|
|
1304
|
+
};
|
|
1305
|
+
color: {
|
|
1306
|
+
type: StringConstructor;
|
|
1307
|
+
default: undefined;
|
|
1308
|
+
};
|
|
1309
|
+
position: {
|
|
1310
|
+
type: PropType<Vec3>;
|
|
1311
|
+
default: undefined;
|
|
1312
|
+
};
|
|
1313
|
+
scale: {
|
|
1314
|
+
type: PropType<number | Vec3>;
|
|
1315
|
+
default: undefined;
|
|
1316
|
+
};
|
|
1317
|
+
rotation: {
|
|
1318
|
+
type: PropType<Vec3>;
|
|
1319
|
+
default: undefined;
|
|
1320
|
+
};
|
|
1321
|
+
autoCenter: {
|
|
1322
|
+
type: BooleanConstructor;
|
|
1323
|
+
default: boolean;
|
|
1324
|
+
};
|
|
1325
|
+
id: {
|
|
1326
|
+
type: StringConstructor;
|
|
1327
|
+
default: undefined;
|
|
1328
|
+
};
|
|
1329
|
+
}>> & Readonly<{}>, {
|
|
1330
|
+
color: string;
|
|
1331
|
+
position: Vec3;
|
|
1332
|
+
scale: number | Vec3;
|
|
1333
|
+
autoCenter: boolean;
|
|
1334
|
+
rotation: Vec3;
|
|
1335
|
+
id: string;
|
|
1336
|
+
halfThickness: number;
|
|
1337
|
+
segments: number;
|
|
1338
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1339
|
+
declare const PolyOctahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1340
|
+
center: {
|
|
1341
|
+
type: PropType<Vec3>;
|
|
1342
|
+
required: true;
|
|
1343
|
+
};
|
|
1344
|
+
size: {
|
|
1345
|
+
type: NumberConstructor;
|
|
1346
|
+
required: true;
|
|
1347
|
+
};
|
|
1348
|
+
color: {
|
|
1349
|
+
type: StringConstructor;
|
|
1350
|
+
default: undefined;
|
|
1351
|
+
};
|
|
1352
|
+
position: {
|
|
1353
|
+
type: PropType<Vec3>;
|
|
1354
|
+
default: undefined;
|
|
1355
|
+
};
|
|
1356
|
+
scale: {
|
|
1357
|
+
type: PropType<number | Vec3>;
|
|
1358
|
+
default: undefined;
|
|
1359
|
+
};
|
|
1360
|
+
rotation: {
|
|
1361
|
+
type: PropType<Vec3>;
|
|
1362
|
+
default: undefined;
|
|
1363
|
+
};
|
|
1364
|
+
autoCenter: {
|
|
1365
|
+
type: BooleanConstructor;
|
|
1366
|
+
default: boolean;
|
|
1367
|
+
};
|
|
1368
|
+
id: {
|
|
1369
|
+
type: StringConstructor;
|
|
1370
|
+
default: undefined;
|
|
1371
|
+
};
|
|
1372
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1373
|
+
[key: string]: any;
|
|
1374
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1375
|
+
center: {
|
|
1376
|
+
type: PropType<Vec3>;
|
|
1377
|
+
required: true;
|
|
1378
|
+
};
|
|
1379
|
+
size: {
|
|
1380
|
+
type: NumberConstructor;
|
|
1381
|
+
required: true;
|
|
1382
|
+
};
|
|
1383
|
+
color: {
|
|
1384
|
+
type: StringConstructor;
|
|
1385
|
+
default: undefined;
|
|
1386
|
+
};
|
|
1387
|
+
position: {
|
|
1388
|
+
type: PropType<Vec3>;
|
|
1389
|
+
default: undefined;
|
|
1390
|
+
};
|
|
1391
|
+
scale: {
|
|
1392
|
+
type: PropType<number | Vec3>;
|
|
1393
|
+
default: undefined;
|
|
1394
|
+
};
|
|
1395
|
+
rotation: {
|
|
1396
|
+
type: PropType<Vec3>;
|
|
1397
|
+
default: undefined;
|
|
1398
|
+
};
|
|
1399
|
+
autoCenter: {
|
|
1400
|
+
type: BooleanConstructor;
|
|
1401
|
+
default: boolean;
|
|
1402
|
+
};
|
|
1403
|
+
id: {
|
|
1404
|
+
type: StringConstructor;
|
|
1405
|
+
default: undefined;
|
|
1406
|
+
};
|
|
1407
|
+
}>> & Readonly<{}>, {
|
|
1408
|
+
color: string;
|
|
1409
|
+
position: Vec3;
|
|
1410
|
+
scale: number | Vec3;
|
|
1411
|
+
autoCenter: boolean;
|
|
1412
|
+
rotation: Vec3;
|
|
1413
|
+
id: string;
|
|
1414
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1415
|
+
declare const PolyTetrahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1416
|
+
size: {
|
|
1417
|
+
type: NumberConstructor;
|
|
1418
|
+
default: undefined;
|
|
1419
|
+
};
|
|
1420
|
+
color: {
|
|
1421
|
+
type: StringConstructor;
|
|
1422
|
+
default: undefined;
|
|
1423
|
+
};
|
|
1424
|
+
position: {
|
|
1425
|
+
type: PropType<Vec3>;
|
|
1426
|
+
default: undefined;
|
|
1427
|
+
};
|
|
1428
|
+
scale: {
|
|
1429
|
+
type: PropType<number | Vec3>;
|
|
1430
|
+
default: undefined;
|
|
1431
|
+
};
|
|
1432
|
+
rotation: {
|
|
1433
|
+
type: PropType<Vec3>;
|
|
1434
|
+
default: undefined;
|
|
1435
|
+
};
|
|
1436
|
+
autoCenter: {
|
|
1437
|
+
type: BooleanConstructor;
|
|
1438
|
+
default: boolean;
|
|
1439
|
+
};
|
|
1440
|
+
id: {
|
|
1441
|
+
type: StringConstructor;
|
|
1442
|
+
default: undefined;
|
|
1443
|
+
};
|
|
1444
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1445
|
+
[key: string]: any;
|
|
1446
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1447
|
+
size: {
|
|
1448
|
+
type: NumberConstructor;
|
|
1449
|
+
default: undefined;
|
|
1450
|
+
};
|
|
1451
|
+
color: {
|
|
1452
|
+
type: StringConstructor;
|
|
1453
|
+
default: undefined;
|
|
1454
|
+
};
|
|
1455
|
+
position: {
|
|
1456
|
+
type: PropType<Vec3>;
|
|
1457
|
+
default: undefined;
|
|
1458
|
+
};
|
|
1459
|
+
scale: {
|
|
1460
|
+
type: PropType<number | Vec3>;
|
|
1461
|
+
default: undefined;
|
|
1462
|
+
};
|
|
1463
|
+
rotation: {
|
|
1464
|
+
type: PropType<Vec3>;
|
|
1465
|
+
default: undefined;
|
|
1466
|
+
};
|
|
1467
|
+
autoCenter: {
|
|
1468
|
+
type: BooleanConstructor;
|
|
1469
|
+
default: boolean;
|
|
1470
|
+
};
|
|
1471
|
+
id: {
|
|
1472
|
+
type: StringConstructor;
|
|
1473
|
+
default: undefined;
|
|
1474
|
+
};
|
|
1475
|
+
}>> & Readonly<{}>, {
|
|
1476
|
+
color: string;
|
|
1477
|
+
size: number;
|
|
1478
|
+
position: Vec3;
|
|
1479
|
+
scale: number | Vec3;
|
|
1480
|
+
autoCenter: boolean;
|
|
1481
|
+
rotation: Vec3;
|
|
1482
|
+
id: string;
|
|
1483
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1484
|
+
declare const PolyIcosahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1485
|
+
size: {
|
|
1486
|
+
type: NumberConstructor;
|
|
1487
|
+
default: undefined;
|
|
1488
|
+
};
|
|
1489
|
+
color: {
|
|
1490
|
+
type: StringConstructor;
|
|
1491
|
+
default: undefined;
|
|
1492
|
+
};
|
|
1493
|
+
position: {
|
|
1494
|
+
type: PropType<Vec3>;
|
|
1495
|
+
default: undefined;
|
|
1496
|
+
};
|
|
1497
|
+
scale: {
|
|
1498
|
+
type: PropType<number | Vec3>;
|
|
1499
|
+
default: undefined;
|
|
1500
|
+
};
|
|
1501
|
+
rotation: {
|
|
1502
|
+
type: PropType<Vec3>;
|
|
1503
|
+
default: undefined;
|
|
1504
|
+
};
|
|
1505
|
+
autoCenter: {
|
|
1506
|
+
type: BooleanConstructor;
|
|
1507
|
+
default: boolean;
|
|
1508
|
+
};
|
|
1509
|
+
id: {
|
|
1510
|
+
type: StringConstructor;
|
|
1511
|
+
default: undefined;
|
|
1512
|
+
};
|
|
1513
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1514
|
+
[key: string]: any;
|
|
1515
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1516
|
+
size: {
|
|
1517
|
+
type: NumberConstructor;
|
|
1518
|
+
default: undefined;
|
|
1519
|
+
};
|
|
1520
|
+
color: {
|
|
1521
|
+
type: StringConstructor;
|
|
1522
|
+
default: undefined;
|
|
1523
|
+
};
|
|
1524
|
+
position: {
|
|
1525
|
+
type: PropType<Vec3>;
|
|
1526
|
+
default: undefined;
|
|
1527
|
+
};
|
|
1528
|
+
scale: {
|
|
1529
|
+
type: PropType<number | Vec3>;
|
|
1530
|
+
default: undefined;
|
|
1531
|
+
};
|
|
1532
|
+
rotation: {
|
|
1533
|
+
type: PropType<Vec3>;
|
|
1534
|
+
default: undefined;
|
|
1535
|
+
};
|
|
1536
|
+
autoCenter: {
|
|
1537
|
+
type: BooleanConstructor;
|
|
1538
|
+
default: boolean;
|
|
1539
|
+
};
|
|
1540
|
+
id: {
|
|
1541
|
+
type: StringConstructor;
|
|
1542
|
+
default: undefined;
|
|
1543
|
+
};
|
|
1544
|
+
}>> & Readonly<{}>, {
|
|
1545
|
+
color: string;
|
|
1546
|
+
size: number;
|
|
1547
|
+
position: Vec3;
|
|
1548
|
+
scale: number | Vec3;
|
|
1549
|
+
autoCenter: boolean;
|
|
1550
|
+
rotation: Vec3;
|
|
1551
|
+
id: string;
|
|
1552
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1553
|
+
declare const PolyDodecahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1554
|
+
size: {
|
|
1555
|
+
type: NumberConstructor;
|
|
1556
|
+
default: undefined;
|
|
1557
|
+
};
|
|
1558
|
+
color: {
|
|
1559
|
+
type: StringConstructor;
|
|
1560
|
+
default: undefined;
|
|
1561
|
+
};
|
|
1562
|
+
position: {
|
|
1563
|
+
type: PropType<Vec3>;
|
|
1564
|
+
default: undefined;
|
|
1565
|
+
};
|
|
1566
|
+
scale: {
|
|
1567
|
+
type: PropType<number | Vec3>;
|
|
1568
|
+
default: undefined;
|
|
1569
|
+
};
|
|
1570
|
+
rotation: {
|
|
1571
|
+
type: PropType<Vec3>;
|
|
1572
|
+
default: undefined;
|
|
1573
|
+
};
|
|
1574
|
+
autoCenter: {
|
|
1575
|
+
type: BooleanConstructor;
|
|
1576
|
+
default: boolean;
|
|
1577
|
+
};
|
|
1578
|
+
id: {
|
|
1579
|
+
type: StringConstructor;
|
|
1580
|
+
default: undefined;
|
|
1581
|
+
};
|
|
1582
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1583
|
+
[key: string]: any;
|
|
1584
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1585
|
+
size: {
|
|
1586
|
+
type: NumberConstructor;
|
|
1587
|
+
default: undefined;
|
|
1588
|
+
};
|
|
1589
|
+
color: {
|
|
1590
|
+
type: StringConstructor;
|
|
1591
|
+
default: undefined;
|
|
1592
|
+
};
|
|
1593
|
+
position: {
|
|
1594
|
+
type: PropType<Vec3>;
|
|
1595
|
+
default: undefined;
|
|
1596
|
+
};
|
|
1597
|
+
scale: {
|
|
1598
|
+
type: PropType<number | Vec3>;
|
|
1599
|
+
default: undefined;
|
|
1600
|
+
};
|
|
1601
|
+
rotation: {
|
|
1602
|
+
type: PropType<Vec3>;
|
|
1603
|
+
default: undefined;
|
|
1604
|
+
};
|
|
1605
|
+
autoCenter: {
|
|
1606
|
+
type: BooleanConstructor;
|
|
1607
|
+
default: boolean;
|
|
1608
|
+
};
|
|
1609
|
+
id: {
|
|
1610
|
+
type: StringConstructor;
|
|
1611
|
+
default: undefined;
|
|
1612
|
+
};
|
|
1613
|
+
}>> & Readonly<{}>, {
|
|
1614
|
+
color: string;
|
|
1615
|
+
size: number;
|
|
1616
|
+
position: Vec3;
|
|
1617
|
+
scale: number | Vec3;
|
|
1618
|
+
autoCenter: boolean;
|
|
1619
|
+
rotation: Vec3;
|
|
1620
|
+
id: string;
|
|
1621
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1622
|
+
declare const PolySphere: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1623
|
+
radius: {
|
|
1624
|
+
type: NumberConstructor;
|
|
1625
|
+
default: undefined;
|
|
1626
|
+
};
|
|
1627
|
+
subdivisions: {
|
|
1628
|
+
type: NumberConstructor;
|
|
1629
|
+
default: undefined;
|
|
1630
|
+
};
|
|
1631
|
+
color: {
|
|
1632
|
+
type: StringConstructor;
|
|
1633
|
+
default: undefined;
|
|
1634
|
+
};
|
|
1635
|
+
position: {
|
|
1636
|
+
type: PropType<Vec3>;
|
|
1637
|
+
default: undefined;
|
|
1638
|
+
};
|
|
1639
|
+
scale: {
|
|
1640
|
+
type: PropType<number | Vec3>;
|
|
1641
|
+
default: undefined;
|
|
1642
|
+
};
|
|
1643
|
+
rotation: {
|
|
1644
|
+
type: PropType<Vec3>;
|
|
1645
|
+
default: undefined;
|
|
1646
|
+
};
|
|
1647
|
+
autoCenter: {
|
|
1648
|
+
type: BooleanConstructor;
|
|
1649
|
+
default: boolean;
|
|
1650
|
+
};
|
|
1651
|
+
id: {
|
|
1652
|
+
type: StringConstructor;
|
|
1653
|
+
default: undefined;
|
|
1654
|
+
};
|
|
1655
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1656
|
+
[key: string]: any;
|
|
1657
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1658
|
+
radius: {
|
|
1659
|
+
type: NumberConstructor;
|
|
1660
|
+
default: undefined;
|
|
1661
|
+
};
|
|
1662
|
+
subdivisions: {
|
|
1663
|
+
type: NumberConstructor;
|
|
1664
|
+
default: undefined;
|
|
1665
|
+
};
|
|
1666
|
+
color: {
|
|
1667
|
+
type: StringConstructor;
|
|
1668
|
+
default: undefined;
|
|
1669
|
+
};
|
|
1670
|
+
position: {
|
|
1671
|
+
type: PropType<Vec3>;
|
|
1672
|
+
default: undefined;
|
|
1673
|
+
};
|
|
1674
|
+
scale: {
|
|
1675
|
+
type: PropType<number | Vec3>;
|
|
1676
|
+
default: undefined;
|
|
1677
|
+
};
|
|
1678
|
+
rotation: {
|
|
1679
|
+
type: PropType<Vec3>;
|
|
1680
|
+
default: undefined;
|
|
1681
|
+
};
|
|
1682
|
+
autoCenter: {
|
|
1683
|
+
type: BooleanConstructor;
|
|
1684
|
+
default: boolean;
|
|
1685
|
+
};
|
|
1686
|
+
id: {
|
|
1687
|
+
type: StringConstructor;
|
|
1688
|
+
default: undefined;
|
|
1689
|
+
};
|
|
1690
|
+
}>> & Readonly<{}>, {
|
|
1691
|
+
color: string;
|
|
1692
|
+
position: Vec3;
|
|
1693
|
+
scale: number | Vec3;
|
|
1694
|
+
autoCenter: boolean;
|
|
1695
|
+
rotation: Vec3;
|
|
1696
|
+
id: string;
|
|
1697
|
+
radius: number;
|
|
1698
|
+
subdivisions: number;
|
|
1699
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1700
|
+
declare const PolyCylinder: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1701
|
+
radius: {
|
|
1702
|
+
type: NumberConstructor;
|
|
1703
|
+
default: undefined;
|
|
1704
|
+
};
|
|
1705
|
+
radiusTop: {
|
|
1706
|
+
type: NumberConstructor;
|
|
1707
|
+
default: undefined;
|
|
1708
|
+
};
|
|
1709
|
+
height: {
|
|
1710
|
+
type: NumberConstructor;
|
|
1711
|
+
default: undefined;
|
|
1712
|
+
};
|
|
1713
|
+
radialSegments: {
|
|
1714
|
+
type: NumberConstructor;
|
|
1715
|
+
default: undefined;
|
|
1716
|
+
};
|
|
1717
|
+
color: {
|
|
1718
|
+
type: StringConstructor;
|
|
1719
|
+
default: undefined;
|
|
1720
|
+
};
|
|
1721
|
+
position: {
|
|
1722
|
+
type: PropType<Vec3>;
|
|
1723
|
+
default: undefined;
|
|
1724
|
+
};
|
|
1725
|
+
scale: {
|
|
1726
|
+
type: PropType<number | Vec3>;
|
|
1727
|
+
default: undefined;
|
|
1728
|
+
};
|
|
1729
|
+
rotation: {
|
|
1730
|
+
type: PropType<Vec3>;
|
|
1731
|
+
default: undefined;
|
|
1732
|
+
};
|
|
1733
|
+
autoCenter: {
|
|
1734
|
+
type: BooleanConstructor;
|
|
1735
|
+
default: boolean;
|
|
1736
|
+
};
|
|
1737
|
+
id: {
|
|
1738
|
+
type: StringConstructor;
|
|
1739
|
+
default: undefined;
|
|
1740
|
+
};
|
|
1741
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1742
|
+
[key: string]: any;
|
|
1743
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1744
|
+
radius: {
|
|
1745
|
+
type: NumberConstructor;
|
|
1746
|
+
default: undefined;
|
|
1747
|
+
};
|
|
1748
|
+
radiusTop: {
|
|
1749
|
+
type: NumberConstructor;
|
|
1750
|
+
default: undefined;
|
|
1751
|
+
};
|
|
1752
|
+
height: {
|
|
1753
|
+
type: NumberConstructor;
|
|
1754
|
+
default: undefined;
|
|
1755
|
+
};
|
|
1756
|
+
radialSegments: {
|
|
1757
|
+
type: NumberConstructor;
|
|
1758
|
+
default: undefined;
|
|
1759
|
+
};
|
|
1760
|
+
color: {
|
|
1761
|
+
type: StringConstructor;
|
|
1762
|
+
default: undefined;
|
|
1763
|
+
};
|
|
1764
|
+
position: {
|
|
1765
|
+
type: PropType<Vec3>;
|
|
1766
|
+
default: undefined;
|
|
1767
|
+
};
|
|
1768
|
+
scale: {
|
|
1769
|
+
type: PropType<number | Vec3>;
|
|
1770
|
+
default: undefined;
|
|
1771
|
+
};
|
|
1772
|
+
rotation: {
|
|
1773
|
+
type: PropType<Vec3>;
|
|
1774
|
+
default: undefined;
|
|
1775
|
+
};
|
|
1776
|
+
autoCenter: {
|
|
1777
|
+
type: BooleanConstructor;
|
|
1778
|
+
default: boolean;
|
|
1779
|
+
};
|
|
1780
|
+
id: {
|
|
1781
|
+
type: StringConstructor;
|
|
1782
|
+
default: undefined;
|
|
1783
|
+
};
|
|
1784
|
+
}>> & Readonly<{}>, {
|
|
1785
|
+
color: string;
|
|
1786
|
+
height: number;
|
|
1787
|
+
position: Vec3;
|
|
1788
|
+
scale: number | Vec3;
|
|
1789
|
+
autoCenter: boolean;
|
|
1790
|
+
rotation: Vec3;
|
|
1791
|
+
id: string;
|
|
1792
|
+
radius: number;
|
|
1793
|
+
radiusTop: number;
|
|
1794
|
+
radialSegments: number;
|
|
1795
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1796
|
+
declare const PolyCone: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1797
|
+
radius: {
|
|
1798
|
+
type: NumberConstructor;
|
|
1799
|
+
default: undefined;
|
|
1800
|
+
};
|
|
1801
|
+
height: {
|
|
1802
|
+
type: NumberConstructor;
|
|
1803
|
+
default: undefined;
|
|
1804
|
+
};
|
|
1805
|
+
radialSegments: {
|
|
1806
|
+
type: NumberConstructor;
|
|
1807
|
+
default: undefined;
|
|
1808
|
+
};
|
|
1809
|
+
color: {
|
|
1810
|
+
type: StringConstructor;
|
|
1811
|
+
default: undefined;
|
|
1812
|
+
};
|
|
1813
|
+
position: {
|
|
1814
|
+
type: PropType<Vec3>;
|
|
1815
|
+
default: undefined;
|
|
1816
|
+
};
|
|
1817
|
+
scale: {
|
|
1818
|
+
type: PropType<number | Vec3>;
|
|
1819
|
+
default: undefined;
|
|
1820
|
+
};
|
|
1821
|
+
rotation: {
|
|
1822
|
+
type: PropType<Vec3>;
|
|
1823
|
+
default: undefined;
|
|
1824
|
+
};
|
|
1825
|
+
autoCenter: {
|
|
1826
|
+
type: BooleanConstructor;
|
|
1827
|
+
default: boolean;
|
|
1828
|
+
};
|
|
1829
|
+
id: {
|
|
1830
|
+
type: StringConstructor;
|
|
1831
|
+
default: undefined;
|
|
1832
|
+
};
|
|
1833
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1834
|
+
[key: string]: any;
|
|
1835
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1836
|
+
radius: {
|
|
1837
|
+
type: NumberConstructor;
|
|
1838
|
+
default: undefined;
|
|
1839
|
+
};
|
|
1840
|
+
height: {
|
|
1841
|
+
type: NumberConstructor;
|
|
1842
|
+
default: undefined;
|
|
1843
|
+
};
|
|
1844
|
+
radialSegments: {
|
|
1845
|
+
type: NumberConstructor;
|
|
1846
|
+
default: undefined;
|
|
1847
|
+
};
|
|
1848
|
+
color: {
|
|
1849
|
+
type: StringConstructor;
|
|
1850
|
+
default: undefined;
|
|
1851
|
+
};
|
|
1852
|
+
position: {
|
|
1853
|
+
type: PropType<Vec3>;
|
|
1854
|
+
default: undefined;
|
|
1855
|
+
};
|
|
1856
|
+
scale: {
|
|
1857
|
+
type: PropType<number | Vec3>;
|
|
1858
|
+
default: undefined;
|
|
1859
|
+
};
|
|
1860
|
+
rotation: {
|
|
1861
|
+
type: PropType<Vec3>;
|
|
1862
|
+
default: undefined;
|
|
1863
|
+
};
|
|
1864
|
+
autoCenter: {
|
|
1865
|
+
type: BooleanConstructor;
|
|
1866
|
+
default: boolean;
|
|
1867
|
+
};
|
|
1868
|
+
id: {
|
|
1869
|
+
type: StringConstructor;
|
|
1870
|
+
default: undefined;
|
|
1871
|
+
};
|
|
1872
|
+
}>> & Readonly<{}>, {
|
|
1873
|
+
color: string;
|
|
1874
|
+
height: number;
|
|
1875
|
+
position: Vec3;
|
|
1876
|
+
scale: number | Vec3;
|
|
1877
|
+
autoCenter: boolean;
|
|
1878
|
+
rotation: Vec3;
|
|
1879
|
+
id: string;
|
|
1880
|
+
radius: number;
|
|
1881
|
+
radialSegments: number;
|
|
1882
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1883
|
+
declare const PolyTorus: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1884
|
+
radius: {
|
|
1885
|
+
type: NumberConstructor;
|
|
1886
|
+
default: undefined;
|
|
1887
|
+
};
|
|
1888
|
+
tube: {
|
|
1889
|
+
type: NumberConstructor;
|
|
1890
|
+
default: undefined;
|
|
1891
|
+
};
|
|
1892
|
+
radialSegments: {
|
|
1893
|
+
type: NumberConstructor;
|
|
1894
|
+
default: undefined;
|
|
1895
|
+
};
|
|
1896
|
+
tubularSegments: {
|
|
1897
|
+
type: NumberConstructor;
|
|
1898
|
+
default: undefined;
|
|
1899
|
+
};
|
|
1900
|
+
color: {
|
|
1901
|
+
type: StringConstructor;
|
|
1902
|
+
default: undefined;
|
|
1903
|
+
};
|
|
1904
|
+
position: {
|
|
1905
|
+
type: PropType<Vec3>;
|
|
1906
|
+
default: undefined;
|
|
1907
|
+
};
|
|
1908
|
+
scale: {
|
|
1909
|
+
type: PropType<number | Vec3>;
|
|
1910
|
+
default: undefined;
|
|
1911
|
+
};
|
|
1912
|
+
rotation: {
|
|
1913
|
+
type: PropType<Vec3>;
|
|
1914
|
+
default: undefined;
|
|
1915
|
+
};
|
|
1916
|
+
autoCenter: {
|
|
1917
|
+
type: BooleanConstructor;
|
|
1918
|
+
default: boolean;
|
|
1919
|
+
};
|
|
1920
|
+
id: {
|
|
1921
|
+
type: StringConstructor;
|
|
1922
|
+
default: undefined;
|
|
1923
|
+
};
|
|
1924
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1925
|
+
[key: string]: any;
|
|
1926
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1927
|
+
radius: {
|
|
1928
|
+
type: NumberConstructor;
|
|
1929
|
+
default: undefined;
|
|
1930
|
+
};
|
|
1931
|
+
tube: {
|
|
1932
|
+
type: NumberConstructor;
|
|
1933
|
+
default: undefined;
|
|
1934
|
+
};
|
|
1935
|
+
radialSegments: {
|
|
1936
|
+
type: NumberConstructor;
|
|
1937
|
+
default: undefined;
|
|
1938
|
+
};
|
|
1939
|
+
tubularSegments: {
|
|
1940
|
+
type: NumberConstructor;
|
|
1941
|
+
default: undefined;
|
|
1942
|
+
};
|
|
1943
|
+
color: {
|
|
1944
|
+
type: StringConstructor;
|
|
1945
|
+
default: undefined;
|
|
1946
|
+
};
|
|
1947
|
+
position: {
|
|
1948
|
+
type: PropType<Vec3>;
|
|
1949
|
+
default: undefined;
|
|
1950
|
+
};
|
|
1951
|
+
scale: {
|
|
1952
|
+
type: PropType<number | Vec3>;
|
|
1953
|
+
default: undefined;
|
|
1954
|
+
};
|
|
1955
|
+
rotation: {
|
|
1956
|
+
type: PropType<Vec3>;
|
|
1957
|
+
default: undefined;
|
|
1958
|
+
};
|
|
1959
|
+
autoCenter: {
|
|
1960
|
+
type: BooleanConstructor;
|
|
1961
|
+
default: boolean;
|
|
1962
|
+
};
|
|
1963
|
+
id: {
|
|
1964
|
+
type: StringConstructor;
|
|
1965
|
+
default: undefined;
|
|
1966
|
+
};
|
|
1967
|
+
}>> & Readonly<{}>, {
|
|
1968
|
+
color: string;
|
|
1969
|
+
position: Vec3;
|
|
1970
|
+
scale: number | Vec3;
|
|
1971
|
+
autoCenter: boolean;
|
|
1972
|
+
rotation: Vec3;
|
|
1973
|
+
id: string;
|
|
1974
|
+
radius: number;
|
|
1975
|
+
radialSegments: number;
|
|
1976
|
+
tube: number;
|
|
1977
|
+
tubularSegments: number;
|
|
1978
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1979
|
+
|
|
1980
|
+
interface PolyControlsAnimateOptions {
|
|
1981
|
+
speed?: number;
|
|
1982
|
+
axis?: "x" | "y";
|
|
1983
|
+
pauseOnInteraction?: boolean;
|
|
1984
|
+
}
|
|
1985
|
+
interface PolyOrbitControlsCamera {
|
|
1986
|
+
rotX: number;
|
|
1987
|
+
rotY: number;
|
|
1988
|
+
zoom: number;
|
|
1989
|
+
target: Vec3;
|
|
1990
|
+
distance: number;
|
|
1991
|
+
}
|
|
1992
|
+
interface PolyOrbitControlsProps {
|
|
1993
|
+
drag?: boolean;
|
|
1994
|
+
wheel?: boolean;
|
|
1995
|
+
/** When true, wheel changes camera pull-back (distance) instead of zoom scale. */
|
|
1996
|
+
dolly?: boolean;
|
|
1997
|
+
invert?: boolean | number;
|
|
1998
|
+
/** Minimum zoom multiplier (zoom mode). Default 0.1. */
|
|
1999
|
+
minZoom?: number;
|
|
2000
|
+
/** Maximum zoom multiplier (zoom mode). Default 10. */
|
|
2001
|
+
maxZoom?: number;
|
|
2002
|
+
/** Minimum camera pull-back in CSS pixels when dolly=true. Default 0. */
|
|
2003
|
+
minDistance?: number;
|
|
2004
|
+
/** Maximum camera pull-back in CSS pixels when dolly=true. Default 5000. */
|
|
2005
|
+
maxDistance?: number;
|
|
2006
|
+
animate?: false | PolyControlsAnimateOptions;
|
|
2007
|
+
}
|
|
2008
|
+
declare const PolyOrbitControls: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
2009
|
+
drag: {
|
|
2010
|
+
type: BooleanConstructor;
|
|
2011
|
+
default: boolean;
|
|
2012
|
+
};
|
|
2013
|
+
wheel: {
|
|
2014
|
+
type: BooleanConstructor;
|
|
2015
|
+
default: boolean;
|
|
2016
|
+
};
|
|
2017
|
+
dolly: {
|
|
2018
|
+
type: BooleanConstructor;
|
|
2019
|
+
default: boolean;
|
|
2020
|
+
};
|
|
2021
|
+
invert: {
|
|
2022
|
+
type: PropType<boolean | number>;
|
|
2023
|
+
default: boolean;
|
|
2024
|
+
};
|
|
2025
|
+
minZoom: {
|
|
2026
|
+
type: NumberConstructor;
|
|
2027
|
+
default: number;
|
|
2028
|
+
};
|
|
2029
|
+
maxZoom: {
|
|
2030
|
+
type: NumberConstructor;
|
|
2031
|
+
default: number;
|
|
2032
|
+
};
|
|
2033
|
+
minDistance: {
|
|
2034
|
+
type: NumberConstructor;
|
|
2035
|
+
default: number;
|
|
2036
|
+
};
|
|
2037
|
+
maxDistance: {
|
|
2038
|
+
type: NumberConstructor;
|
|
2039
|
+
default: number;
|
|
2040
|
+
};
|
|
2041
|
+
animate: {
|
|
2042
|
+
type: PropType<false | PolyControlsAnimateOptions>;
|
|
2043
|
+
default: boolean;
|
|
2044
|
+
};
|
|
2045
|
+
}>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
2046
|
+
change: (_camera: PolyOrbitControlsCamera) => true;
|
|
2047
|
+
"interaction-start": (_camera: PolyOrbitControlsCamera) => true;
|
|
2048
|
+
"interaction-end": (_camera: PolyOrbitControlsCamera) => true;
|
|
2049
|
+
}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
2050
|
+
drag: {
|
|
2051
|
+
type: BooleanConstructor;
|
|
2052
|
+
default: boolean;
|
|
2053
|
+
};
|
|
2054
|
+
wheel: {
|
|
2055
|
+
type: BooleanConstructor;
|
|
2056
|
+
default: boolean;
|
|
2057
|
+
};
|
|
2058
|
+
dolly: {
|
|
2059
|
+
type: BooleanConstructor;
|
|
2060
|
+
default: boolean;
|
|
2061
|
+
};
|
|
2062
|
+
invert: {
|
|
2063
|
+
type: PropType<boolean | number>;
|
|
2064
|
+
default: boolean;
|
|
2065
|
+
};
|
|
2066
|
+
minZoom: {
|
|
2067
|
+
type: NumberConstructor;
|
|
2068
|
+
default: number;
|
|
2069
|
+
};
|
|
2070
|
+
maxZoom: {
|
|
2071
|
+
type: NumberConstructor;
|
|
2072
|
+
default: number;
|
|
2073
|
+
};
|
|
2074
|
+
minDistance: {
|
|
2075
|
+
type: NumberConstructor;
|
|
2076
|
+
default: number;
|
|
2077
|
+
};
|
|
2078
|
+
maxDistance: {
|
|
2079
|
+
type: NumberConstructor;
|
|
2080
|
+
default: number;
|
|
2081
|
+
};
|
|
2082
|
+
animate: {
|
|
2083
|
+
type: PropType<false | PolyControlsAnimateOptions>;
|
|
959
2084
|
default: boolean;
|
|
960
2085
|
};
|
|
961
2086
|
}>> & Readonly<{
|
|
@@ -1215,8 +2340,8 @@ declare const PolyTransformControls: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
1215
2340
|
}>, {
|
|
1216
2341
|
object: PolyTransformControlsObject;
|
|
1217
2342
|
mode: "rotate" | "translate";
|
|
1218
|
-
space: "local" | "world";
|
|
1219
2343
|
size: number;
|
|
2344
|
+
space: "local" | "world";
|
|
1220
2345
|
enabled: boolean;
|
|
1221
2346
|
showX: boolean;
|
|
1222
2347
|
showY: boolean;
|
|
@@ -1225,6 +2350,211 @@ declare const PolyTransformControls: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
1225
2350
|
rotationSnap: number | null;
|
|
1226
2351
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1227
2352
|
|
|
2353
|
+
interface PolyFirstPersonControlsOptions {
|
|
2354
|
+
/** Master switch. When `false`, all sub-controls are inert. Default: `true`. */
|
|
2355
|
+
enabled?: boolean;
|
|
2356
|
+
/** Pointer-lock mouselook (rotX = pitch, rotY = yaw). Default: `true`. */
|
|
2357
|
+
lookEnabled?: boolean;
|
|
2358
|
+
/** WASD / arrow-key planar movement on world XY. Default: `true`. */
|
|
2359
|
+
moveEnabled?: boolean;
|
|
2360
|
+
/** Space-bar parametric jump arc on world Z. Default: `true`. */
|
|
2361
|
+
jumpEnabled?: boolean;
|
|
2362
|
+
/** Ctrl crouch (lowers eye height while held). Default: `true`. */
|
|
2363
|
+
crouchEnabled?: boolean;
|
|
2364
|
+
/** Mouselook sensitivity in degrees per pixel. Default: `0.15`. */
|
|
2365
|
+
lookSensitivity?: number;
|
|
2366
|
+
/** Invert vertical mouselook. Default: `false`. */
|
|
2367
|
+
invertY?: boolean;
|
|
2368
|
+
/** Movement speed in world units per second. Default: `5`. */
|
|
2369
|
+
moveSpeed?: number;
|
|
2370
|
+
/** Initial vertical velocity for a jump, world units per second. Default: `7`. */
|
|
2371
|
+
jumpVelocity?: number;
|
|
2372
|
+
/** Gravity acceleration in world units per second squared. Default: `18`. */
|
|
2373
|
+
gravity?: number;
|
|
2374
|
+
/** Standing eye height above the ground plane. Default: `1.7`. */
|
|
2375
|
+
eyeHeight?: number;
|
|
2376
|
+
/** Eye height while crouching. Default: `1`. */
|
|
2377
|
+
crouchHeight?: number;
|
|
2378
|
+
/** World Z of the ground plane the player walks on. Default: `0`. */
|
|
2379
|
+
groundZ?: number;
|
|
2380
|
+
/** Min pitch (rotX) angle in degrees. Default: `5`. */
|
|
2381
|
+
minPitch?: number;
|
|
2382
|
+
/** Max pitch (rotX) angle in degrees. Default: `175`. */
|
|
2383
|
+
maxPitch?: number;
|
|
2384
|
+
}
|
|
2385
|
+
interface PolyFirstPersonControlsHandle {
|
|
2386
|
+
update(partial: PolyFirstPersonControlsOptions): void;
|
|
2387
|
+
resume(): void;
|
|
2388
|
+
pause(): void;
|
|
2389
|
+
destroy(): void;
|
|
2390
|
+
/** Request pointer-lock now. Call from a user gesture (click). */
|
|
2391
|
+
lock(): void;
|
|
2392
|
+
/** Release pointer-lock. */
|
|
2393
|
+
unlock(): void;
|
|
2394
|
+
/** Whether pointer-lock is currently held. */
|
|
2395
|
+
isLocked(): boolean;
|
|
2396
|
+
/**
|
|
2397
|
+
* The camera's WORLD position (the eye). Snapshot — mutate via WASD /
|
|
2398
|
+
* jump / crouch, or by calling `setOrigin`.
|
|
2399
|
+
*/
|
|
2400
|
+
getOrigin(): [number, number, number];
|
|
2401
|
+
/**
|
|
2402
|
+
* Move the camera origin to a specific world position. Re-derives the
|
|
2403
|
+
* scene's target so the perspective viewer follows.
|
|
2404
|
+
*/
|
|
2405
|
+
setOrigin(origin: [number, number, number]): void;
|
|
2406
|
+
addEventListener(type: "change" | "start" | "end", listener: () => void): void;
|
|
2407
|
+
removeEventListener(type: "change" | "start" | "end", listener: () => void): void;
|
|
2408
|
+
hasEventListener(type: "change" | "start" | "end", listener: () => void): boolean;
|
|
2409
|
+
}
|
|
2410
|
+
declare const PolyFirstPersonControls: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
2411
|
+
enabled: {
|
|
2412
|
+
type: BooleanConstructor;
|
|
2413
|
+
default: boolean;
|
|
2414
|
+
};
|
|
2415
|
+
lookEnabled: {
|
|
2416
|
+
type: BooleanConstructor;
|
|
2417
|
+
default: boolean;
|
|
2418
|
+
};
|
|
2419
|
+
moveEnabled: {
|
|
2420
|
+
type: BooleanConstructor;
|
|
2421
|
+
default: boolean;
|
|
2422
|
+
};
|
|
2423
|
+
jumpEnabled: {
|
|
2424
|
+
type: BooleanConstructor;
|
|
2425
|
+
default: boolean;
|
|
2426
|
+
};
|
|
2427
|
+
crouchEnabled: {
|
|
2428
|
+
type: BooleanConstructor;
|
|
2429
|
+
default: boolean;
|
|
2430
|
+
};
|
|
2431
|
+
lookSensitivity: {
|
|
2432
|
+
type: NumberConstructor;
|
|
2433
|
+
default: number;
|
|
2434
|
+
};
|
|
2435
|
+
invertY: {
|
|
2436
|
+
type: BooleanConstructor;
|
|
2437
|
+
default: boolean;
|
|
2438
|
+
};
|
|
2439
|
+
moveSpeed: {
|
|
2440
|
+
type: NumberConstructor;
|
|
2441
|
+
default: number;
|
|
2442
|
+
};
|
|
2443
|
+
jumpVelocity: {
|
|
2444
|
+
type: NumberConstructor;
|
|
2445
|
+
default: number;
|
|
2446
|
+
};
|
|
2447
|
+
gravity: {
|
|
2448
|
+
type: NumberConstructor;
|
|
2449
|
+
default: number;
|
|
2450
|
+
};
|
|
2451
|
+
eyeHeight: {
|
|
2452
|
+
type: NumberConstructor;
|
|
2453
|
+
default: number;
|
|
2454
|
+
};
|
|
2455
|
+
crouchHeight: {
|
|
2456
|
+
type: NumberConstructor;
|
|
2457
|
+
default: number;
|
|
2458
|
+
};
|
|
2459
|
+
groundZ: {
|
|
2460
|
+
type: NumberConstructor;
|
|
2461
|
+
default: number;
|
|
2462
|
+
};
|
|
2463
|
+
minPitch: {
|
|
2464
|
+
type: NumberConstructor;
|
|
2465
|
+
default: number;
|
|
2466
|
+
};
|
|
2467
|
+
maxPitch: {
|
|
2468
|
+
type: NumberConstructor;
|
|
2469
|
+
default: number;
|
|
2470
|
+
};
|
|
2471
|
+
}>, () => null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
2472
|
+
change: (_origin: [number, number, number]) => true;
|
|
2473
|
+
"interaction-start": (_origin: [number, number, number]) => true;
|
|
2474
|
+
"interaction-end": (_origin: [number, number, number]) => true;
|
|
2475
|
+
}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
2476
|
+
enabled: {
|
|
2477
|
+
type: BooleanConstructor;
|
|
2478
|
+
default: boolean;
|
|
2479
|
+
};
|
|
2480
|
+
lookEnabled: {
|
|
2481
|
+
type: BooleanConstructor;
|
|
2482
|
+
default: boolean;
|
|
2483
|
+
};
|
|
2484
|
+
moveEnabled: {
|
|
2485
|
+
type: BooleanConstructor;
|
|
2486
|
+
default: boolean;
|
|
2487
|
+
};
|
|
2488
|
+
jumpEnabled: {
|
|
2489
|
+
type: BooleanConstructor;
|
|
2490
|
+
default: boolean;
|
|
2491
|
+
};
|
|
2492
|
+
crouchEnabled: {
|
|
2493
|
+
type: BooleanConstructor;
|
|
2494
|
+
default: boolean;
|
|
2495
|
+
};
|
|
2496
|
+
lookSensitivity: {
|
|
2497
|
+
type: NumberConstructor;
|
|
2498
|
+
default: number;
|
|
2499
|
+
};
|
|
2500
|
+
invertY: {
|
|
2501
|
+
type: BooleanConstructor;
|
|
2502
|
+
default: boolean;
|
|
2503
|
+
};
|
|
2504
|
+
moveSpeed: {
|
|
2505
|
+
type: NumberConstructor;
|
|
2506
|
+
default: number;
|
|
2507
|
+
};
|
|
2508
|
+
jumpVelocity: {
|
|
2509
|
+
type: NumberConstructor;
|
|
2510
|
+
default: number;
|
|
2511
|
+
};
|
|
2512
|
+
gravity: {
|
|
2513
|
+
type: NumberConstructor;
|
|
2514
|
+
default: number;
|
|
2515
|
+
};
|
|
2516
|
+
eyeHeight: {
|
|
2517
|
+
type: NumberConstructor;
|
|
2518
|
+
default: number;
|
|
2519
|
+
};
|
|
2520
|
+
crouchHeight: {
|
|
2521
|
+
type: NumberConstructor;
|
|
2522
|
+
default: number;
|
|
2523
|
+
};
|
|
2524
|
+
groundZ: {
|
|
2525
|
+
type: NumberConstructor;
|
|
2526
|
+
default: number;
|
|
2527
|
+
};
|
|
2528
|
+
minPitch: {
|
|
2529
|
+
type: NumberConstructor;
|
|
2530
|
+
default: number;
|
|
2531
|
+
};
|
|
2532
|
+
maxPitch: {
|
|
2533
|
+
type: NumberConstructor;
|
|
2534
|
+
default: number;
|
|
2535
|
+
};
|
|
2536
|
+
}>> & Readonly<{
|
|
2537
|
+
onChange?: ((_origin: [number, number, number]) => any) | undefined;
|
|
2538
|
+
"onInteraction-start"?: ((_origin: [number, number, number]) => any) | undefined;
|
|
2539
|
+
"onInteraction-end"?: ((_origin: [number, number, number]) => any) | undefined;
|
|
2540
|
+
}>, {
|
|
2541
|
+
enabled: boolean;
|
|
2542
|
+
lookEnabled: boolean;
|
|
2543
|
+
moveEnabled: boolean;
|
|
2544
|
+
jumpEnabled: boolean;
|
|
2545
|
+
crouchEnabled: boolean;
|
|
2546
|
+
lookSensitivity: number;
|
|
2547
|
+
invertY: boolean;
|
|
2548
|
+
moveSpeed: number;
|
|
2549
|
+
jumpVelocity: number;
|
|
2550
|
+
gravity: number;
|
|
2551
|
+
eyeHeight: number;
|
|
2552
|
+
crouchHeight: number;
|
|
2553
|
+
groundZ: number;
|
|
2554
|
+
minPitch: number;
|
|
2555
|
+
maxPitch: number;
|
|
2556
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
2557
|
+
|
|
1228
2558
|
interface PolySelectProps {
|
|
1229
2559
|
multiple?: boolean;
|
|
1230
2560
|
clearOnMiss?: boolean;
|
|
@@ -1419,6 +2749,29 @@ declare const PolyDirectionalLightHelper: vue.DefineComponent<vue.ExtractPropTyp
|
|
|
1419
2749
|
|
|
1420
2750
|
declare function injectPolyBaseStyles(doc?: Document): void;
|
|
1421
2751
|
|
|
2752
|
+
interface PolyRenderSurfaceLeafCounts {
|
|
2753
|
+
quad: number;
|
|
2754
|
+
clippedSolid: number;
|
|
2755
|
+
atlas: number;
|
|
2756
|
+
stableTriangle: number;
|
|
2757
|
+
}
|
|
2758
|
+
interface PolyRenderStats {
|
|
2759
|
+
polygonCount: number;
|
|
2760
|
+
mountedPolygonLeafCount: number;
|
|
2761
|
+
shadowLeafCount: number;
|
|
2762
|
+
surfaceLeafCounts: PolyRenderSurfaceLeafCounts;
|
|
2763
|
+
bucketCount: number;
|
|
2764
|
+
}
|
|
2765
|
+
interface PolyRenderStatsOptions {
|
|
2766
|
+
polygonCount?: number;
|
|
2767
|
+
/**
|
|
2768
|
+
* Optional subtree selector for diagnostics that only want model leaves and
|
|
2769
|
+
* not helpers/floors/gizmos sharing the same scene root.
|
|
2770
|
+
*/
|
|
2771
|
+
scopeSelector?: string;
|
|
2772
|
+
}
|
|
2773
|
+
declare function collectPolyRenderStats(root: ParentNode | null | undefined, optionsOrPolygonCount?: number | PolyRenderStatsOptions): PolyRenderStats;
|
|
2774
|
+
|
|
1422
2775
|
interface UsePolyAnimationResultVue {
|
|
1423
2776
|
/** Attach to a mesh handle when not passing `root` directly. */
|
|
1424
2777
|
ref: Ref<PolyAnimationTarget | null>;
|
|
@@ -1436,4 +2789,4 @@ interface UsePolyAnimationResultVue {
|
|
|
1436
2789
|
}
|
|
1437
2790
|
declare function usePolyAnimation(clips: MaybeRef<PolyAnimationClip[] | undefined>, controller: MaybeRef<ParseAnimationController | undefined>, root?: MaybeRef<PolyAnimationTarget | null | undefined>): UsePolyAnimationResultVue;
|
|
1438
2791
|
|
|
1439
|
-
export { type InteractionProps, Poly, PolyAxesHelper, type PolyAxesHelperProps,
|
|
2792
|
+
export { type InteractionProps, Poly, PolyAxesHelper, type PolyAxesHelperProps, PolyBox, PolyOrthographicCamera as PolyCamera, PolyCameraContextKey, type PolyCameraContextValue, type PolyOrthographicCameraProps as PolyCameraProps, PolyCone, type PolyContext, type PolyControlsAnimateOptions, PolyCylinder, PolyDirectionalLightHelper, type PolyDirectionalLightHelperProps, PolyDodecahedron, type PolyEventHandler, PolyFirstPersonControls, type PolyFirstPersonControlsHandle, type PolyFirstPersonControlsOptions, PolyGround, type PolyGroundProps, PolyIcosahedron, PolyMapControls, type PolyMapControlsCamera, type PolyMapControlsProps, PolyMesh, type PolyMeshHandle, type PolyMeshProps, type PolyMouseEvent, PolyOctahedron, PolyOrbitControls, type PolyOrbitControlsCamera, type PolyOrbitControlsProps, PolyOrthographicCamera, type PolyOrthographicCameraProps, PolyPerspectiveCamera, type PolyPerspectiveCameraProps, PolyPlane, type PolyPointerEvent, type PolyProps, type PolyRenderStats, type PolyRenderStatsOptions, type PolyRenderSurfaceLeafCounts, PolyRing, PolyScene, type PolySceneProps, PolySelect, type PolySelectProps, type PolySelectionApi, PolySelectionContextKey, PolySphere, PolyTetrahedron, PolyTorus, PolyTransformControls, type PolyTransformControlsObject, type PolyTransformControlsObjectChangeEvent, type PolyTransformControlsProps, type PolyWheelEvent, type UseCameraOptions, type UseCameraResult, type UseMeshOptions, type UseMeshResult, type UsePolyAnimationResultVue, type UseSceneContextOptions, type UseSceneContextResult, collectPolyRenderStats, findMeshUnderPoint, findPolyMeshHandle, injectPolyBaseStyles, pointInMeshElement, usePolyAnimation, usePolyCamera, usePolyMaterial, usePolyMesh, usePolySceneContext, usePolySelect, usePolySelectionApi };
|