@salsita-ai/sdk 0.49.0-develop.cbee856178 → 0.49.0-develop.f5fc5cfc25
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/application-spec/generate-application/code/project-scaffolding.js +2 -2
- package/dist/application-spec/generate-application/code/templates/index.d.ts +1 -1
- package/dist/application-spec/generate-application/code/templates/index.js +1 -1
- package/dist/application-spec/generate-application/code/templates/phoenix-feedback-skill.js +14 -2
- package/dist/application-spec/generate-application/code/templates/phoenix-skill.d.ts +13 -1
- package/dist/application-spec/generate-application/code/templates/phoenix-skill.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.d.ts +7 -3
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-control-system.js +1 -1
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-system.d.ts +24 -1
- package/dist/configurator/application-runtime/extensions/systems/camera-control-system/camera-system.js +1 -1
- package/dist/docs/3d-scene/cameras/custom.mdx +4 -1
- package/dist/docs/3d-scene/cameras/fit-entity.mdx +2 -0
- package/dist/docs/3d-scene/cameras/fit-root.mdx +2 -0
- package/dist/docs/3d-scene/cameras/fit-selection.mdx +2 -0
- package/dist/docs/3d-scene/cameras/locks.mdx +439 -0
- package/dist/docs/3d-scene/cameras/static.mdx +2 -0
- package/dist/docs/3d-scene/cameras/transitions.mdx +2 -0
- package/dist/docs/index.json +12 -1
- package/dist/docs/phoenix/phoenix-cli.mdx +6 -5
- package/dist/docs/phoenix/project-structure.mdx +1 -1
- package/dist/docs/phoenix/sdk-builder-workflow.mdx +13 -8
- package/dist/domain/projections/common/camera-orbit.d.ts +37 -9
- package/dist/domain/projections/common/camera-orbit.js +1 -1
- package/dist/domain/projections/common/index.d.ts +1 -1
- package/dist/domain/projections/common/index.js +1 -1
- package/dist/domain/system-components/fit-entity-orthographic-camera-component.d.ts +8 -0
- package/dist/domain/system-components/fit-entity-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/fit-entity-perspective-camera-component.d.ts +8 -0
- package/dist/domain/system-components/fit-entity-perspective-camera-component.js +1 -1
- package/dist/domain/system-components/fit-root-orthographic-camera-component.d.ts +8 -0
- package/dist/domain/system-components/fit-root-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/fit-root-perspective-camera-component.d.ts +8 -0
- package/dist/domain/system-components/fit-root-perspective-camera-component.js +1 -1
- package/dist/domain/system-components/fit-selection-orthographic-camera-component.d.ts +8 -0
- package/dist/domain/system-components/fit-selection-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/fit-selection-perspective-camera-component.d.ts +8 -0
- package/dist/domain/system-components/fit-selection-perspective-camera-component.js +1 -1
- package/dist/domain/system-components/static-orthographic-camera-component.d.ts +8 -0
- package/dist/domain/system-components/static-orthographic-camera-component.js +1 -1
- package/dist/domain/system-components/static-perspective-camera-component.d.ts +8 -0
- package/dist/domain/system-components/static-perspective-camera-component.js +1 -1
- package/dist/legacy/domain-spec/__generated/domain-schema.d.ts +16 -0
- package/dist/phoenix/application-spec/project-files.js +1 -1
- package/dist/phoenix/cli.js +1 -1
- package/dist/phoenix/commands/deploy.js +2 -2
- package/dist/phoenix/commands/dev.js +4 -4
- package/dist/phoenix/commands/init.d.ts +2 -1
- package/dist/phoenix/commands/init.js +1 -1
- package/dist/phoenix/commands/login.js +2 -2
- package/dist/phoenix/commands/sync.js +1 -1
- package/dist/phoenix/services/cli-credentials.d.ts +3 -0
- package/dist/phoenix/services/cli-credentials.js +1 -1
- package/dist/phoenix/utils/index.d.ts +1 -1
- package/dist/phoenix/utils/index.js +1 -1
- package/dist/phoenix/utils/package-info.d.ts +9 -0
- package/dist/phoenix/utils/package-info.js +1 -1
- package/package.json +3 -3
- package/schema/domain-spec.json +208 -0
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { type Matrix4, Vector3 } from 'three';
|
|
2
2
|
import type { DimensionUnit } from '../../dimensions/index.js';
|
|
3
|
+
/** Camera angle and an equivalent pair of bounds that contains or clamps that angle. */
|
|
4
|
+
export interface ResolvedCameraAngleBounds {
|
|
5
|
+
readonly angle: number;
|
|
6
|
+
readonly min: number;
|
|
7
|
+
readonly max: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Resolves periodic camera bounds around the supplied world-space angle.
|
|
11
|
+
*
|
|
12
|
+
* Equivalent angles separated by a full revolution remain the same view, so finite bounds are shifted to the
|
|
13
|
+
* revolution nearest the supplied angle before it is clamped. This prevents a preserved live angle near the 0/2π
|
|
14
|
+
* seam from introducing a full turn when the destination uses an equivalent range on another revolution.
|
|
15
|
+
*
|
|
16
|
+
* A one-sided range contains every angle on some revolution, so its finite bound is placed on the allowed side
|
|
17
|
+
* within one revolution of the angle: the angle is always inside the range and the limit is reached by orbiting
|
|
18
|
+
* toward it. Comparing a normalized angle against the raw bound instead let camera-controls snap the camera by up
|
|
19
|
+
* to a full turn on the next orbit input whenever the two happened to sit on different revolutions.
|
|
20
|
+
*/
|
|
21
|
+
export declare const resolveCameraAngleBounds: (angle: number, lowerBoundary: number, upperBoundary: number) => ResolvedCameraAngleBounds;
|
|
3
22
|
/** Camera component state that determines its orbit around a target. */
|
|
4
23
|
export interface CameraOrbitState {
|
|
5
24
|
/** Camera azimuth angle in radians. */
|
|
@@ -32,20 +51,23 @@ export interface ResolveCameraOrbitProps {
|
|
|
32
51
|
/** World transform used when the state's angles are relative. */
|
|
33
52
|
readonly worldMatrix: Matrix4;
|
|
34
53
|
}
|
|
35
|
-
/** Camera
|
|
36
|
-
export interface
|
|
37
|
-
/**
|
|
54
|
+
/** Camera rotation prepared in world angles, before applying angle bounds. */
|
|
55
|
+
export interface PreparedCameraRotation {
|
|
56
|
+
/** World azimuth angle in radians. */
|
|
38
57
|
readonly azimuthAngle: number;
|
|
39
|
-
/**
|
|
58
|
+
/** Minimum world azimuth angle in radians. */
|
|
40
59
|
readonly minAzimuthAngle: number;
|
|
41
|
-
/**
|
|
60
|
+
/** Maximum world azimuth angle in radians. */
|
|
42
61
|
readonly maxAzimuthAngle: number;
|
|
43
|
-
/**
|
|
62
|
+
/** Polar angle in radians. */
|
|
44
63
|
readonly polarAngle: number;
|
|
45
|
-
/**
|
|
64
|
+
/** Minimum polar angle in radians. */
|
|
46
65
|
readonly minPolarAngle: number;
|
|
47
|
-
/**
|
|
66
|
+
/** Maximum polar angle in radians. */
|
|
48
67
|
readonly maxPolarAngle: number;
|
|
68
|
+
}
|
|
69
|
+
/** Camera orbit prepared in world angles and default distance units, before applying angle bounds. */
|
|
70
|
+
export interface PreparedCameraOrbit extends PreparedCameraRotation {
|
|
49
71
|
/** Camera distance in domain default distance units, if configured. */
|
|
50
72
|
readonly distance: number | undefined;
|
|
51
73
|
/** Minimum camera distance in domain default distance units. */
|
|
@@ -53,8 +75,14 @@ export interface ResolvedCameraOrbit {
|
|
|
53
75
|
/** Maximum camera distance in domain default distance units. */
|
|
54
76
|
readonly maxDistance: number;
|
|
55
77
|
}
|
|
78
|
+
/** Camera orbit shared by interactive and exported rendering after applying angle bounds. */
|
|
79
|
+
export type ResolvedCameraOrbit = PreparedCameraOrbit;
|
|
80
|
+
/** Applies camera defaults, relative rotation, and distance units without clamping angles. */
|
|
81
|
+
export declare const prepareCameraOrbit: ({ state, dimensionUnit, worldMatrix, }: ResolveCameraOrbitProps) => PreparedCameraOrbit;
|
|
82
|
+
/** Applies the configured angle bounds to a prepared camera rotation. */
|
|
83
|
+
export declare const resolvePreparedCameraRotation: (cameraRotation: PreparedCameraRotation) => PreparedCameraRotation;
|
|
56
84
|
/** Resolves camera angle defaults, bounds, relative rotation, and distance units. */
|
|
57
|
-
export declare const resolveCameraOrbit: (
|
|
85
|
+
export declare const resolveCameraOrbit: (props: ResolveCameraOrbitProps) => ResolvedCameraOrbit;
|
|
58
86
|
/** Applies camera distance bounds after the caller supplies a fallback in default distance units. */
|
|
59
87
|
export declare const resolveCameraDistance: (distance: number | undefined, bounds: Pick<ResolvedCameraOrbit, 'minDistance' | 'maxDistance'>, fallbackDistance: number) => number;
|
|
60
88
|
/** Converts a camera orbit to its Cartesian offset from the look-at target. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Vector3 as
|
|
1
|
+
import{Vector3 as e}from"three";import{distanceUnitToDefault as a}from"../../dimensions/index.js";import{getWorldAzimuthAngle as n}from"./world-transform.js";let t=Math.PI/2-.3,r=2*Math.PI;export const resolveCameraAngleBounds=(e,a,n)=>{let t=Number.isFinite(a),i=Number.isFinite(n);if(!Number.isFinite(e)||!t&&!i)return{angle:e,min:Math.min(a,n),max:Math.max(a,n)};if(!t)return{angle:e,min:a,max:n+r*Math.ceil((e-n)/r)};if(!i)return{angle:e,min:a+r*Math.floor((e-a)/r),max:n};let m=n-a,l=e-((e-a)%r+r)%r,o=l+m;if(e<=o)return{angle:e,min:l,max:o};if(e-o<=l+r-e)return{angle:o,min:l,max:o};let s=l+r;return{angle:s,min:s,max:s+m}};export const prepareCameraOrbit=({state:e,dimensionUnit:r,worldMatrix:i})=>{let m=!0===e.relative?n(i):0;return{azimuthAngle:(e.azimuthAngle??-.3)+m,minAzimuthAngle:(e.minAzimuthAngle??-1/0)+m,maxAzimuthAngle:(e.maxAzimuthAngle??1/0)+m,polarAngle:e.polarAngle??t,minPolarAngle:e.minPolarAngle??0,maxPolarAngle:e.maxPolarAngle??Math.PI,distance:a(e.distance,r),minDistance:a(e.minDistance,r)??Number.EPSILON,maxDistance:a(e.maxDistance,r)??1/0}};export const resolvePreparedCameraRotation=e=>{var a;let n=resolveCameraAngleBounds(e.polarAngle,e.minPolarAngle,e.maxPolarAngle),t=resolveCameraAngleBounds(Number.isFinite(a=e.azimuthAngle)?(a%(2*Math.PI)+2*Math.PI)%(2*Math.PI):a,e.minAzimuthAngle,e.maxAzimuthAngle);return{azimuthAngle:t.angle,minAzimuthAngle:t.min,maxAzimuthAngle:t.max,polarAngle:n.angle,minPolarAngle:n.min,maxPolarAngle:n.max}};export const resolveCameraOrbit=e=>{let a=prepareCameraOrbit(e);return{...a,...resolvePreparedCameraRotation(a)}};export const resolveCameraDistance=(e,a,n)=>Math.max(a.minDistance,Math.min(e??n,a.maxDistance));export const cameraOrbitToCartesian=(a,n,t)=>new e(t*Math.sin(n)*Math.sin(a),t*Math.cos(n),t*Math.sin(n)*Math.cos(a));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { resolveBoundingBox, resolveBoundingSphere } from './bounding-shape.js';
|
|
2
|
-
export { cameraOrbitToCartesian, resolveCameraDistance, resolveCameraOrbit, type CameraOrbitState, type ResolveCameraOrbitProps, type ResolvedCameraOrbit, } from './camera-orbit.js';
|
|
2
|
+
export { cameraOrbitToCartesian, prepareCameraOrbit, resolveCameraDistance, resolveCameraOrbit, resolvePreparedCameraRotation, type CameraOrbitState, type PreparedCameraOrbit, type PreparedCameraRotation, type ResolveCameraOrbitProps, type ResolvedCameraOrbit, } from './camera-orbit.js';
|
|
3
3
|
export { toMmVec3 } from './distance-vectors.js';
|
|
4
4
|
export { createSceneObjectTransformMatrix, type SceneObjectTransformState } from './scene-object-transform.js';
|
|
5
5
|
export { getPerspectiveBoxFitDistance, getPerspectiveSphereFitDistance, getWorldToViewSpaceQuaternion, type PerspectiveBoxFitDistanceProps, type PerspectiveCameraFitFrustum, type PerspectiveCameraFitViewingAngles, type PerspectiveSphereFitDistanceProps, } from './perspective-camera-fit.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{resolveBoundingBox,resolveBoundingSphere}from"./bounding-shape.js";export{cameraOrbitToCartesian,resolveCameraDistance,resolveCameraOrbit}from"./camera-orbit.js";export{toMmVec3}from"./distance-vectors.js";export{createSceneObjectTransformMatrix}from"./scene-object-transform.js";export{getPerspectiveBoxFitDistance,getPerspectiveSphereFitDistance,getWorldToViewSpaceQuaternion}from"./perspective-camera-fit.js";export{getWorldAzimuthAngle}from"./world-transform.js";
|
|
1
|
+
export{resolveBoundingBox,resolveBoundingSphere}from"./bounding-shape.js";export{cameraOrbitToCartesian,prepareCameraOrbit,resolveCameraDistance,resolveCameraOrbit,resolvePreparedCameraRotation}from"./camera-orbit.js";export{toMmVec3}from"./distance-vectors.js";export{createSceneObjectTransformMatrix}from"./scene-object-transform.js";export{getPerspectiveBoxFitDistance,getPerspectiveSphereFitDistance,getWorldToViewSpaceQuaternion}from"./perspective-camera-fit.js";export{getWorldAzimuthAngle}from"./world-transform.js";
|
|
@@ -20,6 +20,14 @@ export type FitEntityOrthographicCameraComponentState = {
|
|
|
20
20
|
* @default true
|
|
21
21
|
*/
|
|
22
22
|
readonly animateTransition?: boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Preserves the live camera zoom when switching between orthographic cameras with the same group.
|
|
25
|
+
*/
|
|
26
|
+
readonly zoomLockGroup?: string | null | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
29
|
+
*/
|
|
30
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
23
31
|
/**
|
|
24
32
|
* Uses fitToBox strategy to fit the entity. By default, fitToSphere strategy is used.
|
|
25
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as o}from"../core/index.js";export const FitEntityOrthographicCameraComponentName="fitEntityOrthographicCamera";export const fitEntityOrthographicCameraComponent=e.component("fitEntityOrthographicCamera").withState({type:"object",tsType:"FitEntityOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitEntityOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},fitToBox:{type:"boolean"},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitEntityOrthographicCameraComponentSnapshot=o(fitEntityOrthographicCameraComponent);export const isFitEntityOrthographicCameraComponentInstance=t(fitEntityOrthographicCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as o}from"../core/index.js";export const FitEntityOrthographicCameraComponentName="fitEntityOrthographicCamera";export const fitEntityOrthographicCameraComponent=e.component("fitEntityOrthographicCamera").withState({type:"object",tsType:"FitEntityOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitEntityOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fitToBox:{type:"boolean"},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitEntityOrthographicCameraComponentSnapshot=o(fitEntityOrthographicCameraComponent);export const isFitEntityOrthographicCameraComponentInstance=t(fitEntityOrthographicCameraComponent);
|
|
@@ -20,6 +20,14 @@ export type FitEntityPerspectiveCameraComponentState = {
|
|
|
20
20
|
* @default true
|
|
21
21
|
*/
|
|
22
22
|
readonly animateTransition?: boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Preserves the live camera distance when switching between perspective cameras with the same group.
|
|
25
|
+
*/
|
|
26
|
+
readonly distanceLockGroup?: string | null | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
29
|
+
*/
|
|
30
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
23
31
|
/**
|
|
24
32
|
* If true, the camera will use fitToBox algorithm to fit the mesh. Otherwise, it will fit use fitToSphere.
|
|
25
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as n}from"../core/index.js";export const FitEntityPerspectiveCameraComponentName="fitEntityPerspectiveCamera";export const fitEntityPerspectiveCameraComponent=e.component("fitEntityPerspectiveCamera").withState({type:"object",tsType:"FitEntityPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitEntityPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},fitToBox:{type:"boolean"},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitEntityPerspectiveCameraComponentSnapshot=n(fitEntityPerspectiveCameraComponent);export const isFitEntityPerspectiveCameraComponentInstance=t(fitEntityPerspectiveCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";import{isInstanceOfComponentType as t,isSnapshotOfComponentType as n}from"../core/index.js";export const FitEntityPerspectiveCameraComponentName="fitEntityPerspectiveCamera";export const fitEntityPerspectiveCameraComponent=e.component("fitEntityPerspectiveCamera").withState({type:"object",tsType:"FitEntityPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitEntityPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fitToBox:{type:"boolean"},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitEntityPerspectiveCameraComponentSnapshot=n(fitEntityPerspectiveCameraComponent);export const isFitEntityPerspectiveCameraComponentInstance=t(fitEntityPerspectiveCameraComponent);
|
|
@@ -19,6 +19,14 @@ export type FitRootOrthographicCameraComponentState = {
|
|
|
19
19
|
* @default true
|
|
20
20
|
*/
|
|
21
21
|
readonly animateTransition?: boolean | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Preserves the live camera zoom when switching between orthographic cameras with the same group.
|
|
24
|
+
*/
|
|
25
|
+
readonly zoomLockGroup?: string | null | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
28
|
+
*/
|
|
29
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
22
30
|
/**
|
|
23
31
|
* If true, the camera will use fitToBox algorithm to fit the mesh. Otherwise, it will fit use fitToSphere.
|
|
24
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitRootOrthographicCameraComponentName="fitRootOrthographicCamera";export const fitRootOrthographicCameraComponent=e.component("fitRootOrthographicCamera").withState({type:"object",tsType:"FitRootOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitRootOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},fitToBox:{type:"boolean"},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitRootOrthographicCameraComponent=t(fitRootOrthographicCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitRootOrthographicCameraComponentName="fitRootOrthographicCamera";export const fitRootOrthographicCameraComponent=e.component("fitRootOrthographicCamera").withState({type:"object",tsType:"FitRootOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitRootOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fitToBox:{type:"boolean"},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitRootOrthographicCameraComponent=t(fitRootOrthographicCameraComponent);
|
|
@@ -19,6 +19,14 @@ export type FitRootPerspectiveCameraComponentState = {
|
|
|
19
19
|
* @default true
|
|
20
20
|
*/
|
|
21
21
|
readonly animateTransition?: boolean | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Preserves the live camera distance when switching between perspective cameras with the same group.
|
|
24
|
+
*/
|
|
25
|
+
readonly distanceLockGroup?: string | null | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
28
|
+
*/
|
|
29
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
22
30
|
/**
|
|
23
31
|
* If true, the camera will use fitToBox algorithm to fit the mesh. Otherwise, it will fit use fitToSphere.
|
|
24
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitRootPerspectiveCameraComponentName="fitRootPerspectiveCamera";export const fitRootPerspectiveCameraComponent=e.component("fitRootPerspectiveCamera").withState({type:"object",tsType:"FitRootPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitRootPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},fitToBox:{type:"boolean"},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitRootPerspectiveCameraComponent=t(fitRootPerspectiveCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitRootPerspectiveCameraComponentName="fitRootPerspectiveCamera";export const fitRootPerspectiveCameraComponent=e.component("fitRootPerspectiveCamera").withState({type:"object",tsType:"FitRootPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitRootPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fitToBox:{type:"boolean"},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitRootPerspectiveCameraComponent=t(fitRootPerspectiveCameraComponent);
|
|
@@ -20,6 +20,14 @@ export type FitSelectionOrthographicCameraComponentState = {
|
|
|
20
20
|
* @default true
|
|
21
21
|
*/
|
|
22
22
|
readonly animateTransition?: boolean | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Preserves the live camera zoom when switching between orthographic cameras with the same group.
|
|
25
|
+
*/
|
|
26
|
+
readonly zoomLockGroup?: string | null | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
29
|
+
*/
|
|
30
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
23
31
|
/**
|
|
24
32
|
* Uses fitToBox strategy to fit the selection. By default, fitToSphere strategy is used.
|
|
25
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionOrthographicCameraComponentName="fitSelectionOrthographicCamera";export const fitSelectionOrthographicCameraComponent=e.component("fitSelectionOrthographicCamera").withState({type:"object",tsType:"FitSelectionOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},animateTransition:{type:"boolean"},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionOrthographicCameraComponent=t(fitSelectionOrthographicCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionOrthographicCameraComponentName="fitSelectionOrthographicCamera";export const fitSelectionOrthographicCameraComponent=e.component("fitSelectionOrthographicCamera").withState({type:"object",tsType:"FitSelectionOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionOrthographicCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},near:{type:"number"},far:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionOrthographicCameraComponent=t(fitSelectionOrthographicCameraComponent);
|
|
@@ -19,6 +19,14 @@ export type FitSelectionPerspectiveCameraComponentState = {
|
|
|
19
19
|
* @default true
|
|
20
20
|
*/
|
|
21
21
|
readonly animateTransition?: boolean | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Preserves the live camera distance when switching between perspective cameras with the same group.
|
|
24
|
+
*/
|
|
25
|
+
readonly distanceLockGroup?: string | null | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
28
|
+
*/
|
|
29
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
22
30
|
/**
|
|
23
31
|
* Uses fitToBox strategy to fit the selection. By default, fitToSphere strategy is used.
|
|
24
32
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionPerspectiveCameraComponentName="fitSelectionPerspectiveCamera";export const fitSelectionPerspectiveCameraComponent=e.component("fitSelectionPerspectiveCamera").withState({type:"object",tsType:"FitSelectionPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionPerspectiveCameraComponent=t(fitSelectionPerspectiveCameraComponent);
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";import{isSnapshotOfComponentType as t}from"../core/index.js";export const FitSelectionPerspectiveCameraComponentName="fitSelectionPerspectiveCamera";export const fitSelectionPerspectiveCameraComponent=e.component("fitSelectionPerspectiveCamera").withState({type:"object",tsType:"FitSelectionPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"FitSelectionPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},fitToBox:{type:"boolean"},fitMeshChanges:{type:"boolean"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isFitSelectionPerspectiveCameraComponent=t(fitSelectionPerspectiveCameraComponent);
|
|
@@ -16,6 +16,14 @@ export type StaticOrthographicCameraComponentState = {
|
|
|
16
16
|
* @default true
|
|
17
17
|
*/
|
|
18
18
|
readonly animateTransition?: boolean | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Preserves the live camera zoom when switching between orthographic cameras with the same group.
|
|
21
|
+
*/
|
|
22
|
+
readonly zoomLockGroup?: string | null | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
25
|
+
*/
|
|
26
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
19
27
|
/**
|
|
20
28
|
* Camera frustum left plane.
|
|
21
29
|
* Distance is converted based on application's distanceDataUnit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";export const StaticOrthographicCameraComponentName="staticOrthographicCamera";export const staticOrthographicCameraComponent=e.component(StaticOrthographicCameraComponentName).withState({type:"object",tsType:"StaticOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticOrthographicCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},far:{type:"number"},near:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"}},required:[],additionalProperties:!1}).build();export const isStaticOrthographicCameraComponent=e=>e.componentInstance.componentType.name===StaticOrthographicCameraComponentName;
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";export const StaticOrthographicCameraComponentName="staticOrthographicCamera";export const staticOrthographicCameraComponent=e.component(StaticOrthographicCameraComponentName).withState({type:"object",tsType:"StaticOrthographicCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticOrthographicCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},zoomLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},left:{type:"number"},bottom:{type:"number"},frustumSize:{type:"number"},far:{type:"number"},near:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},minZoom:{type:"number"},maxZoom:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"}},required:[],additionalProperties:!1}).build();export const isStaticOrthographicCameraComponent=e=>e.componentInstance.componentType.name===StaticOrthographicCameraComponentName;
|
|
@@ -16,6 +16,14 @@ export type StaticPerspectiveCameraComponentState = {
|
|
|
16
16
|
* @default true
|
|
17
17
|
*/
|
|
18
18
|
readonly animateTransition?: boolean | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Preserves the live camera distance when switching between perspective cameras with the same group.
|
|
21
|
+
*/
|
|
22
|
+
readonly distanceLockGroup?: string | null | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Preserves the live camera rotation when switching between cameras with the same group.
|
|
25
|
+
*/
|
|
26
|
+
readonly rotationLockGroup?: string | null | undefined;
|
|
19
27
|
/**
|
|
20
28
|
* Field of view in degrees.
|
|
21
29
|
* @see PerspectiveCamera documentation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{SystemComponentBuilder as e}from"../components/index.js";export const StaticPerspectiveCameraComponentName="staticPerspectiveCamera";export const staticPerspectiveCameraComponent=e.component(StaticPerspectiveCameraComponentName).withState({type:"object",tsType:"StaticPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isStaticPerspectiveCameraComponent=e=>e.componentInstance.componentType.name===StaticPerspectiveCameraComponentName;
|
|
1
|
+
import{SystemComponentBuilder as e}from"../components/index.js";export const StaticPerspectiveCameraComponentName="staticPerspectiveCamera";export const staticPerspectiveCameraComponent=e.component(StaticPerspectiveCameraComponentName).withState({type:"object",tsType:"StaticPerspectiveCameraComponentState",import:[{module:"@salsita-ai/sdk/domain",member:"StaticPerspectiveCameraComponentState"}],properties:{priority:{type:"number"},animateOnLoad:{type:"boolean"},animateTransition:{type:"boolean"},distanceLockGroup:{type:["string","null"]},rotationLockGroup:{type:["string","null"]},fov:{type:"number"},far:{type:"number"},near:{type:"number"},focus:{type:"number"},distance:{type:"number"},minDistance:{type:"number"},maxDistance:{type:"number"},polarAngle:{type:"number"},minPolarAngle:{type:"number"},maxPolarAngle:{type:"number"},azimuthAngle:{type:"number"},minAzimuthAngle:{type:"number"},maxAzimuthAngle:{type:"number"},smoothTime:{type:"number"},draggingSmoothTime:{type:"number"},maxSpeed:{type:"number"},azimuthRotateSpeed:{type:"number"},polarRotateSpeed:{type:"number"},dollySpeed:{type:"number"},dollyDragInverted:{type:"boolean"},truckSpeed:{type:"number"},mouseButtons:{type:"object",properties:{left:{type:"number"},middle:{type:"number"},right:{type:"number"},wheel:{type:"number"}},required:["left","middle","right"],additionalProperties:!1},touches:{type:"object",properties:{one:{type:"number"},two:{type:"number"},three:{type:"number"}},required:["one","two"],additionalProperties:!1},boundaryEnclosesCamera:{type:"boolean"},dollyToCursor:{type:"boolean"},dragToOffset:{type:"boolean"},verticalDragToForward:{type:"boolean"},boundary:{type:"object"},lookAtX:{type:"number"},lookAtY:{type:"number"},lookAtZ:{type:"number"},relative:{type:"boolean"}},required:[],additionalProperties:!1}).build();export const isStaticPerspectiveCameraComponent=e=>e.componentInstance.componentType.name===StaticPerspectiveCameraComponentName;
|
|
@@ -2844,6 +2844,8 @@ export interface DomainSpecification {
|
|
|
2844
2844
|
fitMeshChanges?: EnhancedBooleanRead;
|
|
2845
2845
|
animateOnLoad?: EnhancedBooleanRead;
|
|
2846
2846
|
animateTransition?: EnhancedBooleanRead;
|
|
2847
|
+
distanceLockGroup?: (string | null) | ReadEnhancement;
|
|
2848
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
2847
2849
|
fitToBox?: EnhancedBooleanRead;
|
|
2848
2850
|
fov?: EnhancedNumberRead;
|
|
2849
2851
|
far?: EnhancedNumberRead;
|
|
@@ -2897,6 +2899,8 @@ export interface DomainSpecification {
|
|
|
2897
2899
|
fitMeshChanges?: EnhancedBooleanRead;
|
|
2898
2900
|
animateOnLoad?: EnhancedBooleanRead;
|
|
2899
2901
|
animateTransition?: EnhancedBooleanRead;
|
|
2902
|
+
zoomLockGroup?: (string | null) | ReadEnhancement;
|
|
2903
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
2900
2904
|
fitToBox?: EnhancedBooleanRead;
|
|
2901
2905
|
left?: EnhancedNumberRead;
|
|
2902
2906
|
bottom?: EnhancedNumberRead;
|
|
@@ -2954,6 +2958,8 @@ export interface DomainSpecification {
|
|
|
2954
2958
|
fitMeshChanges?: EnhancedBooleanRead;
|
|
2955
2959
|
animateOnLoad?: EnhancedBooleanRead;
|
|
2956
2960
|
animateTransition?: EnhancedBooleanRead;
|
|
2961
|
+
distanceLockGroup?: (string | null) | ReadEnhancement;
|
|
2962
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
2957
2963
|
fitToBox?: EnhancedBooleanRead;
|
|
2958
2964
|
fov?: EnhancedNumberRead;
|
|
2959
2965
|
far?: EnhancedNumberRead;
|
|
@@ -3007,6 +3013,8 @@ export interface DomainSpecification {
|
|
|
3007
3013
|
fitMeshChanges?: EnhancedBooleanRead;
|
|
3008
3014
|
animateOnLoad?: EnhancedBooleanRead;
|
|
3009
3015
|
animateTransition?: EnhancedBooleanRead;
|
|
3016
|
+
zoomLockGroup?: (string | null) | ReadEnhancement;
|
|
3017
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
3010
3018
|
fitToBox?: EnhancedBooleanRead;
|
|
3011
3019
|
left?: EnhancedNumberRead;
|
|
3012
3020
|
bottom?: EnhancedNumberRead;
|
|
@@ -3064,6 +3072,8 @@ export interface DomainSpecification {
|
|
|
3064
3072
|
fitMeshChanges?: EnhancedBooleanRead;
|
|
3065
3073
|
animateOnLoad?: EnhancedBooleanRead;
|
|
3066
3074
|
animateTransition?: EnhancedBooleanRead;
|
|
3075
|
+
distanceLockGroup?: (string | null) | ReadEnhancement;
|
|
3076
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
3067
3077
|
fov?: EnhancedNumberRead;
|
|
3068
3078
|
far?: EnhancedNumberRead;
|
|
3069
3079
|
near?: EnhancedNumberRead;
|
|
@@ -3115,6 +3125,8 @@ export interface DomainSpecification {
|
|
|
3115
3125
|
priority?: EnhancedNumberRead;
|
|
3116
3126
|
fitToBox?: EnhancedBooleanRead;
|
|
3117
3127
|
animateTransition?: EnhancedBooleanRead;
|
|
3128
|
+
zoomLockGroup?: (string | null) | ReadEnhancement;
|
|
3129
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
3118
3130
|
left?: EnhancedNumberRead;
|
|
3119
3131
|
bottom?: EnhancedNumberRead;
|
|
3120
3132
|
frustumSize?: EnhancedNumberRead;
|
|
@@ -3170,6 +3182,8 @@ export interface DomainSpecification {
|
|
|
3170
3182
|
priority?: EnhancedNumberRead;
|
|
3171
3183
|
animateOnLoad?: EnhancedBooleanRead;
|
|
3172
3184
|
animateTransition?: EnhancedBooleanRead;
|
|
3185
|
+
distanceLockGroup?: (string | null) | ReadEnhancement;
|
|
3186
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
3173
3187
|
fov?: EnhancedNumberRead;
|
|
3174
3188
|
far?: EnhancedNumberRead;
|
|
3175
3189
|
near?: EnhancedNumberRead;
|
|
@@ -3224,6 +3238,8 @@ export interface DomainSpecification {
|
|
|
3224
3238
|
priority?: EnhancedNumberRead;
|
|
3225
3239
|
animateOnLoad?: EnhancedBooleanRead;
|
|
3226
3240
|
animateTransition?: EnhancedBooleanRead;
|
|
3241
|
+
zoomLockGroup?: (string | null) | ReadEnhancement;
|
|
3242
|
+
rotationLockGroup?: (string | null) | ReadEnhancement;
|
|
3227
3243
|
left?: EnhancedNumberRead;
|
|
3228
3244
|
bottom?: EnhancedNumberRead;
|
|
3229
3245
|
frustumSize?: EnhancedNumberRead;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{globby as s}from"globby";import e from"picomatch";export const SPEC_FILE_PATTERN="spec/**/*.yaml";export const PARSED_TEXT_FILE_PATTERNS=["spec/**/*.yaml","src/**/*.{ts,tsx}","mocks/**/*.{yaml,yml}",".gitignore",".cursor/rules/phoenix.mdc","CLAUDE.md","package.json","assets/chat/embeddings.csv","assets/chat/chat.yaml"];export const PARSED_ASSET_FILE_PATTERNS=["assets/private/**","assets/public/**"];let o=[...PARSED_TEXT_FILE_PATTERNS,...PARSED_ASSET_FILE_PATTERNS,"src/**","mocks/**","assets/**","public/**","templates/**","pnpm-lock.yaml"],t=["**/node_modules/**","**/.phoenix/**","**/__generated/**","**/.DS_Store","**/._*","**/.env","**/.env.*"],c=e(o,{dot:!0,ignore:t});export const isProjectFile=s=>c(s);export const listProjectEntries=async e=>(await s(o,{cwd:e,dot:!0,ignore:t,onlyFiles:!1,followSymbolicLinks:!1})).sort();
|
|
1
|
+
import{globby as s}from"globby";import e from"picomatch";export const SPEC_FILE_PATTERN="spec/**/*.yaml";export const PARSED_TEXT_FILE_PATTERNS=["spec/**/*.yaml","src/**/*.{ts,tsx}","mocks/**/*.{yaml,yml}",".gitignore",".cursor/rules/phoenix.mdc","CLAUDE.md","package.json","assets/chat/embeddings.csv","assets/chat/chat.yaml"];export const PARSED_ASSET_FILE_PATTERNS=["assets/private/**","assets/public/**"];let o=[...PARSED_TEXT_FILE_PATTERNS,...PARSED_ASSET_FILE_PATTERNS,"src/**","mocks/**","assets/**","public/**","templates/**","pnpm-lock.yaml","pnpm-workspace.yaml"],t=["**/node_modules/**","**/.phoenix/**","**/__generated/**","**/.DS_Store","**/._*","**/.env","**/.env.*"],c=e(o,{dot:!0,ignore:t});export const isProjectFile=s=>c(s);export const listProjectEntries=async e=>(await s(o,{cwd:e,dot:!0,ignore:t,onlyFiles:!1,followSymbolicLinks:!1})).sort();
|