@miris-inc/core 0.0.8-c560ed8 → 0.0.8-c7ec385

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@miris-inc/core",
3
- "version": "0.0.8-c560ed8",
3
+ "version": "0.0.8-c7ec385",
4
4
  "description": "Core scene-graph runtime for the Miris 3D streaming SDK. WASM-backed Engine, Client, Scene, Stream, and LOD primitives shared by all higher-level packages.",
5
5
  "keywords": [
6
6
  "3d",
package/webshark.d.ts CHANGED
@@ -5,6 +5,9 @@ export interface Camera {
5
5
  eye: vec4;
6
6
  l: number;
7
7
  fov: number;
8
+ zNear: number;
9
+ zFar: number;
10
+ delete(): void;
8
11
  }
9
12
 
10
13
  export interface SortTypeValue {
@@ -31,9 +34,11 @@ export interface RendererWGPU {
31
34
  getEstimatedTextureSize(): number;
32
35
  getTotalBufferSize(): number;
33
36
  info: SharkInfo;
37
+ delete(): void;
34
38
  }
35
39
 
36
40
  export interface RenderState {
41
+ delete(): void;
37
42
  initRenderState(
38
43
  renderer: RendererWGPU,
39
44
  width: number,
@@ -69,9 +74,12 @@ export interface RenderState {
69
74
  // the last uploadSplatSetData declared. Pass SplatSet.hasReflectionParams().
70
75
  uploadReflectionLadderParams(reflectionsEnabled: boolean): void;
71
76
  // Debug controls. Drop the reflection term, or replace the surfel colour with one of the layers
72
- // it is shaded from (0 off, 1 world normals, 2 reflectance, 3 roughness, 4 reflection,
73
- // 6 base colour, 18 surfel index).
77
+ // it is shaded from, numbered as RenderViewModes.h's AOV_* defines. setRenderView below sets
78
+ // the AOV together with the rest of a named view.
74
79
  setReflectionsEnabled(enabled: boolean): void;
80
+ // Render textured gaussians on pixels no surfel covers, resolved as fvdb's open gate does.
81
+ // Off by default: those pixels show the clear colour.
82
+ setSurfelLessTextureSplatsEnabled(enabled: boolean): void;
75
83
  setDebugAovMode(mode: number): void;
76
84
  }
77
85
 
@@ -123,6 +131,15 @@ export interface SplatSet {
123
131
  modelRootInverseTransformsView(): Float32Array;
124
132
  // Sized by resizeChunkFades. Defaults to slot 0 (identity) for every chunk
125
133
  chunkModelRootsView(): Int32Array;
134
+ // resizeModelRootSlots resets every slot to the absolute decode. False for a slot outside the table
135
+ setModelRootRootRelativeDecode(
136
+ slot: number,
137
+ originX: number,
138
+ originY: number,
139
+ originZ: number,
140
+ step: number,
141
+ lnScaleOffset: number,
142
+ ): boolean;
126
143
  // int32 render-order buffer (sized 2*splatCount after finalize). Valid only until the next resize.
127
144
  orderingView(): Int32Array;
128
145
  finalize(): void;
@@ -132,11 +149,13 @@ export interface SplatSet {
132
149
  // Whether the asset carries per-surfel reflectance records, which is what decides whether
133
150
  // reflections are shaded at all. Pass to RenderState.uploadReflectionLadderParams.
134
151
  hasReflectionParams(): boolean;
135
- // Widens packed 26-byte reflectanceDataV1 records into the per-splat GPU records at
136
- // bufferOffset. wirePtr must address THIS module's heap - _malloc here and copy the bytes in,
137
- // since the attribute lives in the engine module's. Records cover a node's surfel range, which
138
- // starts at its first splat. Returns the records written; 0 if the data was rejected.
152
+ // Widens packed reflectance records - recordVersion 2 for 18-byte reflectanceDataV2, 1 for
153
+ // 26-byte reflectanceDataV1 - into the per-splat GPU records at bufferOffset. wirePtr must
154
+ // address THIS module's heap - _malloc here and copy the bytes in, since the attribute lives in
155
+ // the engine module's. Records cover a node's surfel range, which starts at its first splat.
156
+ // Returns the records written; 0 if the data was rejected.
139
157
  decodeReflectionParams(
158
+ recordVersion: number,
140
159
  wirePtr: number,
141
160
  wireSizeBytes: number,
142
161
  elementCount: number,
@@ -149,6 +168,7 @@ export interface SplatSet {
149
168
  clearReflectionParams(startSplat: number, endSplat: number): void;
150
169
  // Splats in [0, count) holding a non-zero record. Diagnostic.
151
170
  populatedReflectionParamCount(count: number): number;
171
+ delete(): void;
152
172
  }
153
173
 
154
174
  export interface GlassMeshRegistry {
@@ -274,6 +294,8 @@ export interface MainModule {
274
294
  createRendererWGPUWithoutSurface(
275
295
  colorTargetFormat: TextureFormatValue,
276
296
  ): RendererWGPU;
297
+ /// Gives back the reference WebGPU.importJsTexture returned for a texture.
298
+ releaseImportedTexture(texture: number): void;
277
299
  renderSplatSetToSceneTextures(
278
300
  splatSet: SplatSet,
279
301
  renderState: RenderState,
@@ -281,6 +303,15 @@ export interface MainModule {
281
303
  depthTarget: number,
282
304
  renderGES: boolean,
283
305
  ): void;
306
+ // Render view registry, indexed as RenderViews.h orders it. setRenderView ignores an index
307
+ // Shark cannot produce.
308
+ setRenderView(viewIndex: number): void;
309
+ renderView(): number;
310
+ renderViewCount(): number;
311
+ renderViewName(viewIndex: number): string;
312
+ renderViewSupported(viewIndex: number): boolean;
313
+ // The next supported view, forwards for direction 1 and backwards for -1.
314
+ stepRenderView(from: number, direction: number): number;
284
315
  }
285
316
 
286
317
  declare function WebShark(