@manycore/aholo-viewer 1.0.0-alpha.0 → 1.0.0

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.ts CHANGED
@@ -14383,6 +14383,10 @@ interface LodMeta {
14383
14383
  }>;
14384
14384
  }>;
14385
14385
  }
14386
+ interface DistanceStep {
14387
+ distance: number;
14388
+ step: number;
14389
+ }
14386
14390
  interface LodConfig {
14387
14391
  minLevel: number;
14388
14392
  maxBudget: number;
@@ -14391,6 +14395,7 @@ interface LodConfig {
14391
14395
  behindPenalty: number;
14392
14396
  behindTolerance: number;
14393
14397
  behindDistanceTolerance: number;
14398
+ distanceStep: DistanceStep[];
14394
14399
  hysteresisTicks: number;
14395
14400
  schedulerParallelCounts: number;
14396
14401
  schedulerExistingTaskLimit: number;
@@ -14408,6 +14413,7 @@ declare class LodSplat {
14408
14413
  private behindPenalty;
14409
14414
  private behindTolerance;
14410
14415
  private behindDistanceTolerance;
14416
+ private distanceStep;
14411
14417
  private hysteresisTicks;
14412
14418
  private schedulerParallelCounts;
14413
14419
  private schedulerExistingTaskLimit;
@@ -14466,8 +14472,8 @@ interface RenderCloudConfig {
14466
14472
  */
14467
14473
  apiPrefix?: string;
14468
14474
  /**
14469
- * Aholo Open Platform AppKey 鈫?HTTP header `Authorization: <AppKey>` (no `Bearer` prefix).
14470
- * @see https://labs-beta.aholo3d.cn/api-docs/api-reference
14475
+ * Aholo Open Platform AppKey HTTP header `Authorization: <AppKey>` (no `Bearer` prefix).
14476
+ * @see https://labs.aholo3d.cn/api-docs/api-reference
14471
14477
  */
14472
14478
  getAppKey?: () => string | Promise<string>;
14473
14479
  /** Rewrite WebSocket URL before connect. */
@@ -14478,7 +14484,7 @@ interface RenderCloudConfig {
14478
14484
  WebSocket?: typeof WebSocket;
14479
14485
  createRequestId?: () => string;
14480
14486
  }
14481
- /** `components.schemas.OperationMetaData` 鈥?often `null` while processing. */
14487
+ /** `components.schemas.OperationMetaData` often `null` while processing. */
14482
14488
  type OperationMetaData = Record<string, unknown> | null;
14483
14489
  type RenderCloudErrorStatus = 'INVALID_ARGUMENT' | 'NOT_FOUND' | 'RESOURCE_EXHAUSTED' | 'INTERNAL' | string;
14484
14490
  /** `components.schemas.RenderCloudErrorDetails` */
@@ -14543,6 +14549,8 @@ interface StreamingStatusMessage {
14543
14549
  }
14544
14550
  interface RealtimeSessionOptions {
14545
14551
  usda: string;
14552
+ /** Abort session creation and close any server session that was already allocated. */
14553
+ signal?: AbortSignal;
14546
14554
  /** Poll interval when waiting for stream ACTIVE. OpenAPI suggests 2s. */
14547
14555
  poll?: {
14548
14556
  intervalMs?: number;
@@ -14559,6 +14567,8 @@ interface RealtimeSessionOptions {
14559
14567
  onFrame?: (frame: RenderFrame) => void;
14560
14568
  onError?: (error: unknown) => void;
14561
14569
  onStateChange?: (state: SessionState) => void;
14570
+ /** OpenAPI returns `operationId` as the realtime `sessionId` before the session becomes ACTIVE. */
14571
+ onSessionId?: (sessionId: string) => void;
14562
14572
  /** WebSocket JSON status (`code`, `desc`, queue info). Includes render errors `2001` / `2002`. */
14563
14573
  onStreamingStatus?: (message: StreamingStatusMessage) => void;
14564
14574
  /**
@@ -14638,7 +14648,7 @@ interface RealtimeSession {
14638
14648
  close(): Promise<void>;
14639
14649
  }
14640
14650
  /**
14641
- * Create a realtime session: REST submit 鈫?poll ACTIVE 鈫?WebSocket 鈫?optional `:push` updates.
14651
+ * Create a realtime session: REST submit poll ACTIVE WebSocket optional `:push` updates.
14642
14652
  * Aligns with OpenAPI `openapi.yaml` (RenderCloud tag).
14643
14653
  */
14644
14654
  declare function createRealtimeSession(config: RenderCloudConfig, options: RealtimeSessionOptions): Promise<RealtimeSession>;
@@ -14659,11 +14669,11 @@ declare class OfflineRenderClient {
14659
14669
  }
14660
14670
 
14661
14671
  /**
14662
- * Column-major 4脳4 (e.g. Aholo Viewer `Math.Matrix4.elements`) 鈫?USDA `matrix4d` rows.
14672
+ * Column-major 4x4 (e.g. Aholo Viewer `Math.Matrix4.elements`) USDA `matrix4d` rows.
14663
14673
  * USDA uses row-vector layout; column-major world matrices must be transposed for rows.
14664
14674
  */
14665
14675
  declare function matrixColumnsToUsdMatrix4d(columns: ArrayLike<number>): UsdMatrix4d;
14666
- /** USDA `matrix4d` rows 鈫?column-major 16-element layout (Aholo Viewer `Math.Matrix4.fromArray` indexing). */
14676
+ /** USDA `matrix4d` rows column-major 16-element layout (Aholo Viewer `Math.Matrix4.fromArray` indexing). */
14667
14677
  declare function usdMatrix4dToMatrixColumns(rows: UsdMatrix4d, target?: Float32Array<ArrayBuffer>): Float32Array;
14668
14678
 
14669
14679
  declare class RenderCloudError extends Error {
@@ -14671,6 +14681,19 @@ declare class RenderCloudError extends Error {
14671
14681
  readonly body?: RenderCloudApiError | unknown;
14672
14682
  constructor(message: string, status: number, body?: RenderCloudApiError | unknown);
14673
14683
  }
14684
+ /** `Operation.error` / HTTP `RenderCloudApiError.details`. */
14685
+ declare function readRenderCloudApiErrorDetails(body: unknown): RenderCloudErrorDetails | undefined;
14686
+ /** `details.reason` per OpenAPI (`UPPER_SNAKE_CASE`). */
14687
+ declare function readRenderCloudApiErrorReason(body: unknown): string | undefined;
14688
+ /** `Operation.error.message` or top-level `RenderCloudApiError.message`. */
14689
+ declare function readRenderCloudApiErrorMessage(body: unknown): string | undefined;
14690
+ /**
14691
+ * User-facing error text aligned with OpenAPI `RenderCloudApiError`:
14692
+ * prefer `message` (human-readable), then `details.reason`.
14693
+ */
14694
+ declare function formatRenderCloudUserError(body: unknown, options?: {
14695
+ fallbackMessage?: string;
14696
+ }): string | undefined;
14674
14697
 
14675
14698
  type index_d_OfflineRenderClient = OfflineRenderClient;
14676
14699
  declare const index_d_OfflineRenderClient: typeof OfflineRenderClient;
@@ -14693,10 +14716,14 @@ type index_d_UsdCameraParams = UsdCameraParams;
14693
14716
  type index_d_UsdMatrix4d = UsdMatrix4d;
14694
14717
  declare const index_d_closeStreamKeepalive: typeof closeStreamKeepalive;
14695
14718
  declare const index_d_createRealtimeSession: typeof createRealtimeSession;
14719
+ declare const index_d_formatRenderCloudUserError: typeof formatRenderCloudUserError;
14696
14720
  declare const index_d_matrixColumnsToUsdMatrix4d: typeof matrixColumnsToUsdMatrix4d;
14721
+ declare const index_d_readRenderCloudApiErrorDetails: typeof readRenderCloudApiErrorDetails;
14722
+ declare const index_d_readRenderCloudApiErrorMessage: typeof readRenderCloudApiErrorMessage;
14723
+ declare const index_d_readRenderCloudApiErrorReason: typeof readRenderCloudApiErrorReason;
14697
14724
  declare const index_d_usdMatrix4dToMatrixColumns: typeof usdMatrix4dToMatrixColumns;
14698
14725
  declare namespace index_d {
14699
- export { index_d_OfflineRenderClient as OfflineRenderClient, index_d_RenderCloudError as RenderCloudError, index_d_closeStreamKeepalive as closeStreamKeepalive, index_d_createRealtimeSession as createRealtimeSession, index_d_matrixColumnsToUsdMatrix4d as matrixColumnsToUsdMatrix4d, index_d_usdMatrix4dToMatrixColumns as usdMatrix4dToMatrixColumns };
14726
+ export { index_d_OfflineRenderClient as OfflineRenderClient, index_d_RenderCloudError as RenderCloudError, index_d_closeStreamKeepalive as closeStreamKeepalive, index_d_createRealtimeSession as createRealtimeSession, index_d_formatRenderCloudUserError as formatRenderCloudUserError, index_d_matrixColumnsToUsdMatrix4d as matrixColumnsToUsdMatrix4d, index_d_readRenderCloudApiErrorDetails as readRenderCloudApiErrorDetails, index_d_readRenderCloudApiErrorMessage as readRenderCloudApiErrorMessage, index_d_readRenderCloudApiErrorReason as readRenderCloudApiErrorReason, index_d_usdMatrix4dToMatrixColumns as usdMatrix4dToMatrixColumns };
14700
14727
  export type { index_d_OfflineRenderResult as OfflineRenderResult, index_d_Operation as Operation, index_d_OperationMetaData as OperationMetaData, index_d_RealtimeSession as RealtimeSession, index_d_RealtimeSessionOptions as RealtimeSessionOptions, index_d_RealtimeStreamResult as RealtimeStreamResult, index_d_RenderCloudApiError as RenderCloudApiError, index_d_RenderCloudConfig as RenderCloudConfig, index_d_RenderCloudErrorDetails as RenderCloudErrorDetails, index_d_RenderCloudErrorStatus as RenderCloudErrorStatus, index_d_RenderFrame as RenderFrame, index_d_SessionState as SessionState, index_d_StreamingStatusMessage as StreamingStatusMessage, index_d_UsdCameraParams as UsdCameraParams, index_d_UsdMatrix4d as UsdMatrix4d };
14701
14728
  }
14702
14729
 
@@ -14723,197 +14750,197 @@ declare const SpriteMaterial: {
14723
14750
  new (p?: SpriteMaterialParameters<SourceTexture$1> | undefined): SpriteMaterial$1<SourceTexture$1>;
14724
14751
  readonly MAX_TEXTURES: 6;
14725
14752
  };
14726
- interface IPipelineConfig {
14753
+ interface IBasicBackgroundConfig {
14754
+ color?: Color;
14755
+ alpha?: number;
14756
+ texture?: Texture | null;
14757
+ }
14758
+ interface IEnvMapBackgroundConfig {
14759
+ texture?: Texture;
14760
+ luma?: number;
14761
+ verticalRotation?: number;
14762
+ horizonRotation?: number;
14763
+ reverseVertical?: boolean;
14764
+ reverseHorizon?: boolean;
14765
+ }
14766
+ interface IGradientBackgroundConfig {
14767
+ skyColor?: Color;
14768
+ groundColor?: Color;
14769
+ }
14770
+ interface ISkyBackgroundConfig {
14771
+ enablePreSkyMap?: boolean;
14772
+ luminance?: number;
14773
+ turbidity?: number;
14774
+ rayleigh?: number;
14775
+ mieCoefficient?: number;
14776
+ mieDirectionalG?: number;
14777
+ }
14778
+ interface IBackgroundPluginConfig {
14727
14779
  /**
14728
- * background and ground
14780
+ * @default `true`
14781
+ */
14782
+ enabled?: boolean;
14783
+ /**
14784
+ * up for background rendering, will effect ground and background
14785
+ * @default `Vector3(0.0, 0.0, 1.0)`
14729
14786
  */
14730
- Background?: {
14787
+ up?: Vector3;
14788
+ ground?: {
14731
14789
  /**
14732
- * @default true
14790
+ * enable ground grid
14791
+ * @default `true`
14733
14792
  */
14734
14793
  enabled?: boolean;
14735
14794
  /**
14736
- * up for background rendering, will effect ground and background
14737
- * @default `Vector3(0.0, 0.0, 1.0)`
14795
+ * default ground grid size
14796
+ * @default `1000000`
14738
14797
  */
14739
- up?: Vector3;
14740
- ground?: {
14741
- /**
14742
- * enable ground grid
14743
- * @default `true`
14744
- */
14745
- enabled?: boolean;
14746
- /**
14747
- * default ground grid size
14748
- * @default `1000000`
14749
- */
14750
- gridSize?: number;
14751
- /**
14752
- * grid A gap
14753
- * @default `500`
14754
- */
14755
- gridGapSizeA?: number;
14756
- /**
14757
- * grid A color
14758
- * @default `Color(1.0, 1.0, 1.0)`
14759
- */
14760
- colorA?: Color;
14761
- /**
14762
- * grid A line width
14763
- * @default `1`
14764
- */
14765
- lineWidthA?: number;
14766
- /**
14767
- * grid B gap
14768
- * @default `5000`
14769
- */
14770
- gridGapSizeB?: number;
14771
- /**
14772
- * grid B color
14773
- * @default `Color(1.0, 1.0, 1.0)`
14774
- */
14775
- colorB?: Color;
14776
- /**
14777
- * grid B line width
14778
- * @default `1`
14779
- */
14780
- lineWidthB?: number;
14781
- /**
14782
- * enable ground color shading, by default will only render noise for ground.
14783
- * @default `false`
14784
- */
14785
- isGroundColorEnabled?: boolean;
14786
- /**
14787
- * ground color
14788
- * @default `Color(0.7, 0.7, 0.7)`
14789
- */
14790
- groundColor?: Color;
14791
- };
14792
- background?: {
14793
- /**
14794
- * @default `BackgroundMode.BasicBackground`
14795
- */
14796
- active?: BackgroundMode;
14797
- /**
14798
- * basic color and texture
14799
- * active by `BackgroundMode.BasicBackground`
14800
- */
14801
- basic?: {
14802
- color?: Color;
14803
- alpha?: number;
14804
- texture?: Texture | null;
14805
- };
14806
- /**
14807
- * sphere envmap
14808
- * active by `BackgroundMode.EnvMapBackground`
14809
- */
14810
- envmap?: {
14811
- texture?: Texture;
14812
- luma?: number;
14813
- verticalRotation?: number;
14814
- horizonRotation?: number;
14815
- reverseVertical?: boolean;
14816
- reverseHorizon?: boolean;
14817
- };
14818
- /**
14819
- * sphere gradient
14820
- * active by `BackgroundMode.GradientBackground`
14821
- */
14822
- gradient?: {
14823
- skyColor?: Color;
14824
- groundColor?: Color;
14825
- };
14826
- /**
14827
- * sky box
14828
- * active by `BackgroundMode.SkyBackground`
14829
- */
14830
- sky?: {
14831
- enablePreSkyMap?: boolean;
14832
- luminance?: number;
14833
- turbidity?: number;
14834
- rayleigh?: number;
14835
- mieCoefficient?: number;
14836
- mieDirectionalG?: number;
14837
- };
14838
- /**
14839
- * solid color
14840
- * active by `BackgroundMode.SolidColorBackground`, if not necessary use `BackgroundMode.BasicBackground` instead
14841
- */
14842
- solid?: {
14843
- color?: Color;
14844
- alpha?: number;
14845
- };
14846
- };
14847
- };
14848
- /**
14849
- * output Composite, used to optimize multi viewport rendering
14850
- */
14851
- Composite?: {
14852
- enabled?: boolean;
14853
- multiSamplingEnabled?: boolean;
14854
- staticFrameCacheEnabled?: boolean;
14798
+ gridSize?: number;
14799
+ /**
14800
+ * grid A gap
14801
+ * @default `500`
14802
+ */
14803
+ gridGapSizeA?: number;
14804
+ /**
14805
+ * grid A color
14806
+ * @default `Color(1.0, 1.0, 1.0)`
14807
+ */
14808
+ colorA?: Color;
14809
+ /**
14810
+ * grid A line width
14811
+ * @default `1`
14812
+ */
14813
+ lineWidthA?: number;
14814
+ /**
14815
+ * grid B gap
14816
+ * @default `5000`
14817
+ */
14818
+ gridGapSizeB?: number;
14819
+ /**
14820
+ * grid B color
14821
+ * @default `Color(1.0, 1.0, 1.0)`
14822
+ */
14823
+ colorB?: Color;
14824
+ /**
14825
+ * grid B line width
14826
+ * @default `1`
14827
+ */
14828
+ lineWidthB?: number;
14829
+ /**
14830
+ * enable ground color shading, by default will only render noise for ground.
14831
+ * @default `false`
14832
+ */
14833
+ isGroundColorEnabled?: boolean;
14834
+ /**
14835
+ * ground color
14836
+ * @default `Color(0.7, 0.7, 0.7)`
14837
+ */
14838
+ groundColor?: Color;
14855
14839
  };
14856
- /**
14857
- * gaussian splatting
14858
- */
14859
- Splatting?: {
14860
- enabled?: boolean;
14861
- precalculateEnabled?: boolean;
14862
- repackEnabled?: boolean;
14863
- packHighPrecisionEnabled?: boolean;
14864
- preBlurAmount?: number;
14865
- blurAmount?: number;
14866
- focalAdjustment?: number;
14867
- maxStdDev?: number;
14868
- maxPixelRadius?: number;
14869
- detailCullingThreshold?: number;
14870
- normalizedFalloff?: boolean;
14871
- selectedColor?: Vector4;
14840
+ background?: {
14872
14841
  /**
14873
- * gaussian sorting
14842
+ * @default `BackgroundMode.BasicBackground`
14874
14843
  */
14875
- sort?: {
14876
- sortRadial?: boolean;
14877
- sortMinDuration?: number;
14878
- sortSplatDistance?: number;
14879
- sortSplatCoorient?: number;
14880
- sortCameraDistance?: number;
14881
- sortCameraCoorient?: number;
14882
- };
14844
+ active?: BackgroundMode;
14883
14845
  /**
14884
- * composite before output
14846
+ * basic color and texture
14847
+ * active by `BackgroundMode.BasicBackground`
14885
14848
  */
14886
- composite?: {
14887
- enabled?: boolean;
14888
- highPrecisionAttachEnabled?: boolean;
14889
- };
14849
+ basic?: IBasicBackgroundConfig;
14890
14850
  /**
14891
- * tone mapping functions
14851
+ * sphere envmap
14852
+ * active by `BackgroundMode.EnvMapBackground`
14892
14853
  */
14893
- toneMapping?: {
14894
- enabled?: boolean;
14895
- toneMapping?: ToneMapping;
14896
- exposure?: number;
14897
- };
14854
+ envmap?: IEnvMapBackgroundConfig;
14898
14855
  /**
14899
- * gaussian center highlight
14856
+ * sphere gradient
14857
+ * active by `BackgroundMode.GradientBackground`
14900
14858
  */
14901
- highlightKernel?: {
14902
- enabled?: boolean;
14903
- size?: number;
14904
- color?: number;
14905
- };
14859
+ gradient?: IGradientBackgroundConfig;
14860
+ /**
14861
+ * sky box
14862
+ * active by `BackgroundMode.SkyBackground`
14863
+ */
14864
+ sky?: ISkyBackgroundConfig;
14906
14865
  };
14866
+ }
14867
+ interface ICompositePluginConfig {
14868
+ enabled?: boolean;
14869
+ multiSamplingEnabled?: boolean;
14870
+ staticFrameCacheEnabled?: boolean;
14871
+ }
14872
+ interface ISplattingPluginConfig {
14873
+ enabled?: boolean;
14874
+ precalculateEnabled?: boolean;
14875
+ repackEnabled?: boolean;
14876
+ packHighPrecisionEnabled?: boolean;
14877
+ preBlurAmount?: number;
14878
+ blurAmount?: number;
14879
+ focalAdjustment?: number;
14880
+ maxStdDev?: number;
14881
+ maxPixelRadius?: number;
14882
+ detailCullingThreshold?: number;
14883
+ normalizedFalloff?: boolean;
14884
+ selectedColor?: Vector4;
14907
14885
  /**
14908
- * static TAA
14886
+ * gaussian sorting
14909
14887
  */
14910
- TAA?: {
14911
- /**
14912
- * enabled static TAA
14913
- * @default true
14914
- */
14888
+ sort?: {
14889
+ sortRadial?: boolean;
14890
+ sortMinDuration?: number;
14891
+ sortSplatDistance?: number;
14892
+ sortSplatCoorient?: number;
14893
+ sortCameraDistance?: number;
14894
+ sortCameraCoorient?: number;
14895
+ };
14896
+ /**
14897
+ * composite before output
14898
+ */
14899
+ composite?: {
14915
14900
  enabled?: boolean;
14901
+ highPrecisionAttachEnabled?: boolean;
14916
14902
  };
14903
+ /**
14904
+ * tone mapping functions
14905
+ */
14906
+ toneMapping?: {
14907
+ enabled?: boolean;
14908
+ toneMapping?: ToneMapping;
14909
+ exposure?: number;
14910
+ };
14911
+ /**
14912
+ * gaussian center highlight
14913
+ */
14914
+ highlightKernel?: {
14915
+ enabled?: boolean;
14916
+ size?: number;
14917
+ color?: number;
14918
+ };
14919
+ }
14920
+ interface ITaaPluginConfig {
14921
+ /**
14922
+ * enabled static TAA
14923
+ * @default `true`
14924
+ */
14925
+ enabled?: boolean;
14926
+ }
14927
+ interface IPipelineConfig {
14928
+ /**
14929
+ * background and ground
14930
+ */
14931
+ Background?: IBackgroundPluginConfig;
14932
+ /**
14933
+ * output Composite, used to optimize multi viewport rendering
14934
+ */
14935
+ Composite?: ICompositePluginConfig;
14936
+ /**
14937
+ * gaussian splatting
14938
+ */
14939
+ Splatting?: ISplattingPluginConfig;
14940
+ /**
14941
+ * static TAA
14942
+ */
14943
+ TAA?: ITaaPluginConfig;
14917
14944
  }
14918
14945
  interface IViewerConfig {
14919
14946
  /**
@@ -14934,4 +14961,4 @@ declare function createViewer(name: string, container: HTMLElement, config: Engi
14934
14961
  declare function setViewerConfig(ctx: Viewer | Viewport, config: IViewerConfig): void;
14935
14962
 
14936
14963
  export { AmbientLight, animation_d as Animation, BackgroundMode, Blending, BlendingEquation, BlendingFactor, Box3, BufferAttribute, BufferGeometry, Camera3D, Color, CompressedSplat, DepthModes, DirectionalLight, dracoLoader_d as DracoLoader, DrawMode, DrawableRenderMode, Euler, events_d as Events, FatLineBufferGeometry, FatLineMaterial, FatLineSegments, FilterTarget, Frustum, gltfLoader_d as GLTFLoader, InstanceMesh, InstancedBufferAttribute, InstancedBufferGeometry, Layers, Light, Line, LineBasicMaterial as LineMaterial, LineSegments, Material, Matrix3, Matrix4, Mesh, MeshBasicMaterial, MeshPhongMaterial, Object3D, OrthographicCamera, PerspectiveCamera, Plane, PointLight, Points, PointsMaterial, Quaternion, Ray, Raycaster, index_d as RenderCloud, SamplerFilter, SamplerWrap, Scene3D, Side, SogSplat, SourceTexture, Sphere, Splat, splatLoader_d as SplatLoader, SplatState, splatUtils_d as SplatUtils, SpotLight, Sprite, SpriteMaterial, StencilFunc, StencilOp, SuperCompressedSplat, TextureDimension, TextureFormat, TextureViewDimension, ToneMapping, TypeAssert, Vector2, Vector3, Vector4, Viewer, Viewport, createViewer, createViewerContext, downloadTexture, setViewerConfig };
14937
- export type { IPipelineConfig, IViewerConfig, IViewerContext, Intersection, ReadonlyColor, ReadonlyMatrix3, ReadonlyMatrix4, ReadonlyVector2, ReadonlyVector3, ReadonlyVector4 };
14964
+ export type { IBackgroundPluginConfig, IBasicBackgroundConfig, ICompositePluginConfig, IEnvMapBackgroundConfig, IGradientBackgroundConfig, IPipelineConfig, ISkyBackgroundConfig, ISplattingPluginConfig, ITaaPluginConfig, IViewerConfig, IViewerContext, Intersection, ReadonlyColor, ReadonlyMatrix3, ReadonlyMatrix4, ReadonlyVector2, ReadonlyVector3, ReadonlyVector4 };