@layoutit/polycss-vue 0.2.6 → 0.2.7

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,7 +1,7 @@
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, 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';
4
+ import { Vec3, CameraState, CameraHandle, PolyCameraProjection, Polygon, PolyDirectionalLight, PolyPointLight, 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
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 {
@@ -217,6 +217,30 @@ interface PolyShadowOptions {
217
217
  * disable the cap entirely.
218
218
  */
219
219
  maxExtend?: number;
220
+ /**
221
+ * Cast a low-resolution parametric silhouette per caster instead of full
222
+ * geometry — lighter DOM + cheaper projection. Directional + point lights.
223
+ * Default: `false`.
224
+ */
225
+ parametric?: boolean;
226
+ /**
227
+ * Parametric-shadow detail (max silhouette points / pixel-grid resolution).
228
+ * Only used when `parametric` is true. Default: `16`. Override per mesh via
229
+ * `<poly-mesh shadow-definition>`.
230
+ */
231
+ definition?: number;
232
+ /**
233
+ * Parametric render style: `"vector"` (smooth contour, default) or `"pixel"`
234
+ * (greedy-meshed voxel blocks; `definition` becomes the grid resolution).
235
+ */
236
+ style?: "vector" | "pixel";
237
+ /**
238
+ * Re-emit a caster's shadow while it animates (deforms) so the shadow follows
239
+ * the pose instead of freezing. Default `false`: a same-topology deform keeps
240
+ * the last shadow pose (re-emitting every frame is expensive). Best with
241
+ * `parametric`. Topology changes (different polygon count) always re-emit.
242
+ */
243
+ followAnimation?: boolean;
220
244
  }
221
245
 
222
246
  interface PolySceneProps {
@@ -227,6 +251,7 @@ interface PolySceneProps {
227
251
  rotY?: number;
228
252
  zoom?: number;
229
253
  directionalLight?: PolyDirectionalLight;
254
+ pointLights?: PolyPointLight[];
230
255
  ambientLight?: PolyAmbientLight;
231
256
  textureLighting?: PolyTextureLightingMode;
232
257
  /** Atlas bitmap budget and CSS sprite size. `"auto"` (default) uses a
@@ -292,6 +317,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
292
317
  type: PropType<PolyDirectionalLight>;
293
318
  default: undefined;
294
319
  };
320
+ pointLights: {
321
+ type: PropType<PolyPointLight[]>;
322
+ default: undefined;
323
+ };
295
324
  ambientLight: {
296
325
  type: PropType<PolyAmbientLight>;
297
326
  default: undefined;
@@ -384,6 +413,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
384
413
  type: PropType<PolyDirectionalLight>;
385
414
  default: undefined;
386
415
  };
416
+ pointLights: {
417
+ type: PropType<PolyPointLight[]>;
418
+ default: undefined;
419
+ };
387
420
  ambientLight: {
388
421
  type: PropType<PolyAmbientLight>;
389
422
  default: undefined;
@@ -458,6 +491,7 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
458
491
  textureImageRendering: PolyTextureImageRendering;
459
492
  polygons: Polygon[];
460
493
  centerPolygons: Polygon[];
494
+ pointLights: PolyPointLight[];
461
495
  ambientLight: PolyAmbientLight;
462
496
  textureQuality: TextureQuality;
463
497
  textureLeafSizing: PolyTextureLeafSizing;
@@ -721,6 +755,12 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
721
755
  type: PropType<boolean>;
722
756
  default: boolean;
723
757
  };
758
+ /** Per-mesh parametric-shadow detail override (scene `shadow.definition`
759
+ * when undefined). Only used when the scene's `shadow.parametric` is true. */
760
+ shadowDefinition: {
761
+ type: PropType<number>;
762
+ default: undefined;
763
+ };
724
764
  merge: {
725
765
  type: PropType<boolean>;
726
766
  default: boolean;
@@ -870,6 +910,12 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
870
910
  type: PropType<boolean>;
871
911
  default: boolean;
872
912
  };
913
+ /** Per-mesh parametric-shadow detail override (scene `shadow.definition`
914
+ * when undefined). Only used when the scene's `shadow.parametric` is true. */
915
+ shadowDefinition: {
916
+ type: PropType<number>;
917
+ default: undefined;
918
+ };
873
919
  merge: {
874
920
  type: PropType<boolean>;
875
921
  default: boolean;
@@ -971,6 +1017,7 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
971
1017
  merge: boolean;
972
1018
  meshResolution: MeshResolution;
973
1019
  parseOptions: _layoutit_polycss_core.LoadMeshOptions;
1020
+ shadowDefinition: number;
974
1021
  onContextMenu: PolyEventHandler<MouseEvent>;
975
1022
  onDoubleClick: PolyEventHandler<MouseEvent>;
976
1023
  onPointerDown: PolyEventHandler<PointerEvent>;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
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, 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';
4
+ import { Vec3, CameraState, CameraHandle, PolyCameraProjection, Polygon, PolyDirectionalLight, PolyPointLight, 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
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 {
@@ -217,6 +217,30 @@ interface PolyShadowOptions {
217
217
  * disable the cap entirely.
218
218
  */
219
219
  maxExtend?: number;
220
+ /**
221
+ * Cast a low-resolution parametric silhouette per caster instead of full
222
+ * geometry — lighter DOM + cheaper projection. Directional + point lights.
223
+ * Default: `false`.
224
+ */
225
+ parametric?: boolean;
226
+ /**
227
+ * Parametric-shadow detail (max silhouette points / pixel-grid resolution).
228
+ * Only used when `parametric` is true. Default: `16`. Override per mesh via
229
+ * `<poly-mesh shadow-definition>`.
230
+ */
231
+ definition?: number;
232
+ /**
233
+ * Parametric render style: `"vector"` (smooth contour, default) or `"pixel"`
234
+ * (greedy-meshed voxel blocks; `definition` becomes the grid resolution).
235
+ */
236
+ style?: "vector" | "pixel";
237
+ /**
238
+ * Re-emit a caster's shadow while it animates (deforms) so the shadow follows
239
+ * the pose instead of freezing. Default `false`: a same-topology deform keeps
240
+ * the last shadow pose (re-emitting every frame is expensive). Best with
241
+ * `parametric`. Topology changes (different polygon count) always re-emit.
242
+ */
243
+ followAnimation?: boolean;
220
244
  }
221
245
 
222
246
  interface PolySceneProps {
@@ -227,6 +251,7 @@ interface PolySceneProps {
227
251
  rotY?: number;
228
252
  zoom?: number;
229
253
  directionalLight?: PolyDirectionalLight;
254
+ pointLights?: PolyPointLight[];
230
255
  ambientLight?: PolyAmbientLight;
231
256
  textureLighting?: PolyTextureLightingMode;
232
257
  /** Atlas bitmap budget and CSS sprite size. `"auto"` (default) uses a
@@ -292,6 +317,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
292
317
  type: PropType<PolyDirectionalLight>;
293
318
  default: undefined;
294
319
  };
320
+ pointLights: {
321
+ type: PropType<PolyPointLight[]>;
322
+ default: undefined;
323
+ };
295
324
  ambientLight: {
296
325
  type: PropType<PolyAmbientLight>;
297
326
  default: undefined;
@@ -384,6 +413,10 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
384
413
  type: PropType<PolyDirectionalLight>;
385
414
  default: undefined;
386
415
  };
416
+ pointLights: {
417
+ type: PropType<PolyPointLight[]>;
418
+ default: undefined;
419
+ };
387
420
  ambientLight: {
388
421
  type: PropType<PolyAmbientLight>;
389
422
  default: undefined;
@@ -458,6 +491,7 @@ declare const PolyScene: vue.DefineComponent<vue.ExtractPropTypes<{
458
491
  textureImageRendering: PolyTextureImageRendering;
459
492
  polygons: Polygon[];
460
493
  centerPolygons: Polygon[];
494
+ pointLights: PolyPointLight[];
461
495
  ambientLight: PolyAmbientLight;
462
496
  textureQuality: TextureQuality;
463
497
  textureLeafSizing: PolyTextureLeafSizing;
@@ -721,6 +755,12 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
721
755
  type: PropType<boolean>;
722
756
  default: boolean;
723
757
  };
758
+ /** Per-mesh parametric-shadow detail override (scene `shadow.definition`
759
+ * when undefined). Only used when the scene's `shadow.parametric` is true. */
760
+ shadowDefinition: {
761
+ type: PropType<number>;
762
+ default: undefined;
763
+ };
724
764
  merge: {
725
765
  type: PropType<boolean>;
726
766
  default: boolean;
@@ -870,6 +910,12 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
870
910
  type: PropType<boolean>;
871
911
  default: boolean;
872
912
  };
913
+ /** Per-mesh parametric-shadow detail override (scene `shadow.definition`
914
+ * when undefined). Only used when the scene's `shadow.parametric` is true. */
915
+ shadowDefinition: {
916
+ type: PropType<number>;
917
+ default: undefined;
918
+ };
873
919
  merge: {
874
920
  type: PropType<boolean>;
875
921
  default: boolean;
@@ -971,6 +1017,7 @@ declare const PolyMesh: vue.DefineComponent<vue.ExtractPropTypes<{
971
1017
  merge: boolean;
972
1018
  meshResolution: MeshResolution;
973
1019
  parseOptions: _layoutit_polycss_core.LoadMeshOptions;
1020
+ shadowDefinition: number;
974
1021
  onContextMenu: PolyEventHandler<MouseEvent>;
975
1022
  onDoubleClick: PolyEventHandler<MouseEvent>;
976
1023
  onPointerDown: PolyEventHandler<PointerEvent>;