@layoutit/polycss-vue 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as vue from 'vue';
2
2
  import { PropType, Ref, InjectionKey, VNode, CSSProperties, ComputedRef, MaybeRef } from 'vue';
3
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, PolyMeshTransformInput, 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, buildPolyMeshTransform, 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, cssDistanceToWorld as polyCssDistanceToWorld, cssPositionToWorld as polyCssPositionToWorld, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, repairMeshSeams, ringPolygons, rotateVec3, seamFacetSplitPolygons, seamFacetSplitReport, seamOverlapDiagnostics, seamOverlapPolygons, seamOverlapReport, shadeColor, simplifyTriangleMeshPolygons, tetrahedronPolygons, torusPolygons, worldDirectionToCss as worldDirectionToPolyCss, worldDistanceToCss as worldDistanceToPolyCss, worldPositionToCss as worldPositionToPolyCss } from '@layoutit/polycss-core';
4
+ import { Vec3, CameraState, CameraHandle, PolyCameraProjection, Polygon, PolyDirectionalLight, PolyAmbientLight, PolyTextureLightingMode, TextureQuality, PolyTextureLeafSizing, PolyTextureImageRendering, PolyTextureBackend, PolyTextureProjection, PolySeamBleed, PolyRenderStrategiesOption, LoadMeshOptions, ParseResult, MeshResolution, PolyMaterial, PolyTextureImageSource, PolyTexturePresentation, 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, PolyCameraProjection, PolyCameraSnapshot, PolyCameraSnapshotOptions, PolyCameraSnapshotSource, PolyDirectionalLight, PolyMaterial, PolyMeshTransformInput, PolyRenderStrategiesOption, PolyRenderStrategy, PolySceneTransformInput, PolyTextureBackend, PolyTextureImageLighting, PolyTextureImageRendering, PolyTextureImageSource, PolyTextureLeafSizing, PolyTextureLightingMode, PolyTexturePresentation, PolyTextureProjection, 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, buildPolyCameraSceneTransform, buildPolyMeshTransform, buildPolySceneTransform, buildSceneContext, cameraCullNormalGroups, cameraCullNormalGroupsFromPolygons, cameraCullNormalKey, cameraCullVisibleSignature, cameraFacingDepth, capturePolyCameraSnapshot, clampChannel, computeSceneBbox, computeShapeLighting, computeTexturePaintMetrics, conePolygons, coverPlanarPolygons, createIsometricCamera, createPolyAnimationMixer, cssDistanceToWorld, cssPositionToWorld, 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, polyCameraTargetToCss, polyCssDistanceToWorld, polyCssPositionToWorld, polygonCssSurfaceNormal, polygonFaces, polygonFacesCamera, repairMeshSeams, resolvePolyCameraAppliedPerspectiveStyle, ringPolygons, rotateVec3, seamFacetSplitPolygons, seamFacetSplitReport, seamOverlapDiagnostics, seamOverlapPolygons, seamOverlapReport, shadeColor, simplifyTriangleMeshPolygons, tetrahedronPolygons, torusPolygons, worldDirectionToCss, worldDirectionToPolyCss, worldDirectionalLightToCss, worldDirectionalLightToPolyCss, worldDistanceToCss, worldDistanceToPolyCss, worldPositionToCss, worldPositionToPolyCss } from '@layoutit/polycss-core';
6
6
 
