@layoutit/polycss-vue 0.2.0 → 0.2.2
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 -141
- package/dist/index.cjs +190 -61
- package/dist/index.d.cts +1378 -91
- package/dist/index.d.ts +1378 -91
- package/dist/index.js +190 -61
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
|
-
import { PropType, Ref, InjectionKey, VNode, ComputedRef, MaybeRef } from 'vue';
|
|
3
|
-
import
|
|
4
|
-
|
|
2
|
+
import { PropType, Ref, InjectionKey, VNode, CSSProperties, ComputedRef, MaybeRef } from 'vue';
|
|
3
|
+
import * as _layoutit_polycss_core from '@layoutit/polycss-core';
|
|
4
|
+
import { Vec3, CameraState, CameraHandle, Polygon, PolyDirectionalLight, PolyAmbientLight, PolyTextureLightingMode, TextureQuality, PolySeamBleed, PolyRenderStrategiesOption, LoadMeshOptions, ParseResult, MeshResolution, PolyMaterial, Vec2, BoxPolygonsOptions, ConePolygonsOptions, CylinderPolygonsOptions, DodecahedronPolygonsOptions, IcosahedronPolygonsOptions, OctahedronPolygonsOptions, PlanePolygonsOptions, RingPolygonsOptions, SpherePolygonsOptions, TetrahedronPolygonsOptions, TorusPolygonsOptions, PolyAnimationTarget, PolyAnimationMixer, PolyAnimationClip, PolyAnimationAction, ParseAnimationController } from '@layoutit/polycss-core';
|
|
5
|
+
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, OptimizeMeshParseResultOptions, OptimizeMeshPolygonsOptions, ParseAnimationClip, ParseAnimationController, ParseResult, ParseStlColor, ParseStlSolid, ParseStlTopology, 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, SimplifyTriangleMeshPolygonsOptions, SolidTextureSampleOptions, StlParseOptions, 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, optimizeMeshParseResult, optimizeMeshPolygons, parseColor, parseGltf, parseHexColor, parseMtl, parseObj, parsePureColor, parseRgbColor, parseStl, parseVox, planePolygons, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, repairMeshSeams, ringPolygons, rotateVec3, seamFacetSplitPolygons, seamFacetSplitReport, seamOverlapDiagnostics, seamOverlapPolygons, seamOverlapReport, shadeColor, simplifyTriangleMeshPolygons, tetrahedronPolygons, torusPolygons } from '@layoutit/polycss-core';
|
|
5
6
|
|
|
6
|
-
interface
|
|
7
|
+
interface PolyOrthographicCameraProps {
|
|
7
8
|
zoom?: number;
|
|
8
9
|
target?: Vec3;
|
|
9
10
|
rotX?: number;
|
|
10
11
|
rotY?: number;
|
|
11
12
|
/** Camera pull-back in CSS pixels (dolly). Default 0. */
|
|
12
13
|
distance?: number;
|
|
13
|
-
/** CSS perspective distance in pixels. Defaults to 8000. */
|
|
14
|
-
perspective?: number;
|
|
15
14
|
class?: string;
|
|
16
15
|
}
|
|
17
|
-
declare const
|
|
16
|
+
declare const PolyOrthographicCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
18
17
|
zoom: {
|
|
19
18
|
type: NumberConstructor;
|
|
20
19
|
};
|
|
@@ -30,10 +29,6 @@ declare const PolyPerspectiveCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
30
29
|
distance: {
|
|
31
30
|
type: NumberConstructor;
|
|
32
31
|
};
|
|
33
|
-
perspective: {
|
|
34
|
-
type: NumberConstructor;
|
|
35
|
-
default: undefined;
|
|
36
|
-
};
|
|
37
32
|
class: {
|
|
38
33
|
type: StringConstructor;
|
|
39
34
|
};
|
|
@@ -55,27 +50,23 @@ declare const PolyPerspectiveCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
55
50
|
distance: {
|
|
56
51
|
type: NumberConstructor;
|
|
57
52
|
};
|
|
58
|
-
perspective: {
|
|
59
|
-
type: NumberConstructor;
|
|
60
|
-
default: undefined;
|
|
61
|
-
};
|
|
62
53
|
class: {
|
|
63
54
|
type: StringConstructor;
|
|
64
55
|
};
|
|
65
|
-
}>> & Readonly<{}>, {
|
|
66
|
-
perspective: number;
|
|
67
|
-
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
56
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
68
57
|
|
|
69
|
-
interface
|
|
58
|
+
interface PolyPerspectiveCameraProps {
|
|
70
59
|
zoom?: number;
|
|
71
60
|
target?: Vec3;
|
|
72
61
|
rotX?: number;
|
|
73
62
|
rotY?: number;
|
|
74
63
|
/** Camera pull-back in CSS pixels (dolly). Default 0. */
|
|
75
64
|
distance?: number;
|
|
65
|
+
/** CSS perspective distance in pixels. Defaults to 32000. */
|
|
66
|
+
perspective?: number;
|
|
76
67
|
class?: string;
|
|
77
68
|
}
|
|
78
|
-
declare const
|
|
69
|
+
declare const PolyPerspectiveCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
79
70
|
zoom: {
|
|
80
71
|
type: NumberConstructor;
|
|
81
72
|
};
|
|
@@ -91,6 +82,10 @@ declare const PolyOrthographicCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
91
82
|
distance: {
|
|
92
83
|
type: NumberConstructor;
|
|
93
84
|
};
|
|
85
|
+
perspective: {
|
|
86
|
+
type: NumberConstructor;
|
|
87
|
+
default: undefined;
|
|
88
|
+
};
|
|
94
89
|
class: {
|
|
95
90
|
type: StringConstructor;
|
|
96
91
|
};
|
|
@@ -112,13 +107,19 @@ declare const PolyOrthographicCamera: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
112
107
|
distance: {
|
|
113
108
|
type: NumberConstructor;
|
|
114
109
|
};
|
|
110
|
+
perspective: {
|
|
111
|
+
type: NumberConstructor;
|
|
112
|
+
default: undefined;
|
|
113
|
+
};
|
|
115
114
|
class: {
|
|
116
115
|
type: StringConstructor;
|
|
117
116
|
};
|
|
118
|
-
}>> & Readonly<{}>, {
|
|
117
|
+
}>> & Readonly<{}>, {
|
|
118
|
+
perspective: number;
|
|
119
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
119
120
|
|
|
120
121
|
/**
|
|
121
|
-
* Lightweight reactive store for
|
|
122
|
+
* Lightweight reactive store for PolyCSS scene state.
|
|
122
123
|
* Components subscribe to specific slices via selectors,
|
|
123
124
|
* so only the components that care about a changed value re-render.
|
|
124
125
|
*/
|
|
@@ -207,19 +208,18 @@ interface PolyShadowOptions {
|
|
|
207
208
|
color?: string;
|
|
208
209
|
opacity?: number;
|
|
209
210
|
lift?: number;
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
* fallback and cannot be disabled — textured polys have no other path. */
|
|
218
|
-
disable?: readonly PolyRenderStrategy[];
|
|
211
|
+
/**
|
|
212
|
+
* Maximum CSS pixels the shadow may extend beyond the mesh's
|
|
213
|
+
* footprint. Caps the SVG backing store at low light elevations to
|
|
214
|
+
* prevent repaint flicker. Default: `2000`. Pass `Infinity` to
|
|
215
|
+
* disable the cap entirely.
|
|
216
|
+
*/
|
|
217
|
+
maxExtend?: number;
|
|
219
218
|
}
|
|
220
219
|
|
|
221
220
|
interface PolySceneProps {
|
|
222
221
|
polygons?: Polygon[];
|
|
222
|
+
centerPolygons?: Polygon[];
|
|
223
223
|
perspective?: number;
|
|
224
224
|
rotX?: number;
|
|
225
225
|
rotY?: number;
|
|
@@ -232,6 +232,8 @@ interface PolySceneProps {
|
|
|
232
232
|
* desktop/mobile sprite sizing. Numeric values 0.1..1 force an explicit
|
|
233
233
|
* raster scale and the 64px sprite. */
|
|
234
234
|
textureQuality?: TextureQuality;
|
|
235
|
+
/** Solid seam overscan. `"auto"` computes a fitted per-edge amount from the polygon plan. */
|
|
236
|
+
seamBleed?: PolySeamBleed;
|
|
235
237
|
/** 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
238
|
strategies?: PolyRenderStrategiesOption;
|
|
237
239
|
/**
|
|
@@ -242,9 +244,10 @@ interface PolySceneProps {
|
|
|
242
244
|
*/
|
|
243
245
|
autoCenter?: boolean;
|
|
244
246
|
/**
|
|
245
|
-
* Shadow appearance for meshes with `castShadow: true`.
|
|
246
|
-
*
|
|
247
|
-
*
|
|
247
|
+
* Shadow appearance for meshes with `castShadow: true`. Works in both
|
|
248
|
+
* lighting modes. Shadows emit as SVG paths and reproject when light,
|
|
249
|
+
* ground, or mesh geometry changes. Defaults:
|
|
250
|
+
* `{ color: "#000000", opacity: 0.25, lift: 0.05, maxExtend: 2000 }`.
|
|
248
251
|
*/
|
|
249
252
|
shadow?: PolyShadowOptions;
|
|
250
253
|
class?: string;
|
|
@@ -259,6 +262,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
259
262
|
type: PropType<Polygon[]>;
|
|
260
263
|
default: undefined;
|
|
261
264
|
};
|
|
265
|
+
centerPolygons: {
|
|
266
|
+
type: PropType<Polygon[]>;
|
|
267
|
+
default: undefined;
|
|
268
|
+
};
|
|
262
269
|
perspective: {
|
|
263
270
|
type: NumberConstructor;
|
|
264
271
|
};
|
|
@@ -287,6 +294,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
287
294
|
type: PropType<TextureQuality>;
|
|
288
295
|
default: undefined;
|
|
289
296
|
};
|
|
297
|
+
seamBleed: {
|
|
298
|
+
type: PropType<PolySeamBleed>;
|
|
299
|
+
default: undefined;
|
|
300
|
+
};
|
|
290
301
|
strategies: {
|
|
291
302
|
type: PropType<PolyRenderStrategiesOption>;
|
|
292
303
|
default: undefined;
|
|
@@ -327,6 +338,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
327
338
|
type: PropType<Polygon[]>;
|
|
328
339
|
default: undefined;
|
|
329
340
|
};
|
|
341
|
+
centerPolygons: {
|
|
342
|
+
type: PropType<Polygon[]>;
|
|
343
|
+
default: undefined;
|
|
344
|
+
};
|
|
330
345
|
perspective: {
|
|
331
346
|
type: NumberConstructor;
|
|
332
347
|
};
|
|
@@ -355,6 +370,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
355
370
|
type: PropType<TextureQuality>;
|
|
356
371
|
default: undefined;
|
|
357
372
|
};
|
|
373
|
+
seamBleed: {
|
|
374
|
+
type: PropType<PolySeamBleed>;
|
|
375
|
+
default: undefined;
|
|
376
|
+
};
|
|
358
377
|
strategies: {
|
|
359
378
|
type: PropType<PolyRenderStrategiesOption>;
|
|
360
379
|
default: undefined;
|
|
@@ -390,10 +409,12 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
390
409
|
};
|
|
391
410
|
}>> & Readonly<{}>, {
|
|
392
411
|
directionalLight: PolyDirectionalLight;
|
|
393
|
-
textureLighting: PolyTextureLightingMode;
|
|
394
412
|
position: Vec3;
|
|
395
413
|
scale: number | Vec3;
|
|
414
|
+
seamBleed: PolySeamBleed;
|
|
415
|
+
textureLighting: PolyTextureLightingMode;
|
|
396
416
|
polygons: Polygon[];
|
|
417
|
+
centerPolygons: Polygon[];
|
|
397
418
|
ambientLight: PolyAmbientLight;
|
|
398
419
|
textureQuality: TextureQuality;
|
|
399
420
|
strategies: PolyRenderStrategiesOption;
|
|
@@ -404,10 +425,22 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
404
425
|
debugShowBackfaces: boolean;
|
|
405
426
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
406
427
|
|
|
428
|
+
type UseMeshOptions = LoadMeshOptions;
|
|
429
|
+
interface UseMeshResult {
|
|
430
|
+
polygons: Ref<Polygon[]>;
|
|
431
|
+
voxelSource: Ref<ParseResult["voxelSource"]>;
|
|
432
|
+
loading: Ref<boolean>;
|
|
433
|
+
error: Ref<Error | null>;
|
|
434
|
+
warnings: Ref<string[]>;
|
|
435
|
+
/** Manually trigger cleanup (also called on unmount automatically). */
|
|
436
|
+
dispose: () => void;
|
|
437
|
+
}
|
|
438
|
+
declare function usePolyMesh(src: Ref<string>, options?: UseMeshOptions): UseMeshResult;
|
|
439
|
+
|
|
407
440
|
/**
|
|
408
441
|
* Pointer event API for `<PolyMesh>` (Vue). Mirrors @react-three/fiber's
|
|
409
442
|
* mesh event surface (handler names + payload shape) so devs migrating
|
|
410
|
-
* from three.js use the same mental model.
|
|
443
|
+
* from three.js use the same mental model. PolyCSS is DOM-native so
|
|
411
444
|
* we get native pointer events for free — no raycaster, no canvas
|
|
412
445
|
* event synthesis.
|
|
413
446
|
*
|
|
@@ -429,6 +462,12 @@ interface PolyMeshHandle {
|
|
|
429
462
|
getRotation(): Vec3 | undefined;
|
|
430
463
|
getScale(): number | Vec3 | undefined;
|
|
431
464
|
getPolygons(): Polygon[];
|
|
465
|
+
/**
|
|
466
|
+
* Replace the mesh polygons imperatively. Animated solid-triangle meshes use
|
|
467
|
+
* a stable DOM update path that mutates mounted leaves directly; unsupported
|
|
468
|
+
* topology falls back to the normal framework render path.
|
|
469
|
+
*/
|
|
470
|
+
setPolygons(polygons: Polygon[]): void;
|
|
432
471
|
/**
|
|
433
472
|
* Update a single polygon in place. `target` is either a polygon
|
|
434
473
|
* reference (as returned by `getPolygons()`) or its index. `partial`
|
|
@@ -514,13 +553,41 @@ interface PolyMeshProps extends InteractionProps {
|
|
|
514
553
|
* desktop/mobile sprite sizing. Numeric values 0.1..1 force an explicit
|
|
515
554
|
* raster scale and the 64px sprite. */
|
|
516
555
|
textureQuality?: TextureQuality;
|
|
556
|
+
/** Solid seam overscan. `"auto"` computes a fitted per-edge amount from the polygon plan. */
|
|
557
|
+
seamBleed?: PolySeamBleed;
|
|
558
|
+
/**
|
|
559
|
+
* Hold the previous frame until the next atlas is decoded, then swap
|
|
560
|
+
* atomically. Best for discrete geometry edits where a partial texture
|
|
561
|
+
* frame would be visible.
|
|
562
|
+
*/
|
|
563
|
+
atomicAtlas?: boolean;
|
|
564
|
+
/** Fires when the displayed atlas frame swaps to a ready one in atomic mode. */
|
|
565
|
+
onFrameReady?: () => void;
|
|
517
566
|
/**
|
|
518
|
-
* When `true
|
|
519
|
-
*
|
|
520
|
-
*
|
|
567
|
+
* When `true`, emits a per-mesh SVG shadow path in both lighting modes.
|
|
568
|
+
* Each casting polygon projects onto the scene ground plane along the
|
|
569
|
+
* directional light; overlapping outlines are merged into one silhouette.
|
|
521
570
|
* Defaults to `false`.
|
|
522
571
|
*/
|
|
523
572
|
castShadow?: boolean;
|
|
573
|
+
/**
|
|
574
|
+
* When `true`, this mesh acts as a shadow receiver. The scene's caster
|
|
575
|
+
* meshes (those with `castShadow=true`) project per-coplanar-face SVG
|
|
576
|
+
* shadows onto each visible surface, matching Three.js's `mesh.receiveShadow`
|
|
577
|
+
* semantics. Disables the ground-shadow fallback when at least one
|
|
578
|
+
* receiver exists. Defaults to `false`.
|
|
579
|
+
*/
|
|
580
|
+
receiveShadow?: boolean;
|
|
581
|
+
/** Apply mesh optimization (coplanar merge + interior cull) before
|
|
582
|
+
* rendering. Defaults to `true` — matches vanilla `scene.add`. Set
|
|
583
|
+
* `false` for helper meshes whose geometry shouldn't be merged. */
|
|
584
|
+
merge?: boolean;
|
|
585
|
+
/** Mesh optimization intent. Defaults to "lossy"; set "lossless" to keep
|
|
586
|
+
* authored surface fidelity. Top-level prop wins over any meshResolution
|
|
587
|
+
* that might be set inside parseOptions. */
|
|
588
|
+
meshResolution?: MeshResolution;
|
|
589
|
+
/** Parser options forwarded to parseObj/parseGltf/parseVox. */
|
|
590
|
+
parseOptions?: UseMeshOptions;
|
|
524
591
|
class?: string;
|
|
525
592
|
position?: Vec3;
|
|
526
593
|
scale?: number | Vec3;
|
|
@@ -543,6 +610,13 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
543
610
|
type: PropType<Polygon[]>;
|
|
544
611
|
default: undefined;
|
|
545
612
|
};
|
|
613
|
+
/** Optional `parseResult.voxelSource` companion for `.vox` meshes. When
|
|
614
|
+
* set alongside `polygons`, the direct voxel renderer fast path
|
|
615
|
+
* activates — mirrors vanilla's `scene.add(parseResult)` behaviour. */
|
|
616
|
+
voxelSource: {
|
|
617
|
+
type: PropType<_layoutit_polycss_core.ParseResult["voxelSource"]>;
|
|
618
|
+
default: undefined;
|
|
619
|
+
};
|
|
546
620
|
autoCenter: {
|
|
547
621
|
type: BooleanConstructor;
|
|
548
622
|
default: boolean;
|
|
@@ -555,10 +629,38 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
555
629
|
type: PropType<TextureQuality>;
|
|
556
630
|
default: undefined;
|
|
557
631
|
};
|
|
632
|
+
seamBleed: {
|
|
633
|
+
type: PropType<PolySeamBleed>;
|
|
634
|
+
default: undefined;
|
|
635
|
+
};
|
|
636
|
+
atomicAtlas: {
|
|
637
|
+
type: PropType<boolean>;
|
|
638
|
+
default: boolean;
|
|
639
|
+
};
|
|
640
|
+
onFrameReady: {
|
|
641
|
+
type: PropType<() => void>;
|
|
642
|
+
default: undefined;
|
|
643
|
+
};
|
|
558
644
|
castShadow: {
|
|
559
645
|
type: PropType<boolean>;
|
|
560
646
|
default: boolean;
|
|
561
647
|
};
|
|
648
|
+
receiveShadow: {
|
|
649
|
+
type: PropType<boolean>;
|
|
650
|
+
default: boolean;
|
|
651
|
+
};
|
|
652
|
+
merge: {
|
|
653
|
+
type: PropType<boolean>;
|
|
654
|
+
default: boolean;
|
|
655
|
+
};
|
|
656
|
+
meshResolution: {
|
|
657
|
+
type: PropType<MeshResolution>;
|
|
658
|
+
default: undefined;
|
|
659
|
+
};
|
|
660
|
+
parseOptions: {
|
|
661
|
+
type: PropType<UseMeshOptions>;
|
|
662
|
+
default: undefined;
|
|
663
|
+
};
|
|
562
664
|
class: {
|
|
563
665
|
type: StringConstructor;
|
|
564
666
|
};
|
|
@@ -641,6 +743,13 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
641
743
|
type: PropType<Polygon[]>;
|
|
642
744
|
default: undefined;
|
|
643
745
|
};
|
|
746
|
+
/** Optional `parseResult.voxelSource` companion for `.vox` meshes. When
|
|
747
|
+
* set alongside `polygons`, the direct voxel renderer fast path
|
|
748
|
+
* activates — mirrors vanilla's `scene.add(parseResult)` behaviour. */
|
|
749
|
+
voxelSource: {
|
|
750
|
+
type: PropType<_layoutit_polycss_core.ParseResult["voxelSource"]>;
|
|
751
|
+
default: undefined;
|
|
752
|
+
};
|
|
644
753
|
autoCenter: {
|
|
645
754
|
type: BooleanConstructor;
|
|
646
755
|
default: boolean;
|
|
@@ -653,10 +762,38 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
653
762
|
type: PropType<TextureQuality>;
|
|
654
763
|
default: undefined;
|
|
655
764
|
};
|
|
765
|
+
seamBleed: {
|
|
766
|
+
type: PropType<PolySeamBleed>;
|
|
767
|
+
default: undefined;
|
|
768
|
+
};
|
|
769
|
+
atomicAtlas: {
|
|
770
|
+
type: PropType<boolean>;
|
|
771
|
+
default: boolean;
|
|
772
|
+
};
|
|
773
|
+
onFrameReady: {
|
|
774
|
+
type: PropType<() => void>;
|
|
775
|
+
default: undefined;
|
|
776
|
+
};
|
|
656
777
|
castShadow: {
|
|
657
778
|
type: PropType<boolean>;
|
|
658
779
|
default: boolean;
|
|
659
780
|
};
|
|
781
|
+
receiveShadow: {
|
|
782
|
+
type: PropType<boolean>;
|
|
783
|
+
default: boolean;
|
|
784
|
+
};
|
|
785
|
+
merge: {
|
|
786
|
+
type: PropType<boolean>;
|
|
787
|
+
default: boolean;
|
|
788
|
+
};
|
|
789
|
+
meshResolution: {
|
|
790
|
+
type: PropType<MeshResolution>;
|
|
791
|
+
default: undefined;
|
|
792
|
+
};
|
|
793
|
+
parseOptions: {
|
|
794
|
+
type: PropType<UseMeshOptions>;
|
|
795
|
+
default: undefined;
|
|
796
|
+
};
|
|
660
797
|
class: {
|
|
661
798
|
type: StringConstructor;
|
|
662
799
|
};
|
|
@@ -723,17 +860,25 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
723
860
|
}>> & Readonly<{}>, {
|
|
724
861
|
onClick: PolyEventHandler<MouseEvent>;
|
|
725
862
|
onWheel: PolyEventHandler<WheelEvent>;
|
|
726
|
-
textureLighting: PolyTextureLightingMode;
|
|
727
863
|
position: Vec3;
|
|
728
864
|
scale: number | Vec3;
|
|
865
|
+
seamBleed: PolySeamBleed;
|
|
866
|
+
textureLighting: PolyTextureLightingMode;
|
|
729
867
|
polygons: Polygon[];
|
|
730
868
|
textureQuality: TextureQuality;
|
|
731
869
|
autoCenter: boolean;
|
|
732
870
|
rotation: Vec3;
|
|
871
|
+
voxelSource: _layoutit_polycss_core.PolyVoxelSource | undefined;
|
|
733
872
|
id: string;
|
|
734
873
|
src: string;
|
|
735
874
|
mtl: string;
|
|
875
|
+
atomicAtlas: boolean;
|
|
876
|
+
onFrameReady: () => void;
|
|
736
877
|
castShadow: boolean;
|
|
878
|
+
receiveShadow: boolean;
|
|
879
|
+
merge: boolean;
|
|
880
|
+
meshResolution: MeshResolution;
|
|
881
|
+
parseOptions: _layoutit_polycss_core.LoadMeshOptions;
|
|
737
882
|
onContextMenu: PolyEventHandler<MouseEvent>;
|
|
738
883
|
onDoubleClick: PolyEventHandler<MouseEvent>;
|
|
739
884
|
onPointerDown: PolyEventHandler<PointerEvent>;
|
|
@@ -746,6 +891,142 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
746
891
|
onPointerCancel: PolyEventHandler<PointerEvent>;
|
|
747
892
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
748
893
|
|
|
894
|
+
interface PolyIframeProps {
|
|
895
|
+
src: string;
|
|
896
|
+
width: number;
|
|
897
|
+
height: number;
|
|
898
|
+
position?: Vec3;
|
|
899
|
+
rotation?: Vec3;
|
|
900
|
+
scale?: number | Vec3;
|
|
901
|
+
allow?: string;
|
|
902
|
+
sandbox?: string;
|
|
903
|
+
loading?: "lazy" | "eager";
|
|
904
|
+
referrerpolicy?: string;
|
|
905
|
+
title?: string;
|
|
906
|
+
class?: string;
|
|
907
|
+
style?: CSSProperties;
|
|
908
|
+
}
|
|
909
|
+
declare const PolyIframe: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
910
|
+
src: {
|
|
911
|
+
type: StringConstructor;
|
|
912
|
+
required: true;
|
|
913
|
+
};
|
|
914
|
+
width: {
|
|
915
|
+
type: NumberConstructor;
|
|
916
|
+
required: true;
|
|
917
|
+
};
|
|
918
|
+
height: {
|
|
919
|
+
type: NumberConstructor;
|
|
920
|
+
required: true;
|
|
921
|
+
};
|
|
922
|
+
position: {
|
|
923
|
+
type: PropType<Vec3>;
|
|
924
|
+
default: undefined;
|
|
925
|
+
};
|
|
926
|
+
rotation: {
|
|
927
|
+
type: PropType<Vec3>;
|
|
928
|
+
default: undefined;
|
|
929
|
+
};
|
|
930
|
+
scale: {
|
|
931
|
+
type: PropType<number | Vec3>;
|
|
932
|
+
default: undefined;
|
|
933
|
+
};
|
|
934
|
+
allow: {
|
|
935
|
+
type: StringConstructor;
|
|
936
|
+
default: undefined;
|
|
937
|
+
};
|
|
938
|
+
sandbox: {
|
|
939
|
+
type: StringConstructor;
|
|
940
|
+
default: undefined;
|
|
941
|
+
};
|
|
942
|
+
loading: {
|
|
943
|
+
type: PropType<"lazy" | "eager">;
|
|
944
|
+
default: undefined;
|
|
945
|
+
};
|
|
946
|
+
referrerpolicy: {
|
|
947
|
+
type: StringConstructor;
|
|
948
|
+
default: undefined;
|
|
949
|
+
};
|
|
950
|
+
title: {
|
|
951
|
+
type: StringConstructor;
|
|
952
|
+
default: undefined;
|
|
953
|
+
};
|
|
954
|
+
class: {
|
|
955
|
+
type: StringConstructor;
|
|
956
|
+
default: undefined;
|
|
957
|
+
};
|
|
958
|
+
style: {
|
|
959
|
+
type: PropType<CSSProperties>;
|
|
960
|
+
default: undefined;
|
|
961
|
+
};
|
|
962
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
963
|
+
[key: string]: any;
|
|
964
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
965
|
+
src: {
|
|
966
|
+
type: StringConstructor;
|
|
967
|
+
required: true;
|
|
968
|
+
};
|
|
969
|
+
width: {
|
|
970
|
+
type: NumberConstructor;
|
|
971
|
+
required: true;
|
|
972
|
+
};
|
|
973
|
+
height: {
|
|
974
|
+
type: NumberConstructor;
|
|
975
|
+
required: true;
|
|
976
|
+
};
|
|
977
|
+
position: {
|
|
978
|
+
type: PropType<Vec3>;
|
|
979
|
+
default: undefined;
|
|
980
|
+
};
|
|
981
|
+
rotation: {
|
|
982
|
+
type: PropType<Vec3>;
|
|
983
|
+
default: undefined;
|
|
984
|
+
};
|
|
985
|
+
scale: {
|
|
986
|
+
type: PropType<number | Vec3>;
|
|
987
|
+
default: undefined;
|
|
988
|
+
};
|
|
989
|
+
allow: {
|
|
990
|
+
type: StringConstructor;
|
|
991
|
+
default: undefined;
|
|
992
|
+
};
|
|
993
|
+
sandbox: {
|
|
994
|
+
type: StringConstructor;
|
|
995
|
+
default: undefined;
|
|
996
|
+
};
|
|
997
|
+
loading: {
|
|
998
|
+
type: PropType<"lazy" | "eager">;
|
|
999
|
+
default: undefined;
|
|
1000
|
+
};
|
|
1001
|
+
referrerpolicy: {
|
|
1002
|
+
type: StringConstructor;
|
|
1003
|
+
default: undefined;
|
|
1004
|
+
};
|
|
1005
|
+
title: {
|
|
1006
|
+
type: StringConstructor;
|
|
1007
|
+
default: undefined;
|
|
1008
|
+
};
|
|
1009
|
+
class: {
|
|
1010
|
+
type: StringConstructor;
|
|
1011
|
+
default: undefined;
|
|
1012
|
+
};
|
|
1013
|
+
style: {
|
|
1014
|
+
type: PropType<CSSProperties>;
|
|
1015
|
+
default: undefined;
|
|
1016
|
+
};
|
|
1017
|
+
}>> & Readonly<{}>, {
|
|
1018
|
+
class: string;
|
|
1019
|
+
style: CSSProperties;
|
|
1020
|
+
title: string;
|
|
1021
|
+
position: Vec3;
|
|
1022
|
+
scale: number | Vec3;
|
|
1023
|
+
rotation: Vec3;
|
|
1024
|
+
allow: string;
|
|
1025
|
+
sandbox: string;
|
|
1026
|
+
loading: "eager" | "lazy";
|
|
1027
|
+
referrerpolicy: string;
|
|
1028
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1029
|
+
|
|
749
1030
|
interface PolyGroundProps {
|
|
750
1031
|
/** Side length of the ground quad in world units. Default `6`. */
|
|
751
1032
|
size?: number;
|
|
@@ -753,8 +1034,8 @@ interface PolyGroundProps {
|
|
|
753
1034
|
z?: number;
|
|
754
1035
|
/** World-space XY center. Default `[0, 0]`. */
|
|
755
1036
|
center?: [number, number];
|
|
756
|
-
/** Fill color. Default `#7d848e` — medium gray, chosen so
|
|
757
|
-
*
|
|
1037
|
+
/** Fill color. Default `#7d848e` — medium gray, chosen so the default
|
|
1038
|
+
* 25% black SVG shadow has visible contrast against it. */
|
|
758
1039
|
color?: string;
|
|
759
1040
|
class?: string;
|
|
760
1041
|
}
|
|
@@ -804,9 +1085,9 @@ declare const PolyGround: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
804
1085
|
};
|
|
805
1086
|
}>> & Readonly<{}>, {
|
|
806
1087
|
class: string;
|
|
807
|
-
color: string;
|
|
808
1088
|
size: number;
|
|
809
1089
|
center: [number, number];
|
|
1090
|
+
color: string;
|
|
810
1091
|
z: number;
|
|
811
1092
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
812
1093
|
|
|
@@ -821,7 +1102,7 @@ interface UseSceneContextResult {
|
|
|
821
1102
|
};
|
|
822
1103
|
}
|
|
823
1104
|
/**
|
|
824
|
-
* Vue 3 composable that runs the
|
|
1105
|
+
* Vue 3 composable that runs the PolyCSS scene-context pipeline:
|
|
825
1106
|
* normalizePolygons → mergePolygons by default → bbox compute.
|
|
826
1107
|
*
|
|
827
1108
|
* Returns a Ref to the processed polygons + the scene-wide axis-aligned bbox.
|
|
@@ -829,17 +1110,6 @@ interface UseSceneContextResult {
|
|
|
829
1110
|
*/
|
|
830
1111
|
declare function usePolySceneContext(polygons: Ref<Polygon[]>, options: Ref<UseSceneContextOptions>): Ref<UseSceneContextResult>;
|
|
831
1112
|
|
|
832
|
-
type UseMeshOptions = LoadMeshOptions;
|
|
833
|
-
interface UseMeshResult {
|
|
834
|
-
polygons: Ref<Polygon[]>;
|
|
835
|
-
loading: Ref<boolean>;
|
|
836
|
-
error: Ref<Error | null>;
|
|
837
|
-
warnings: Ref<string[]>;
|
|
838
|
-
/** Manually trigger cleanup (also called on unmount automatically). */
|
|
839
|
-
dispose: () => void;
|
|
840
|
-
}
|
|
841
|
-
declare function usePolyMesh(src: Ref<string>, options?: UseMeshOptions): UseMeshResult;
|
|
842
|
-
|
|
843
1113
|
/**
|
|
844
1114
|
* usePolyMaterial — Vue composable that returns a stable computed material
|
|
845
1115
|
* handle. Accepts either a plain options object or a reactive getter so that
|
|
@@ -998,48 +1268,1042 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
998
1268
|
};
|
|
999
1269
|
}>> & Readonly<{}>, {
|
|
1000
1270
|
data: Record<string, string | number | boolean>;
|
|
1001
|
-
pointerEvents: "none" | "auto";
|
|
1002
|
-
uvs: Vec2[];
|
|
1003
|
-
textureLighting: PolyTextureLightingMode;
|
|
1004
1271
|
position: Vec3;
|
|
1272
|
+
pointerEvents: "auto" | "none";
|
|
1005
1273
|
scale: number | Vec3;
|
|
1274
|
+
material: PolyMaterial;
|
|
1275
|
+
uvs: Vec2[];
|
|
1276
|
+
textureLighting: PolyTextureLightingMode;
|
|
1006
1277
|
textureQuality: TextureQuality;
|
|
1007
1278
|
rotation: Vec3;
|
|
1008
|
-
material: PolyMaterial;
|
|
1009
1279
|
context: PolyContext;
|
|
1010
1280
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1011
1281
|
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
axis?: "x" | "y";
|
|
1015
|
-
pauseOnInteraction?: boolean;
|
|
1016
|
-
}
|
|
1017
|
-
interface PolyOrbitControlsCamera {
|
|
1018
|
-
rotX: number;
|
|
1019
|
-
rotY: number;
|
|
1020
|
-
zoom: number;
|
|
1021
|
-
target: Vec3;
|
|
1022
|
-
distance: number;
|
|
1023
|
-
}
|
|
1024
|
-
interface PolyOrbitControlsProps {
|
|
1025
|
-
drag?: boolean;
|
|
1026
|
-
wheel?: boolean;
|
|
1027
|
-
/** When true, wheel changes camera pull-back (distance) instead of zoom scale. */
|
|
1028
|
-
dolly?: boolean;
|
|
1029
|
-
invert?: boolean | number;
|
|
1030
|
-
/** Minimum zoom multiplier (zoom mode). Default 0.1. */
|
|
1031
|
-
minZoom?: number;
|
|
1032
|
-
/** Maximum zoom multiplier (zoom mode). Default 10. */
|
|
1033
|
-
maxZoom?: number;
|
|
1034
|
-
/** Minimum camera pull-back in CSS pixels when dolly=true. Default 0. */
|
|
1035
|
-
minDistance?: number;
|
|
1036
|
-
/** Maximum camera pull-back in CSS pixels when dolly=true. Default 5000. */
|
|
1037
|
-
maxDistance?: number;
|
|
1038
|
-
animate?: false | PolyControlsAnimateOptions;
|
|
1282
|
+
type ShapeMeshProps = Omit<PolyMeshProps, "polygons" | "src" | "mtl">;
|
|
1283
|
+
interface PolyBoxProps extends ShapeMeshProps, BoxPolygonsOptions {
|
|
1039
1284
|
}
|
|
1040
|
-
declare const
|
|
1041
|
-
|
|
1042
|
-
type:
|
|
1285
|
+
declare const PolyBox: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1286
|
+
size: {
|
|
1287
|
+
type: PropType<number | Vec3>;
|
|
1288
|
+
default: undefined;
|
|
1289
|
+
};
|
|
1290
|
+
center: {
|
|
1291
|
+
type: PropType<Vec3>;
|
|
1292
|
+
default: undefined;
|
|
1293
|
+
};
|
|
1294
|
+
min: {
|
|
1295
|
+
type: PropType<Vec3>;
|
|
1296
|
+
default: undefined;
|
|
1297
|
+
};
|
|
1298
|
+
max: {
|
|
1299
|
+
type: PropType<Vec3>;
|
|
1300
|
+
default: undefined;
|
|
1301
|
+
};
|
|
1302
|
+
color: {
|
|
1303
|
+
type: StringConstructor;
|
|
1304
|
+
default: undefined;
|
|
1305
|
+
};
|
|
1306
|
+
texture: {
|
|
1307
|
+
type: StringConstructor;
|
|
1308
|
+
default: undefined;
|
|
1309
|
+
};
|
|
1310
|
+
material: {
|
|
1311
|
+
type: PropType<PolyMaterial>;
|
|
1312
|
+
default: undefined;
|
|
1313
|
+
};
|
|
1314
|
+
uvs: {
|
|
1315
|
+
type: PropType<Vec2[]>;
|
|
1316
|
+
default: undefined;
|
|
1317
|
+
};
|
|
1318
|
+
data: {
|
|
1319
|
+
type: PropType<BoxPolygonsOptions["data"]>;
|
|
1320
|
+
default: undefined;
|
|
1321
|
+
};
|
|
1322
|
+
faces: {
|
|
1323
|
+
type: PropType<BoxPolygonsOptions["faces"]>;
|
|
1324
|
+
default: undefined;
|
|
1325
|
+
};
|
|
1326
|
+
position: {
|
|
1327
|
+
type: PropType<Vec3>;
|
|
1328
|
+
default: undefined;
|
|
1329
|
+
};
|
|
1330
|
+
scale: {
|
|
1331
|
+
type: PropType<number | Vec3>;
|
|
1332
|
+
default: undefined;
|
|
1333
|
+
};
|
|
1334
|
+
rotation: {
|
|
1335
|
+
type: PropType<Vec3>;
|
|
1336
|
+
default: undefined;
|
|
1337
|
+
};
|
|
1338
|
+
autoCenter: {
|
|
1339
|
+
type: BooleanConstructor;
|
|
1340
|
+
default: boolean;
|
|
1341
|
+
};
|
|
1342
|
+
id: {
|
|
1343
|
+
type: StringConstructor;
|
|
1344
|
+
default: undefined;
|
|
1345
|
+
};
|
|
1346
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1347
|
+
[key: string]: any;
|
|
1348
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1349
|
+
size: {
|
|
1350
|
+
type: PropType<number | Vec3>;
|
|
1351
|
+
default: undefined;
|
|
1352
|
+
};
|
|
1353
|
+
center: {
|
|
1354
|
+
type: PropType<Vec3>;
|
|
1355
|
+
default: undefined;
|
|
1356
|
+
};
|
|
1357
|
+
min: {
|
|
1358
|
+
type: PropType<Vec3>;
|
|
1359
|
+
default: undefined;
|
|
1360
|
+
};
|
|
1361
|
+
max: {
|
|
1362
|
+
type: PropType<Vec3>;
|
|
1363
|
+
default: undefined;
|
|
1364
|
+
};
|
|
1365
|
+
color: {
|
|
1366
|
+
type: StringConstructor;
|
|
1367
|
+
default: undefined;
|
|
1368
|
+
};
|
|
1369
|
+
texture: {
|
|
1370
|
+
type: StringConstructor;
|
|
1371
|
+
default: undefined;
|
|
1372
|
+
};
|
|
1373
|
+
material: {
|
|
1374
|
+
type: PropType<PolyMaterial>;
|
|
1375
|
+
default: undefined;
|
|
1376
|
+
};
|
|
1377
|
+
uvs: {
|
|
1378
|
+
type: PropType<Vec2[]>;
|
|
1379
|
+
default: undefined;
|
|
1380
|
+
};
|
|
1381
|
+
data: {
|
|
1382
|
+
type: PropType<BoxPolygonsOptions["data"]>;
|
|
1383
|
+
default: undefined;
|
|
1384
|
+
};
|
|
1385
|
+
faces: {
|
|
1386
|
+
type: PropType<BoxPolygonsOptions["faces"]>;
|
|
1387
|
+
default: undefined;
|
|
1388
|
+
};
|
|
1389
|
+
position: {
|
|
1390
|
+
type: PropType<Vec3>;
|
|
1391
|
+
default: undefined;
|
|
1392
|
+
};
|
|
1393
|
+
scale: {
|
|
1394
|
+
type: PropType<number | Vec3>;
|
|
1395
|
+
default: undefined;
|
|
1396
|
+
};
|
|
1397
|
+
rotation: {
|
|
1398
|
+
type: PropType<Vec3>;
|
|
1399
|
+
default: undefined;
|
|
1400
|
+
};
|
|
1401
|
+
autoCenter: {
|
|
1402
|
+
type: BooleanConstructor;
|
|
1403
|
+
default: boolean;
|
|
1404
|
+
};
|
|
1405
|
+
id: {
|
|
1406
|
+
type: StringConstructor;
|
|
1407
|
+
default: undefined;
|
|
1408
|
+
};
|
|
1409
|
+
}>> & Readonly<{}>, {
|
|
1410
|
+
data: Record<string, string | number | boolean> | undefined;
|
|
1411
|
+
size: number | Vec3;
|
|
1412
|
+
center: Vec3;
|
|
1413
|
+
color: string;
|
|
1414
|
+
position: Vec3;
|
|
1415
|
+
scale: number | Vec3;
|
|
1416
|
+
texture: string;
|
|
1417
|
+
material: PolyMaterial;
|
|
1418
|
+
uvs: Vec2[];
|
|
1419
|
+
autoCenter: boolean;
|
|
1420
|
+
rotation: Vec3;
|
|
1421
|
+
id: string;
|
|
1422
|
+
faces: Partial<Record<_layoutit_polycss_core.BoxFace, false | _layoutit_polycss_core.BoxFaceOptions>> | undefined;
|
|
1423
|
+
min: Vec3;
|
|
1424
|
+
max: Vec3;
|
|
1425
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1426
|
+
interface PolyPlaneProps extends ShapeMeshProps, PlanePolygonsOptions {
|
|
1427
|
+
}
|
|
1428
|
+
declare const PolyPlane: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1429
|
+
axis: {
|
|
1430
|
+
type: PropType<0 | 1 | 2>;
|
|
1431
|
+
required: true;
|
|
1432
|
+
};
|
|
1433
|
+
size: {
|
|
1434
|
+
type: NumberConstructor;
|
|
1435
|
+
default: undefined;
|
|
1436
|
+
};
|
|
1437
|
+
offset: {
|
|
1438
|
+
type: PropType<number | [number, number]>;
|
|
1439
|
+
default: undefined;
|
|
1440
|
+
};
|
|
1441
|
+
along: {
|
|
1442
|
+
type: NumberConstructor;
|
|
1443
|
+
default: undefined;
|
|
1444
|
+
};
|
|
1445
|
+
color: {
|
|
1446
|
+
type: StringConstructor;
|
|
1447
|
+
default: undefined;
|
|
1448
|
+
};
|
|
1449
|
+
position: {
|
|
1450
|
+
type: PropType<Vec3>;
|
|
1451
|
+
default: undefined;
|
|
1452
|
+
};
|
|
1453
|
+
scale: {
|
|
1454
|
+
type: PropType<number | Vec3>;
|
|
1455
|
+
default: undefined;
|
|
1456
|
+
};
|
|
1457
|
+
rotation: {
|
|
1458
|
+
type: PropType<Vec3>;
|
|
1459
|
+
default: undefined;
|
|
1460
|
+
};
|
|
1461
|
+
autoCenter: {
|
|
1462
|
+
type: BooleanConstructor;
|
|
1463
|
+
default: boolean;
|
|
1464
|
+
};
|
|
1465
|
+
id: {
|
|
1466
|
+
type: StringConstructor;
|
|
1467
|
+
default: undefined;
|
|
1468
|
+
};
|
|
1469
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1470
|
+
[key: string]: any;
|
|
1471
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1472
|
+
axis: {
|
|
1473
|
+
type: PropType<0 | 1 | 2>;
|
|
1474
|
+
required: true;
|
|
1475
|
+
};
|
|
1476
|
+
size: {
|
|
1477
|
+
type: NumberConstructor;
|
|
1478
|
+
default: undefined;
|
|
1479
|
+
};
|
|
1480
|
+
offset: {
|
|
1481
|
+
type: PropType<number | [number, number]>;
|
|
1482
|
+
default: undefined;
|
|
1483
|
+
};
|
|
1484
|
+
along: {
|
|
1485
|
+
type: NumberConstructor;
|
|
1486
|
+
default: undefined;
|
|
1487
|
+
};
|
|
1488
|
+
color: {
|
|
1489
|
+
type: StringConstructor;
|
|
1490
|
+
default: undefined;
|
|
1491
|
+
};
|
|
1492
|
+
position: {
|
|
1493
|
+
type: PropType<Vec3>;
|
|
1494
|
+
default: undefined;
|
|
1495
|
+
};
|
|
1496
|
+
scale: {
|
|
1497
|
+
type: PropType<number | Vec3>;
|
|
1498
|
+
default: undefined;
|
|
1499
|
+
};
|
|
1500
|
+
rotation: {
|
|
1501
|
+
type: PropType<Vec3>;
|
|
1502
|
+
default: undefined;
|
|
1503
|
+
};
|
|
1504
|
+
autoCenter: {
|
|
1505
|
+
type: BooleanConstructor;
|
|
1506
|
+
default: boolean;
|
|
1507
|
+
};
|
|
1508
|
+
id: {
|
|
1509
|
+
type: StringConstructor;
|
|
1510
|
+
default: undefined;
|
|
1511
|
+
};
|
|
1512
|
+
}>> & Readonly<{}>, {
|
|
1513
|
+
size: number;
|
|
1514
|
+
color: string;
|
|
1515
|
+
position: Vec3;
|
|
1516
|
+
scale: number | Vec3;
|
|
1517
|
+
offset: number | [number, number];
|
|
1518
|
+
autoCenter: boolean;
|
|
1519
|
+
rotation: Vec3;
|
|
1520
|
+
id: string;
|
|
1521
|
+
along: number;
|
|
1522
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1523
|
+
interface PolyRingProps extends ShapeMeshProps, RingPolygonsOptions {
|
|
1524
|
+
}
|
|
1525
|
+
declare const PolyRing: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1526
|
+
axis: {
|
|
1527
|
+
type: PropType<0 | 1 | 2>;
|
|
1528
|
+
required: true;
|
|
1529
|
+
};
|
|
1530
|
+
radius: {
|
|
1531
|
+
type: NumberConstructor;
|
|
1532
|
+
required: true;
|
|
1533
|
+
};
|
|
1534
|
+
halfThickness: {
|
|
1535
|
+
type: NumberConstructor;
|
|
1536
|
+
default: undefined;
|
|
1537
|
+
};
|
|
1538
|
+
segments: {
|
|
1539
|
+
type: NumberConstructor;
|
|
1540
|
+
default: undefined;
|
|
1541
|
+
};
|
|
1542
|
+
color: {
|
|
1543
|
+
type: StringConstructor;
|
|
1544
|
+
default: undefined;
|
|
1545
|
+
};
|
|
1546
|
+
position: {
|
|
1547
|
+
type: PropType<Vec3>;
|
|
1548
|
+
default: undefined;
|
|
1549
|
+
};
|
|
1550
|
+
scale: {
|
|
1551
|
+
type: PropType<number | Vec3>;
|
|
1552
|
+
default: undefined;
|
|
1553
|
+
};
|
|
1554
|
+
rotation: {
|
|
1555
|
+
type: PropType<Vec3>;
|
|
1556
|
+
default: undefined;
|
|
1557
|
+
};
|
|
1558
|
+
autoCenter: {
|
|
1559
|
+
type: BooleanConstructor;
|
|
1560
|
+
default: boolean;
|
|
1561
|
+
};
|
|
1562
|
+
id: {
|
|
1563
|
+
type: StringConstructor;
|
|
1564
|
+
default: undefined;
|
|
1565
|
+
};
|
|
1566
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1567
|
+
[key: string]: any;
|
|
1568
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1569
|
+
axis: {
|
|
1570
|
+
type: PropType<0 | 1 | 2>;
|
|
1571
|
+
required: true;
|
|
1572
|
+
};
|
|
1573
|
+
radius: {
|
|
1574
|
+
type: NumberConstructor;
|
|
1575
|
+
required: true;
|
|
1576
|
+
};
|
|
1577
|
+
halfThickness: {
|
|
1578
|
+
type: NumberConstructor;
|
|
1579
|
+
default: undefined;
|
|
1580
|
+
};
|
|
1581
|
+
segments: {
|
|
1582
|
+
type: NumberConstructor;
|
|
1583
|
+
default: undefined;
|
|
1584
|
+
};
|
|
1585
|
+
color: {
|
|
1586
|
+
type: StringConstructor;
|
|
1587
|
+
default: undefined;
|
|
1588
|
+
};
|
|
1589
|
+
position: {
|
|
1590
|
+
type: PropType<Vec3>;
|
|
1591
|
+
default: undefined;
|
|
1592
|
+
};
|
|
1593
|
+
scale: {
|
|
1594
|
+
type: PropType<number | Vec3>;
|
|
1595
|
+
default: undefined;
|
|
1596
|
+
};
|
|
1597
|
+
rotation: {
|
|
1598
|
+
type: PropType<Vec3>;
|
|
1599
|
+
default: undefined;
|
|
1600
|
+
};
|
|
1601
|
+
autoCenter: {
|
|
1602
|
+
type: BooleanConstructor;
|
|
1603
|
+
default: boolean;
|
|
1604
|
+
};
|
|
1605
|
+
id: {
|
|
1606
|
+
type: StringConstructor;
|
|
1607
|
+
default: undefined;
|
|
1608
|
+
};
|
|
1609
|
+
}>> & Readonly<{}>, {
|
|
1610
|
+
color: string;
|
|
1611
|
+
position: Vec3;
|
|
1612
|
+
scale: number | Vec3;
|
|
1613
|
+
autoCenter: boolean;
|
|
1614
|
+
rotation: Vec3;
|
|
1615
|
+
id: string;
|
|
1616
|
+
halfThickness: number;
|
|
1617
|
+
segments: number;
|
|
1618
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1619
|
+
interface PolyOctahedronProps extends ShapeMeshProps, OctahedronPolygonsOptions {
|
|
1620
|
+
}
|
|
1621
|
+
declare const PolyOctahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1622
|
+
center: {
|
|
1623
|
+
type: PropType<Vec3>;
|
|
1624
|
+
required: true;
|
|
1625
|
+
};
|
|
1626
|
+
size: {
|
|
1627
|
+
type: NumberConstructor;
|
|
1628
|
+
required: true;
|
|
1629
|
+
};
|
|
1630
|
+
color: {
|
|
1631
|
+
type: StringConstructor;
|
|
1632
|
+
default: undefined;
|
|
1633
|
+
};
|
|
1634
|
+
position: {
|
|
1635
|
+
type: PropType<Vec3>;
|
|
1636
|
+
default: undefined;
|
|
1637
|
+
};
|
|
1638
|
+
scale: {
|
|
1639
|
+
type: PropType<number | Vec3>;
|
|
1640
|
+
default: undefined;
|
|
1641
|
+
};
|
|
1642
|
+
rotation: {
|
|
1643
|
+
type: PropType<Vec3>;
|
|
1644
|
+
default: undefined;
|
|
1645
|
+
};
|
|
1646
|
+
autoCenter: {
|
|
1647
|
+
type: BooleanConstructor;
|
|
1648
|
+
default: boolean;
|
|
1649
|
+
};
|
|
1650
|
+
id: {
|
|
1651
|
+
type: StringConstructor;
|
|
1652
|
+
default: undefined;
|
|
1653
|
+
};
|
|
1654
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1655
|
+
[key: string]: any;
|
|
1656
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1657
|
+
center: {
|
|
1658
|
+
type: PropType<Vec3>;
|
|
1659
|
+
required: true;
|
|
1660
|
+
};
|
|
1661
|
+
size: {
|
|
1662
|
+
type: NumberConstructor;
|
|
1663
|
+
required: true;
|
|
1664
|
+
};
|
|
1665
|
+
color: {
|
|
1666
|
+
type: StringConstructor;
|
|
1667
|
+
default: undefined;
|
|
1668
|
+
};
|
|
1669
|
+
position: {
|
|
1670
|
+
type: PropType<Vec3>;
|
|
1671
|
+
default: undefined;
|
|
1672
|
+
};
|
|
1673
|
+
scale: {
|
|
1674
|
+
type: PropType<number | Vec3>;
|
|
1675
|
+
default: undefined;
|
|
1676
|
+
};
|
|
1677
|
+
rotation: {
|
|
1678
|
+
type: PropType<Vec3>;
|
|
1679
|
+
default: undefined;
|
|
1680
|
+
};
|
|
1681
|
+
autoCenter: {
|
|
1682
|
+
type: BooleanConstructor;
|
|
1683
|
+
default: boolean;
|
|
1684
|
+
};
|
|
1685
|
+
id: {
|
|
1686
|
+
type: StringConstructor;
|
|
1687
|
+
default: undefined;
|
|
1688
|
+
};
|
|
1689
|
+
}>> & Readonly<{}>, {
|
|
1690
|
+
color: string;
|
|
1691
|
+
position: Vec3;
|
|
1692
|
+
scale: number | Vec3;
|
|
1693
|
+
autoCenter: boolean;
|
|
1694
|
+
rotation: Vec3;
|
|
1695
|
+
id: string;
|
|
1696
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1697
|
+
interface PolyTetrahedronProps extends ShapeMeshProps, TetrahedronPolygonsOptions {
|
|
1698
|
+
}
|
|
1699
|
+
declare const PolyTetrahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1700
|
+
size: {
|
|
1701
|
+
type: NumberConstructor;
|
|
1702
|
+
default: undefined;
|
|
1703
|
+
};
|
|
1704
|
+
color: {
|
|
1705
|
+
type: StringConstructor;
|
|
1706
|
+
default: undefined;
|
|
1707
|
+
};
|
|
1708
|
+
position: {
|
|
1709
|
+
type: PropType<Vec3>;
|
|
1710
|
+
default: undefined;
|
|
1711
|
+
};
|
|
1712
|
+
scale: {
|
|
1713
|
+
type: PropType<number | Vec3>;
|
|
1714
|
+
default: undefined;
|
|
1715
|
+
};
|
|
1716
|
+
rotation: {
|
|
1717
|
+
type: PropType<Vec3>;
|
|
1718
|
+
default: undefined;
|
|
1719
|
+
};
|
|
1720
|
+
autoCenter: {
|
|
1721
|
+
type: BooleanConstructor;
|
|
1722
|
+
default: boolean;
|
|
1723
|
+
};
|
|
1724
|
+
id: {
|
|
1725
|
+
type: StringConstructor;
|
|
1726
|
+
default: undefined;
|
|
1727
|
+
};
|
|
1728
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1729
|
+
[key: string]: any;
|
|
1730
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1731
|
+
size: {
|
|
1732
|
+
type: NumberConstructor;
|
|
1733
|
+
default: undefined;
|
|
1734
|
+
};
|
|
1735
|
+
color: {
|
|
1736
|
+
type: StringConstructor;
|
|
1737
|
+
default: undefined;
|
|
1738
|
+
};
|
|
1739
|
+
position: {
|
|
1740
|
+
type: PropType<Vec3>;
|
|
1741
|
+
default: undefined;
|
|
1742
|
+
};
|
|
1743
|
+
scale: {
|
|
1744
|
+
type: PropType<number | Vec3>;
|
|
1745
|
+
default: undefined;
|
|
1746
|
+
};
|
|
1747
|
+
rotation: {
|
|
1748
|
+
type: PropType<Vec3>;
|
|
1749
|
+
default: undefined;
|
|
1750
|
+
};
|
|
1751
|
+
autoCenter: {
|
|
1752
|
+
type: BooleanConstructor;
|
|
1753
|
+
default: boolean;
|
|
1754
|
+
};
|
|
1755
|
+
id: {
|
|
1756
|
+
type: StringConstructor;
|
|
1757
|
+
default: undefined;
|
|
1758
|
+
};
|
|
1759
|
+
}>> & Readonly<{}>, {
|
|
1760
|
+
size: number;
|
|
1761
|
+
color: string;
|
|
1762
|
+
position: Vec3;
|
|
1763
|
+
scale: number | Vec3;
|
|
1764
|
+
autoCenter: boolean;
|
|
1765
|
+
rotation: Vec3;
|
|
1766
|
+
id: string;
|
|
1767
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1768
|
+
interface PolyIcosahedronProps extends ShapeMeshProps, IcosahedronPolygonsOptions {
|
|
1769
|
+
}
|
|
1770
|
+
declare const PolyIcosahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1771
|
+
size: {
|
|
1772
|
+
type: NumberConstructor;
|
|
1773
|
+
default: undefined;
|
|
1774
|
+
};
|
|
1775
|
+
color: {
|
|
1776
|
+
type: StringConstructor;
|
|
1777
|
+
default: undefined;
|
|
1778
|
+
};
|
|
1779
|
+
position: {
|
|
1780
|
+
type: PropType<Vec3>;
|
|
1781
|
+
default: undefined;
|
|
1782
|
+
};
|
|
1783
|
+
scale: {
|
|
1784
|
+
type: PropType<number | Vec3>;
|
|
1785
|
+
default: undefined;
|
|
1786
|
+
};
|
|
1787
|
+
rotation: {
|
|
1788
|
+
type: PropType<Vec3>;
|
|
1789
|
+
default: undefined;
|
|
1790
|
+
};
|
|
1791
|
+
autoCenter: {
|
|
1792
|
+
type: BooleanConstructor;
|
|
1793
|
+
default: boolean;
|
|
1794
|
+
};
|
|
1795
|
+
id: {
|
|
1796
|
+
type: StringConstructor;
|
|
1797
|
+
default: undefined;
|
|
1798
|
+
};
|
|
1799
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1800
|
+
[key: string]: any;
|
|
1801
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1802
|
+
size: {
|
|
1803
|
+
type: NumberConstructor;
|
|
1804
|
+
default: undefined;
|
|
1805
|
+
};
|
|
1806
|
+
color: {
|
|
1807
|
+
type: StringConstructor;
|
|
1808
|
+
default: undefined;
|
|
1809
|
+
};
|
|
1810
|
+
position: {
|
|
1811
|
+
type: PropType<Vec3>;
|
|
1812
|
+
default: undefined;
|
|
1813
|
+
};
|
|
1814
|
+
scale: {
|
|
1815
|
+
type: PropType<number | Vec3>;
|
|
1816
|
+
default: undefined;
|
|
1817
|
+
};
|
|
1818
|
+
rotation: {
|
|
1819
|
+
type: PropType<Vec3>;
|
|
1820
|
+
default: undefined;
|
|
1821
|
+
};
|
|
1822
|
+
autoCenter: {
|
|
1823
|
+
type: BooleanConstructor;
|
|
1824
|
+
default: boolean;
|
|
1825
|
+
};
|
|
1826
|
+
id: {
|
|
1827
|
+
type: StringConstructor;
|
|
1828
|
+
default: undefined;
|
|
1829
|
+
};
|
|
1830
|
+
}>> & Readonly<{}>, {
|
|
1831
|
+
size: number;
|
|
1832
|
+
color: string;
|
|
1833
|
+
position: Vec3;
|
|
1834
|
+
scale: number | Vec3;
|
|
1835
|
+
autoCenter: boolean;
|
|
1836
|
+
rotation: Vec3;
|
|
1837
|
+
id: string;
|
|
1838
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1839
|
+
interface PolyDodecahedronProps extends ShapeMeshProps, DodecahedronPolygonsOptions {
|
|
1840
|
+
}
|
|
1841
|
+
declare const PolyDodecahedron: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1842
|
+
size: {
|
|
1843
|
+
type: NumberConstructor;
|
|
1844
|
+
default: undefined;
|
|
1845
|
+
};
|
|
1846
|
+
color: {
|
|
1847
|
+
type: StringConstructor;
|
|
1848
|
+
default: undefined;
|
|
1849
|
+
};
|
|
1850
|
+
position: {
|
|
1851
|
+
type: PropType<Vec3>;
|
|
1852
|
+
default: undefined;
|
|
1853
|
+
};
|
|
1854
|
+
scale: {
|
|
1855
|
+
type: PropType<number | Vec3>;
|
|
1856
|
+
default: undefined;
|
|
1857
|
+
};
|
|
1858
|
+
rotation: {
|
|
1859
|
+
type: PropType<Vec3>;
|
|
1860
|
+
default: undefined;
|
|
1861
|
+
};
|
|
1862
|
+
autoCenter: {
|
|
1863
|
+
type: BooleanConstructor;
|
|
1864
|
+
default: boolean;
|
|
1865
|
+
};
|
|
1866
|
+
id: {
|
|
1867
|
+
type: StringConstructor;
|
|
1868
|
+
default: undefined;
|
|
1869
|
+
};
|
|
1870
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1871
|
+
[key: string]: any;
|
|
1872
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1873
|
+
size: {
|
|
1874
|
+
type: NumberConstructor;
|
|
1875
|
+
default: undefined;
|
|
1876
|
+
};
|
|
1877
|
+
color: {
|
|
1878
|
+
type: StringConstructor;
|
|
1879
|
+
default: undefined;
|
|
1880
|
+
};
|
|
1881
|
+
position: {
|
|
1882
|
+
type: PropType<Vec3>;
|
|
1883
|
+
default: undefined;
|
|
1884
|
+
};
|
|
1885
|
+
scale: {
|
|
1886
|
+
type: PropType<number | Vec3>;
|
|
1887
|
+
default: undefined;
|
|
1888
|
+
};
|
|
1889
|
+
rotation: {
|
|
1890
|
+
type: PropType<Vec3>;
|
|
1891
|
+
default: undefined;
|
|
1892
|
+
};
|
|
1893
|
+
autoCenter: {
|
|
1894
|
+
type: BooleanConstructor;
|
|
1895
|
+
default: boolean;
|
|
1896
|
+
};
|
|
1897
|
+
id: {
|
|
1898
|
+
type: StringConstructor;
|
|
1899
|
+
default: undefined;
|
|
1900
|
+
};
|
|
1901
|
+
}>> & Readonly<{}>, {
|
|
1902
|
+
size: number;
|
|
1903
|
+
color: string;
|
|
1904
|
+
position: Vec3;
|
|
1905
|
+
scale: number | Vec3;
|
|
1906
|
+
autoCenter: boolean;
|
|
1907
|
+
rotation: Vec3;
|
|
1908
|
+
id: string;
|
|
1909
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1910
|
+
interface PolySphereProps extends ShapeMeshProps, SpherePolygonsOptions {
|
|
1911
|
+
}
|
|
1912
|
+
declare const PolySphere: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1913
|
+
radius: {
|
|
1914
|
+
type: NumberConstructor;
|
|
1915
|
+
default: undefined;
|
|
1916
|
+
};
|
|
1917
|
+
subdivisions: {
|
|
1918
|
+
type: NumberConstructor;
|
|
1919
|
+
default: undefined;
|
|
1920
|
+
};
|
|
1921
|
+
color: {
|
|
1922
|
+
type: StringConstructor;
|
|
1923
|
+
default: undefined;
|
|
1924
|
+
};
|
|
1925
|
+
position: {
|
|
1926
|
+
type: PropType<Vec3>;
|
|
1927
|
+
default: undefined;
|
|
1928
|
+
};
|
|
1929
|
+
scale: {
|
|
1930
|
+
type: PropType<number | Vec3>;
|
|
1931
|
+
default: undefined;
|
|
1932
|
+
};
|
|
1933
|
+
rotation: {
|
|
1934
|
+
type: PropType<Vec3>;
|
|
1935
|
+
default: undefined;
|
|
1936
|
+
};
|
|
1937
|
+
autoCenter: {
|
|
1938
|
+
type: BooleanConstructor;
|
|
1939
|
+
default: boolean;
|
|
1940
|
+
};
|
|
1941
|
+
id: {
|
|
1942
|
+
type: StringConstructor;
|
|
1943
|
+
default: undefined;
|
|
1944
|
+
};
|
|
1945
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
1946
|
+
[key: string]: any;
|
|
1947
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
1948
|
+
radius: {
|
|
1949
|
+
type: NumberConstructor;
|
|
1950
|
+
default: undefined;
|
|
1951
|
+
};
|
|
1952
|
+
subdivisions: {
|
|
1953
|
+
type: NumberConstructor;
|
|
1954
|
+
default: undefined;
|
|
1955
|
+
};
|
|
1956
|
+
color: {
|
|
1957
|
+
type: StringConstructor;
|
|
1958
|
+
default: undefined;
|
|
1959
|
+
};
|
|
1960
|
+
position: {
|
|
1961
|
+
type: PropType<Vec3>;
|
|
1962
|
+
default: undefined;
|
|
1963
|
+
};
|
|
1964
|
+
scale: {
|
|
1965
|
+
type: PropType<number | Vec3>;
|
|
1966
|
+
default: undefined;
|
|
1967
|
+
};
|
|
1968
|
+
rotation: {
|
|
1969
|
+
type: PropType<Vec3>;
|
|
1970
|
+
default: undefined;
|
|
1971
|
+
};
|
|
1972
|
+
autoCenter: {
|
|
1973
|
+
type: BooleanConstructor;
|
|
1974
|
+
default: boolean;
|
|
1975
|
+
};
|
|
1976
|
+
id: {
|
|
1977
|
+
type: StringConstructor;
|
|
1978
|
+
default: undefined;
|
|
1979
|
+
};
|
|
1980
|
+
}>> & Readonly<{}>, {
|
|
1981
|
+
color: string;
|
|
1982
|
+
position: Vec3;
|
|
1983
|
+
scale: number | Vec3;
|
|
1984
|
+
autoCenter: boolean;
|
|
1985
|
+
rotation: Vec3;
|
|
1986
|
+
id: string;
|
|
1987
|
+
radius: number;
|
|
1988
|
+
subdivisions: number;
|
|
1989
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1990
|
+
interface PolyCylinderProps extends ShapeMeshProps, CylinderPolygonsOptions {
|
|
1991
|
+
}
|
|
1992
|
+
declare const PolyCylinder: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
1993
|
+
radius: {
|
|
1994
|
+
type: NumberConstructor;
|
|
1995
|
+
default: undefined;
|
|
1996
|
+
};
|
|
1997
|
+
radiusTop: {
|
|
1998
|
+
type: NumberConstructor;
|
|
1999
|
+
default: undefined;
|
|
2000
|
+
};
|
|
2001
|
+
height: {
|
|
2002
|
+
type: NumberConstructor;
|
|
2003
|
+
default: undefined;
|
|
2004
|
+
};
|
|
2005
|
+
radialSegments: {
|
|
2006
|
+
type: NumberConstructor;
|
|
2007
|
+
default: undefined;
|
|
2008
|
+
};
|
|
2009
|
+
color: {
|
|
2010
|
+
type: StringConstructor;
|
|
2011
|
+
default: undefined;
|
|
2012
|
+
};
|
|
2013
|
+
position: {
|
|
2014
|
+
type: PropType<Vec3>;
|
|
2015
|
+
default: undefined;
|
|
2016
|
+
};
|
|
2017
|
+
scale: {
|
|
2018
|
+
type: PropType<number | Vec3>;
|
|
2019
|
+
default: undefined;
|
|
2020
|
+
};
|
|
2021
|
+
rotation: {
|
|
2022
|
+
type: PropType<Vec3>;
|
|
2023
|
+
default: undefined;
|
|
2024
|
+
};
|
|
2025
|
+
autoCenter: {
|
|
2026
|
+
type: BooleanConstructor;
|
|
2027
|
+
default: boolean;
|
|
2028
|
+
};
|
|
2029
|
+
id: {
|
|
2030
|
+
type: StringConstructor;
|
|
2031
|
+
default: undefined;
|
|
2032
|
+
};
|
|
2033
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
2034
|
+
[key: string]: any;
|
|
2035
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
2036
|
+
radius: {
|
|
2037
|
+
type: NumberConstructor;
|
|
2038
|
+
default: undefined;
|
|
2039
|
+
};
|
|
2040
|
+
radiusTop: {
|
|
2041
|
+
type: NumberConstructor;
|
|
2042
|
+
default: undefined;
|
|
2043
|
+
};
|
|
2044
|
+
height: {
|
|
2045
|
+
type: NumberConstructor;
|
|
2046
|
+
default: undefined;
|
|
2047
|
+
};
|
|
2048
|
+
radialSegments: {
|
|
2049
|
+
type: NumberConstructor;
|
|
2050
|
+
default: undefined;
|
|
2051
|
+
};
|
|
2052
|
+
color: {
|
|
2053
|
+
type: StringConstructor;
|
|
2054
|
+
default: undefined;
|
|
2055
|
+
};
|
|
2056
|
+
position: {
|
|
2057
|
+
type: PropType<Vec3>;
|
|
2058
|
+
default: undefined;
|
|
2059
|
+
};
|
|
2060
|
+
scale: {
|
|
2061
|
+
type: PropType<number | Vec3>;
|
|
2062
|
+
default: undefined;
|
|
2063
|
+
};
|
|
2064
|
+
rotation: {
|
|
2065
|
+
type: PropType<Vec3>;
|
|
2066
|
+
default: undefined;
|
|
2067
|
+
};
|
|
2068
|
+
autoCenter: {
|
|
2069
|
+
type: BooleanConstructor;
|
|
2070
|
+
default: boolean;
|
|
2071
|
+
};
|
|
2072
|
+
id: {
|
|
2073
|
+
type: StringConstructor;
|
|
2074
|
+
default: undefined;
|
|
2075
|
+
};
|
|
2076
|
+
}>> & Readonly<{}>, {
|
|
2077
|
+
height: number;
|
|
2078
|
+
color: string;
|
|
2079
|
+
position: Vec3;
|
|
2080
|
+
scale: number | Vec3;
|
|
2081
|
+
autoCenter: boolean;
|
|
2082
|
+
rotation: Vec3;
|
|
2083
|
+
id: string;
|
|
2084
|
+
radius: number;
|
|
2085
|
+
radiusTop: number;
|
|
2086
|
+
radialSegments: number;
|
|
2087
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
2088
|
+
interface PolyConeProps extends ShapeMeshProps, ConePolygonsOptions {
|
|
2089
|
+
}
|
|
2090
|
+
declare const PolyCone: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
2091
|
+
radius: {
|
|
2092
|
+
type: NumberConstructor;
|
|
2093
|
+
default: undefined;
|
|
2094
|
+
};
|
|
2095
|
+
height: {
|
|
2096
|
+
type: NumberConstructor;
|
|
2097
|
+
default: undefined;
|
|
2098
|
+
};
|
|
2099
|
+
radialSegments: {
|
|
2100
|
+
type: NumberConstructor;
|
|
2101
|
+
default: undefined;
|
|
2102
|
+
};
|
|
2103
|
+
color: {
|
|
2104
|
+
type: StringConstructor;
|
|
2105
|
+
default: undefined;
|
|
2106
|
+
};
|
|
2107
|
+
position: {
|
|
2108
|
+
type: PropType<Vec3>;
|
|
2109
|
+
default: undefined;
|
|
2110
|
+
};
|
|
2111
|
+
scale: {
|
|
2112
|
+
type: PropType<number | Vec3>;
|
|
2113
|
+
default: undefined;
|
|
2114
|
+
};
|
|
2115
|
+
rotation: {
|
|
2116
|
+
type: PropType<Vec3>;
|
|
2117
|
+
default: undefined;
|
|
2118
|
+
};
|
|
2119
|
+
autoCenter: {
|
|
2120
|
+
type: BooleanConstructor;
|
|
2121
|
+
default: boolean;
|
|
2122
|
+
};
|
|
2123
|
+
id: {
|
|
2124
|
+
type: StringConstructor;
|
|
2125
|
+
default: undefined;
|
|
2126
|
+
};
|
|
2127
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
2128
|
+
[key: string]: any;
|
|
2129
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
2130
|
+
radius: {
|
|
2131
|
+
type: NumberConstructor;
|
|
2132
|
+
default: undefined;
|
|
2133
|
+
};
|
|
2134
|
+
height: {
|
|
2135
|
+
type: NumberConstructor;
|
|
2136
|
+
default: undefined;
|
|
2137
|
+
};
|
|
2138
|
+
radialSegments: {
|
|
2139
|
+
type: NumberConstructor;
|
|
2140
|
+
default: undefined;
|
|
2141
|
+
};
|
|
2142
|
+
color: {
|
|
2143
|
+
type: StringConstructor;
|
|
2144
|
+
default: undefined;
|
|
2145
|
+
};
|
|
2146
|
+
position: {
|
|
2147
|
+
type: PropType<Vec3>;
|
|
2148
|
+
default: undefined;
|
|
2149
|
+
};
|
|
2150
|
+
scale: {
|
|
2151
|
+
type: PropType<number | Vec3>;
|
|
2152
|
+
default: undefined;
|
|
2153
|
+
};
|
|
2154
|
+
rotation: {
|
|
2155
|
+
type: PropType<Vec3>;
|
|
2156
|
+
default: undefined;
|
|
2157
|
+
};
|
|
2158
|
+
autoCenter: {
|
|
2159
|
+
type: BooleanConstructor;
|
|
2160
|
+
default: boolean;
|
|
2161
|
+
};
|
|
2162
|
+
id: {
|
|
2163
|
+
type: StringConstructor;
|
|
2164
|
+
default: undefined;
|
|
2165
|
+
};
|
|
2166
|
+
}>> & Readonly<{}>, {
|
|
2167
|
+
height: number;
|
|
2168
|
+
color: string;
|
|
2169
|
+
position: Vec3;
|
|
2170
|
+
scale: number | Vec3;
|
|
2171
|
+
autoCenter: boolean;
|
|
2172
|
+
rotation: Vec3;
|
|
2173
|
+
id: string;
|
|
2174
|
+
radius: number;
|
|
2175
|
+
radialSegments: number;
|
|
2176
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
2177
|
+
interface PolyTorusProps extends ShapeMeshProps, TorusPolygonsOptions {
|
|
2178
|
+
}
|
|
2179
|
+
declare const PolyTorus: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
2180
|
+
radius: {
|
|
2181
|
+
type: NumberConstructor;
|
|
2182
|
+
default: undefined;
|
|
2183
|
+
};
|
|
2184
|
+
tube: {
|
|
2185
|
+
type: NumberConstructor;
|
|
2186
|
+
default: undefined;
|
|
2187
|
+
};
|
|
2188
|
+
radialSegments: {
|
|
2189
|
+
type: NumberConstructor;
|
|
2190
|
+
default: undefined;
|
|
2191
|
+
};
|
|
2192
|
+
tubularSegments: {
|
|
2193
|
+
type: NumberConstructor;
|
|
2194
|
+
default: undefined;
|
|
2195
|
+
};
|
|
2196
|
+
color: {
|
|
2197
|
+
type: StringConstructor;
|
|
2198
|
+
default: undefined;
|
|
2199
|
+
};
|
|
2200
|
+
position: {
|
|
2201
|
+
type: PropType<Vec3>;
|
|
2202
|
+
default: undefined;
|
|
2203
|
+
};
|
|
2204
|
+
scale: {
|
|
2205
|
+
type: PropType<number | Vec3>;
|
|
2206
|
+
default: undefined;
|
|
2207
|
+
};
|
|
2208
|
+
rotation: {
|
|
2209
|
+
type: PropType<Vec3>;
|
|
2210
|
+
default: undefined;
|
|
2211
|
+
};
|
|
2212
|
+
autoCenter: {
|
|
2213
|
+
type: BooleanConstructor;
|
|
2214
|
+
default: boolean;
|
|
2215
|
+
};
|
|
2216
|
+
id: {
|
|
2217
|
+
type: StringConstructor;
|
|
2218
|
+
default: undefined;
|
|
2219
|
+
};
|
|
2220
|
+
}>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
2221
|
+
[key: string]: any;
|
|
2222
|
+
}>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
2223
|
+
radius: {
|
|
2224
|
+
type: NumberConstructor;
|
|
2225
|
+
default: undefined;
|
|
2226
|
+
};
|
|
2227
|
+
tube: {
|
|
2228
|
+
type: NumberConstructor;
|
|
2229
|
+
default: undefined;
|
|
2230
|
+
};
|
|
2231
|
+
radialSegments: {
|
|
2232
|
+
type: NumberConstructor;
|
|
2233
|
+
default: undefined;
|
|
2234
|
+
};
|
|
2235
|
+
tubularSegments: {
|
|
2236
|
+
type: NumberConstructor;
|
|
2237
|
+
default: undefined;
|
|
2238
|
+
};
|
|
2239
|
+
color: {
|
|
2240
|
+
type: StringConstructor;
|
|
2241
|
+
default: undefined;
|
|
2242
|
+
};
|
|
2243
|
+
position: {
|
|
2244
|
+
type: PropType<Vec3>;
|
|
2245
|
+
default: undefined;
|
|
2246
|
+
};
|
|
2247
|
+
scale: {
|
|
2248
|
+
type: PropType<number | Vec3>;
|
|
2249
|
+
default: undefined;
|
|
2250
|
+
};
|
|
2251
|
+
rotation: {
|
|
2252
|
+
type: PropType<Vec3>;
|
|
2253
|
+
default: undefined;
|
|
2254
|
+
};
|
|
2255
|
+
autoCenter: {
|
|
2256
|
+
type: BooleanConstructor;
|
|
2257
|
+
default: boolean;
|
|
2258
|
+
};
|
|
2259
|
+
id: {
|
|
2260
|
+
type: StringConstructor;
|
|
2261
|
+
default: undefined;
|
|
2262
|
+
};
|
|
2263
|
+
}>> & Readonly<{}>, {
|
|
2264
|
+
color: string;
|
|
2265
|
+
position: Vec3;
|
|
2266
|
+
scale: number | Vec3;
|
|
2267
|
+
autoCenter: boolean;
|
|
2268
|
+
rotation: Vec3;
|
|
2269
|
+
id: string;
|
|
2270
|
+
radius: number;
|
|
2271
|
+
radialSegments: number;
|
|
2272
|
+
tube: number;
|
|
2273
|
+
tubularSegments: number;
|
|
2274
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
2275
|
+
|
|
2276
|
+
interface PolyControlsAnimateOptions {
|
|
2277
|
+
speed?: number;
|
|
2278
|
+
axis?: "x" | "y";
|
|
2279
|
+
pauseOnInteraction?: boolean;
|
|
2280
|
+
}
|
|
2281
|
+
interface PolyOrbitControlsCamera {
|
|
2282
|
+
rotX: number;
|
|
2283
|
+
rotY: number;
|
|
2284
|
+
zoom: number;
|
|
2285
|
+
target: Vec3;
|
|
2286
|
+
distance: number;
|
|
2287
|
+
}
|
|
2288
|
+
interface PolyOrbitControlsProps {
|
|
2289
|
+
drag?: boolean;
|
|
2290
|
+
wheel?: boolean;
|
|
2291
|
+
/** When true, wheel changes camera pull-back (distance) instead of zoom scale. */
|
|
2292
|
+
dolly?: boolean;
|
|
2293
|
+
invert?: boolean | number;
|
|
2294
|
+
/** Minimum zoom multiplier (zoom mode). Default 0.1. */
|
|
2295
|
+
minZoom?: number;
|
|
2296
|
+
/** Maximum zoom multiplier (zoom mode). Default 10. */
|
|
2297
|
+
maxZoom?: number;
|
|
2298
|
+
/** Minimum camera pull-back in CSS pixels when dolly=true. Default 0. */
|
|
2299
|
+
minDistance?: number;
|
|
2300
|
+
/** Maximum camera pull-back in CSS pixels when dolly=true. Default 5000. */
|
|
2301
|
+
maxDistance?: number;
|
|
2302
|
+
animate?: false | PolyControlsAnimateOptions;
|
|
2303
|
+
}
|
|
2304
|
+
declare const PolyOrbitControls: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
2305
|
+
drag: {
|
|
2306
|
+
type: BooleanConstructor;
|
|
1043
2307
|
default: boolean;
|
|
1044
2308
|
};
|
|
1045
2309
|
wheel: {
|
|
@@ -1775,12 +3039,35 @@ declare const PolyDirectionalLightHelper: vue.DefineComponent<vue.ExtractPropTyp
|
|
|
1775
3039
|
}>> & Readonly<{}>, {
|
|
1776
3040
|
target: Vec3;
|
|
1777
3041
|
distance: number;
|
|
1778
|
-
color: string;
|
|
1779
3042
|
size: number;
|
|
3043
|
+
color: string;
|
|
1780
3044
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
1781
3045
|
|
|
1782
3046
|
declare function injectPolyBaseStyles(doc?: Document): void;
|
|
1783
3047
|
|
|
3048
|
+
interface PolyRenderSurfaceLeafCounts {
|
|
3049
|
+
quad: number;
|
|
3050
|
+
clippedSolid: number;
|
|
3051
|
+
atlas: number;
|
|
3052
|
+
stableTriangle: number;
|
|
3053
|
+
}
|
|
3054
|
+
interface PolyRenderStats {
|
|
3055
|
+
polygonCount: number;
|
|
3056
|
+
mountedPolygonLeafCount: number;
|
|
3057
|
+
shadowLeafCount: number;
|
|
3058
|
+
surfaceLeafCounts: PolyRenderSurfaceLeafCounts;
|
|
3059
|
+
bucketCount: number;
|
|
3060
|
+
}
|
|
3061
|
+
interface PolyRenderStatsOptions {
|
|
3062
|
+
polygonCount?: number;
|
|
3063
|
+
/**
|
|
3064
|
+
* Optional subtree selector for diagnostics that only want model leaves and
|
|
3065
|
+
* not helpers/floors/gizmos sharing the same scene root.
|
|
3066
|
+
*/
|
|
3067
|
+
scopeSelector?: string;
|
|
3068
|
+
}
|
|
3069
|
+
declare function collectPolyRenderStats(root: ParentNode | null | undefined, optionsOrPolygonCount?: number | PolyRenderStatsOptions): PolyRenderStats;
|
|
3070
|
+
|
|
1784
3071
|
interface UsePolyAnimationResultVue {
|
|
1785
3072
|
/** Attach to a mesh handle when not passing `root` directly. */
|
|
1786
3073
|
ref: Ref<PolyAnimationTarget | null>;
|
|
@@ -1798,4 +3085,4 @@ interface UsePolyAnimationResultVue {
|
|
|
1798
3085
|
}
|
|
1799
3086
|
declare function usePolyAnimation(clips: MaybeRef<PolyAnimationClip[] | undefined>, controller: MaybeRef<ParseAnimationController | undefined>, root?: MaybeRef<PolyAnimationTarget | null | undefined>): UsePolyAnimationResultVue;
|
|
1800
3087
|
|
|
1801
|
-
export { type InteractionProps, Poly, PolyAxesHelper, type PolyAxesHelperProps,
|
|
3088
|
+
export { type InteractionProps, Poly, PolyAxesHelper, type PolyAxesHelperProps, PolyBox, type PolyBoxProps, PolyOrthographicCamera as PolyCamera, PolyCameraContextKey, type PolyCameraContextValue, type PolyOrthographicCameraProps as PolyCameraProps, PolyCone, type PolyConeProps, type PolyContext, type PolyControlsAnimateOptions, PolyCylinder, type PolyCylinderProps, PolyDirectionalLightHelper, type PolyDirectionalLightHelperProps, PolyDodecahedron, type PolyDodecahedronProps, type PolyEventHandler, PolyFirstPersonControls, type PolyFirstPersonControlsHandle, type PolyFirstPersonControlsOptions, PolyGround, type PolyGroundProps, PolyIcosahedron, type PolyIcosahedronProps, PolyIframe, type PolyIframeProps, PolyMapControls, type PolyMapControlsCamera, type PolyMapControlsProps, PolyMesh, type PolyMeshHandle, type PolyMeshProps, type PolyMouseEvent, PolyOctahedron, type PolyOctahedronProps, PolyOrbitControls, type PolyOrbitControlsCamera, type PolyOrbitControlsProps, PolyOrthographicCamera, type PolyOrthographicCameraProps, PolyPerspectiveCamera, type PolyPerspectiveCameraProps, PolyPlane, type PolyPlaneProps, type PolyPointerEvent, type PolyProps, type PolyRenderStats, type PolyRenderStatsOptions, type PolyRenderSurfaceLeafCounts, PolyRing, type PolyRingProps, PolyScene, type PolySceneProps, PolySelect, type PolySelectProps, type PolySelectionApi, PolySelectionContextKey, PolySphere, type PolySphereProps, PolyTetrahedron, type PolyTetrahedronProps, PolyTorus, type PolyTorusProps, 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 };
|