7
7
  interface PolyOrthographicCameraProps {
8
8
  zoom?: number;
@@ -143,6 +143,8 @@ interface UseCameraOptions {
143
143
  rotX?: number;
144
144
  rotY?: number;
145
145
  distance?: number;
146
+ projection?: PolyCameraProjection;
147
+ perspectiveStyle?: string;
146
148
  }
147
149
  interface UseCameraResult {
148
150
  store: SceneStore;
@@ -232,6 +234,14 @@ interface PolySceneProps {
232
234
  * desktop/mobile sprite sizing. Numeric values 0.1..1 force an explicit
233
235
  * raster scale and the 64px sprite. */
234
236
  textureQuality?: TextureQuality;
237
+ /** Atlas leaf CSS primitive sizing. Defaults to canonical browser-fast sizing. */
238
+ textureLeafSizing?: PolyTextureLeafSizing;
239
+ /** Default image filtering for atlas and direct image texture leaves. */
240
+ textureImageRendering?: PolyTextureImageRendering;
241
+ /** Default texture backend request. Defaults to "auto". */
242
+ textureBackend?: PolyTextureBackend;
243
+ /** Default texture projection request. Defaults to "affine". */
244
+ textureProjection?: PolyTextureProjection;
235
245
  /** Solid seam overscan. `"auto"` computes a fitted per-edge amount from the polygon plan. */
236
246
  seamBleed?: PolySeamBleed;
237
247
  /** Opt out of specific render strategies. Disabled strategies fall through the chain (b→i→s, u→i→s, i→s). `<s>` cannot be disabled. */
@@ -294,6 +304,22 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
294
304
  type: PropType<TextureQuality>;
295
305
  default: undefined;
296
306
  };
307
+ textureLeafSizing: {
308
+ type: PropType<PolyTextureLeafSizing>;
309
+ default: undefined;
310
+ };
311
+ textureImageRendering: {
312
+ type: PropType<PolyTextureImageRendering>;
313
+ default: undefined;
314
+ };
315
+ textureBackend: {
316
+ type: PropType<PolyTextureBackend>;
317
+ default: undefined;
318
+ };
319
+ textureProjection: {
320
+ type: PropType<PolyTextureProjection>;
321
+ default: undefined;
322
+ };
297
323
  seamBleed: {
298
324
  type: PropType<PolySeamBleed>;
299
325
  default: undefined;
@@ -370,6 +396,22 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
370
396
  type: PropType<TextureQuality>;
371
397
  default: undefined;
372
398
  };
399
+ textureLeafSizing: {
400
+ type: PropType<PolyTextureLeafSizing>;
401
+ default: undefined;
402
+ };
403
+ textureImageRendering: {
404
+ type: PropType<PolyTextureImageRendering>;
405
+ default: undefined;
406
+ };
407
+ textureBackend: {
408
+ type: PropType<PolyTextureBackend>;
409
+ default: undefined;
410
+ };
411
+ textureProjection: {
412
+ type: PropType<PolyTextureProjection>;
413
+ default: undefined;
414
+ };
373
415
  seamBleed: {
374
416
  type: PropType<PolySeamBleed>;
375
417
  default: undefined;
@@ -413,10 +455,14 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
413
455
  scale: number | Vec3;
414
456
  seamBleed: PolySeamBleed;
415
457
  textureLighting: PolyTextureLightingMode;
458
+ textureImageRendering: PolyTextureImageRendering;
416
459
  polygons: Polygon[];
417
460
  centerPolygons: Polygon[];
418
461
  ambientLight: PolyAmbientLight;
419
462
  textureQuality: TextureQuality;
463
+ textureLeafSizing: PolyTextureLeafSizing;
464
+ textureBackend: PolyTextureBackend;
465
+ textureProjection: PolyTextureProjection;
420
466
  strategies: PolyRenderStrategiesOption;
421
467
  autoCenter: boolean;
422
468
  shadow: PolyShadowOptions;
@@ -496,6 +542,8 @@ interface PolyMeshHandle {
496
542
  * is always correct and never needs rebaking.
497
543
  */
498
544
  rebakeAtlas(): void;
545
+ /** Resolves when this mesh's current texture generation has usable backgrounds. */
546
+ whenTexturesReady(): Promise<void>;
499
547
  }
500
548
  interface PolyPointerEvent<E extends Event = PointerEvent> {
501
549
  object: PolyMeshHandle;
@@ -553,6 +601,14 @@ interface PolyMeshProps extends InteractionProps {
553
601
  * desktop/mobile sprite sizing. Numeric values 0.1..1 force an explicit
554
602
  * raster scale and the 64px sprite. */
555
603
  textureQuality?: TextureQuality;
604
+ /** Atlas leaf CSS primitive sizing. Defaults to scene context, then canonical. */
605
+ textureLeafSizing?: PolyTextureLeafSizing;
606
+ /** Default image filtering for atlas and direct image texture leaves. */
607
+ textureImageRendering?: PolyTextureImageRendering;
608
+ /** Default texture backend request. Defaults to scene context, then "auto". */
609
+ textureBackend?: PolyTextureBackend;
610
+ /** Default texture projection request. Defaults to scene context, then "affine". */
611
+ textureProjection?: PolyTextureProjection;
556
612
  /** Solid seam overscan. `"auto"` computes a fitted per-edge amount from the polygon plan. */
557
613
  seamBleed?: PolySeamBleed;
558
614
  /**
@@ -629,6 +685,22 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
629
685
  type: PropType<TextureQuality>;
630
686
  default: undefined;
631
687
  };
688
+ textureLeafSizing: {
689
+ type: PropType<PolyTextureLeafSizing>;
690
+ default: undefined;
691
+ };
692
+ textureImageRendering: {
693
+ type: PropType<PolyTextureImageRendering>;
694
+ default: undefined;
695
+ };
696
+ textureBackend: {
697
+ type: PropType<PolyTextureBackend>;
698
+ default: undefined;
699
+ };
700
+ textureProjection: {
701
+ type: PropType<PolyTextureProjection>;
702
+ default: undefined;
703
+ };
632
704
  seamBleed: {
633
705
  type: PropType<PolySeamBleed>;
634
706
  default: undefined;
@@ -762,6 +834,22 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
762
834
  type: PropType<TextureQuality>;
763
835
  default: undefined;
764
836
  };
837
+ textureLeafSizing: {
838
+ type: PropType<PolyTextureLeafSizing>;
839
+ default: undefined;
840
+ };
841
+ textureImageRendering: {
842
+ type: PropType<PolyTextureImageRendering>;
843
+ default: undefined;
844
+ };
845
+ textureBackend: {
846
+ type: PropType<PolyTextureBackend>;
847
+ default: undefined;
848
+ };
849
+ textureProjection: {
850
+ type: PropType<PolyTextureProjection>;
851
+ default: undefined;
852
+ };
765
853
  seamBleed: {
766
854
  type: PropType<PolySeamBleed>;
767
855
  default: undefined;
@@ -864,8 +952,12 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
864
952
  scale: number | Vec3;
865
953
  seamBleed: PolySeamBleed;
866
954
  textureLighting: PolyTextureLightingMode;
955
+ textureImageRendering: PolyTextureImageRendering;
867
956
  polygons: Polygon[];
868
957
  textureQuality: TextureQuality;
958
+ textureLeafSizing: PolyTextureLeafSizing;
959
+ textureBackend: PolyTextureBackend;
960
+ textureProjection: PolyTextureProjection;
869
961
  autoCenter: boolean;
870
962
  rotation: Vec3;
871
963
  voxelSource: _layoutit_polycss_core.PolyVoxelSource | undefined;
@@ -1132,6 +1224,10 @@ interface PolyContext {
1132
1224
  directionalLight?: PolyDirectionalLight;
1133
1225
  textureLighting?: PolyTextureLightingMode;
1134
1226
  textureQuality?: TextureQuality;
1227
+ textureLeafSizing?: PolyTextureLeafSizing;
1228
+ textureImageRendering?: PolyTextureImageRendering;
1229
+ textureBackend?: PolyTextureBackend;
1230
+ textureProjection?: PolyTextureProjection;
1135
1231
  debugShowBackfaces?: boolean;
1136
1232
  [key: string]: unknown;
1137
1233
  }
@@ -1139,8 +1235,11 @@ interface PolyProps {
1139
1235
  vertices: Vec3[];
1140
1236
  color?: string;
1141
1237
  texture?: string;
1238
+ textureImageSource?: PolyTextureImageSource;
1239
+ texturePresentation?: PolyTexturePresentation;
1142
1240
  uvs?: Vec2[];
1143
1241
  data?: Record<string, string | number | boolean>;
1242
+ doubleSided?: boolean;
1144
1243
  /** Shared material. When set AND the polygon's UVs form an axis-aligned
1145
1244
  * rectangle, renders via `background-image` directly — no per-polygon
1146
1245
  * canvas rasterization. Falls back to the atlas path otherwise. */
@@ -1153,6 +1252,14 @@ interface PolyProps {
1153
1252
  /** Atlas bitmap budget and CSS sprite size. `"auto"` (default) uses a
1154
1253
  * device-appropriate memory budget and desktop/mobile sprite sizing. */
1155
1254
  textureQuality?: TextureQuality;
1255
+ /** Atlas leaf CSS primitive sizing. Defaults to scene context, then canonical. */
1256
+ textureLeafSizing?: PolyTextureLeafSizing;
1257
+ /** Default image filtering for atlas and direct image texture leaves. */
1258
+ textureImageRendering?: PolyTextureImageRendering;
1259
+ /** Default texture backend request. Defaults to scene context, then "auto". */
1260
+ textureBackend?: PolyTextureBackend;
1261
+ /** Default texture projection request. Defaults to scene context, then "affine". */
1262
+ textureProjection?: PolyTextureProjection;
1156
1263
  baseColor?: string;
1157
1264
  pointerEvents?: "auto" | "none";
1158
1265
  }
@@ -1167,6 +1274,14 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1167
1274
  texture: {
1168
1275
  type: StringConstructor;
1169
1276
  };
1277
+ textureImageSource: {
1278
+ type: PropType<PolyTextureImageSource>;
1279
+ default: undefined;
1280
+ };
1281
+ texturePresentation: {
1282
+ type: PropType<PolyTexturePresentation>;
1283
+ default: undefined;
1284
+ };
1170
1285
  uvs: {
1171
1286
  type: PropType<Vec2[]>;
1172
1287
  default: undefined;
@@ -1175,6 +1290,10 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1175
1290
  type: PropType<Record<string, string | number | boolean>>;
1176
1291
  default: undefined;
1177
1292
  };
1293
+ doubleSided: {
1294
+ type: BooleanConstructor;
1295
+ default: undefined;
1296
+ };
1178
1297
  material: {
1179
1298
  type: PropType<PolyMaterial>;
1180
1299
  default: undefined;
@@ -1199,6 +1318,22 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1199
1318
  type: PropType<TextureQuality>;
1200
1319
  default: undefined;
1201
1320
  };
1321
+ textureLeafSizing: {
1322
+ type: PropType<PolyTextureLeafSizing>;
1323
+ default: undefined;
1324
+ };
1325
+ textureImageRendering: {
1326
+ type: PropType<PolyTextureImageRendering>;
1327
+ default: undefined;
1328
+ };
1329
+ textureBackend: {
1330
+ type: PropType<PolyTextureBackend>;
1331
+ default: undefined;
1332
+ };
1333
+ textureProjection: {
1334
+ type: PropType<PolyTextureProjection>;
1335
+ default: undefined;
1336
+ };
1202
1337
  context: {
1203
1338
  type: PropType<PolyContext>;
1204
1339
  default: undefined;
@@ -1223,6 +1358,14 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1223
1358
  texture: {
1224
1359
  type: StringConstructor;
1225
1360
  };
1361
+ textureImageSource: {
1362
+ type: PropType<PolyTextureImageSource>;
1363
+ default: undefined;
1364
+ };
1365
+ texturePresentation: {
1366
+ type: PropType<PolyTexturePresentation>;
1367
+ default: undefined;
1368
+ };
1226
1369
  uvs: {
1227
1370
  type: PropType<Vec2[]>;
1228
1371
  default: undefined;
@@ -1231,6 +1374,10 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1231
1374
  type: PropType<Record<string, string | number | boolean>>;
1232
1375
  default: undefined;
1233
1376
  };
1377
+ doubleSided: {
1378
+ type: BooleanConstructor;
1379
+ default: undefined;
1380
+ };
1234
1381
  material: {
1235
1382
  type: PropType<PolyMaterial>;
1236
1383
  default: undefined;
@@ -1255,6 +1402,22 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1255
1402
  type: PropType<TextureQuality>;
1256
1403
  default: undefined;
1257
1404
  };
1405
+ textureLeafSizing: {
1406
+ type: PropType<PolyTextureLeafSizing>;
1407
+ default: undefined;
1408
+ };
1409
+ textureImageRendering: {
1410
+ type: PropType<PolyTextureImageRendering>;
1411
+ default: undefined;
1412
+ };
1413
+ textureBackend: {
1414
+ type: PropType<PolyTextureBackend>;
1415
+ default: undefined;
1416
+ };
1417
+ textureProjection: {
1418
+ type: PropType<PolyTextureProjection>;
1419
+ default: undefined;
1420
+ };
1258
1421
  context: {
1259
1422
  type: PropType<PolyContext>;
1260
1423
  default: undefined;
@@ -1269,12 +1432,19 @@ declare const Poly: vue.DefineComponent<vue.ExtractPropTypes<{
1269
1432
  }>> & Readonly<{}>, {
1270
1433
  data: Record<string, string | number | boolean>;
1271
1434
  position: Vec3;
1272
- pointerEvents: "auto" | "none";
1435
+ pointerEvents: "none" | "auto";
1273
1436
  scale: number | Vec3;
1274
1437
  material: PolyMaterial;
1438
+ textureImageSource: PolyTextureImageSource;
1439
+ texturePresentation: PolyTexturePresentation;
1275
1440
  uvs: Vec2[];
1441
+ doubleSided: boolean;
1276
1442
  textureLighting: PolyTextureLightingMode;
1443
+ textureImageRendering: PolyTextureImageRendering;
1277
1444
  textureQuality: TextureQuality;
1445
+ textureLeafSizing: PolyTextureLeafSizing;
1446
+ textureBackend: PolyTextureBackend;
1447
+ textureProjection: PolyTextureProjection;
1278
1448
  rotation: Vec3;
1279
1449
  context: PolyContext;
1280
1450
  }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
@@ -3051,11 +3221,84 @@ interface PolyRenderSurfaceLeafCounts {
3051
3221
  atlas: number;
3052
3222
  stableTriangle: number;
3053
3223
  }
3224
+ type PolyRenderLeafStrategy = keyof PolyRenderSurfaceLeafCounts;
3225
+ interface PolyTextureReadiness {
3226
+ ready: boolean;
3227
+ textureLeafCount: number;
3228
+ readyTextureLeafCount: number;
3229
+ pendingTextureLeafCount: number;
3230
+ atlasTextureLeafCount: number;
3231
+ imageTextureLeafCount: number;
3232
+ }
3233
+ interface PolyTextureRenderStats {
3234
+ ready: boolean;
3235
+ leafCount: number;
3236
+ atlasCount: number;
3237
+ imageCount: number;
3238
+ pendingCount: number;
3239
+ sizingCounts: {
3240
+ canonical: number;
3241
+ local: number;
3242
+ raster: number;
3243
+ image: number;
3244
+ unknown: number;
3245
+ };
3246
+ imageRenderingCounts: {
3247
+ auto: number;
3248
+ pixelated: number;
3249
+ unknown: number;
3250
+ };
3251
+ projectionCounts: {
3252
+ affine: number;
3253
+ projective: number;
3254
+ fallback: number;
3255
+ unknown: number;
3256
+ };
3257
+ minLeafWidth: number;
3258
+ maxLeafWidth: number;
3259
+ minLeafHeight: number;
3260
+ maxLeafHeight: number;
3261
+ doubleSidedCount: number;
3262
+ }
3263
+ interface PolySnapshotRenderStats {
3264
+ runtimeAtlasUrlCount: number;
3265
+ snapshotAtlasCount: number;
3266
+ snapshotBackgroundCount: number;
3267
+ selfContained: boolean;
3268
+ }
3269
+ interface PolyCameraSnapshotStats {
3270
+ rootFound: boolean;
3271
+ projection: "orthographic" | "perspective" | "unknown";
3272
+ perspectiveStyle: string;
3273
+ appliedPerspectiveStyle: string;
3274
+ zoom?: number;
3275
+ distance?: number;
3276
+ rotX?: number;
3277
+ rotY?: number;
3278
+ target?: [number, number, number];
3279
+ }
3280
+ interface PolyLeafInfo {
3281
+ element: HTMLElement;
3282
+ strategy: PolyRenderLeafStrategy;
3283
+ polygonIndex?: number;
3284
+ textureBackend?: string;
3285
+ textureReady?: boolean;
3286
+ textureLeafSizing?: string;
3287
+ textureImageRendering?: string;
3288
+ textureProjection?: string;
3289
+ textureLeafWidth?: number;
3290
+ textureLeafHeight?: number;
3291
+ doubleSided?: boolean;
3292
+ }
3054
3293
  interface PolyRenderStats {
3055
3294
  polygonCount: number;
3056
3295
  mountedPolygonLeafCount: number;
3057
3296
  shadowLeafCount: number;
3058
3297
  surfaceLeafCounts: PolyRenderSurfaceLeafCounts;
3298
+ textureReadiness: PolyTextureReadiness;
3299
+ textureStats: PolyTextureRenderStats;
3300
+ snapshotStats: PolySnapshotRenderStats;
3301
+ cameraStats: PolyCameraSnapshotStats;
3059
3302
  bucketCount: number;
3060
3303
  }
3061
3304
  interface PolyRenderStatsOptions {
@@ -3066,6 +3309,8 @@ interface PolyRenderStatsOptions {
3066
3309
  */
3067
3310
  scopeSelector?: string;
3068
3311
  }
3312
+ declare function queryPolyLeaves(root: ParentNode | null | undefined, optionsOrPolygonCount?: number | PolyRenderStatsOptions): PolyLeafInfo[];
3313
+ declare function collectPolyTextureReadiness(root: ParentNode | null | undefined, optionsOrPolygonCount?: number | PolyRenderStatsOptions): PolyTextureReadiness;
3069
3314
  declare function collectPolyRenderStats(root: ParentNode | null | undefined, optionsOrPolygonCount?: number | PolyRenderStatsOptions): PolyRenderStats;
3070
3315
 
3071
3316
  interface UsePolyAnimationResultVue {
@@ -3085,4 +3330,4 @@ interface UsePolyAnimationResultVue {
3085
3330
  }
3086
3331
  declare function usePolyAnimation(clips: MaybeRef<PolyAnimationClip[] | undefined>, controller: MaybeRef<ParseAnimationController | undefined>, root?: MaybeRef<PolyAnimationTarget | null | undefined>): UsePolyAnimationResultVue;
3087
3332
 
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 };
3333
+ export { type InteractionProps, Poly, PolyAxesHelper, type PolyAxesHelperProps, PolyBox, type PolyBoxProps, PolyOrthographicCamera as PolyCamera, PolyCameraContextKey, type PolyCameraContextValue, type PolyOrthographicCameraProps as PolyCameraProps, type PolyCameraSnapshotStats, 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, type PolyLeafInfo, 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 PolyRenderLeafStrategy, type PolyRenderStats, type PolyRenderStatsOptions, type PolyRenderSurfaceLeafCounts, PolyRing, type PolyRingProps, PolyScene, type PolySceneProps, PolySelect, type PolySelectProps, type PolySelectionApi, PolySelectionContextKey, type PolySnapshotRenderStats, PolySphere, type PolySphereProps, PolyTetrahedron, type PolyTetrahedronProps, type PolyTextureReadiness, type PolyTextureRenderStats, 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, collectPolyTextureReadiness, findMeshUnderPoint, findPolyMeshHandle, injectPolyBaseStyles, pointInMeshElement, queryPolyLeaves, usePolyAnimation, usePolyCamera, usePolyMaterial, usePolyMesh, usePolySceneContext, usePolySelect, usePolySelectionApi };