@miris-inc/core 0.0.8-5845fb4 → 0.0.8-5e5c0db

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-5845fb4",
3
+ "version": "0.0.8-5e5c0db",
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
 
@@ -130,6 +138,7 @@ export interface SplatSet {
130
138
  originY: number,
131
139
  originZ: number,
132
140
  step: number,
141
+ lnScaleOffset: number,
133
142
  ): boolean;
134
143
  // int32 render-order buffer (sized 2*splatCount after finalize). Valid only until the next resize.
135
144
  orderingView(): Int32Array;
@@ -140,11 +149,13 @@ export interface SplatSet {
140
149
  // Whether the asset carries per-surfel reflectance records, which is what decides whether
141
150
  // reflections are shaded at all. Pass to RenderState.uploadReflectionLadderParams.
142
151
  hasReflectionParams(): boolean;
143
- // Widens packed 26-byte reflectanceDataV1 records into the per-splat GPU records at
144
- // bufferOffset. wirePtr must address THIS module's heap - _malloc here and copy the bytes in,
145
- // since the attribute lives in the engine module's. Records cover a node's surfel range, which
146
- // 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.
147
157
  decodeReflectionParams(
158
+ recordVersion: number,
148
159
  wirePtr: number,
149
160
  wireSizeBytes: number,
150
161
  elementCount: number,
@@ -157,6 +168,7 @@ export interface SplatSet {
157
168
  clearReflectionParams(startSplat: number, endSplat: number): void;
158
169
  // Splats in [0, count) holding a non-zero record. Diagnostic.
159
170
  populatedReflectionParamCount(count: number): number;
171
+ delete(): void;
160
172
  }
161
173
 
162
174
  export interface GlassMeshRegistry {
@@ -282,6 +294,8 @@ export interface MainModule {
282
294
  createRendererWGPUWithoutSurface(
283
295
  colorTargetFormat: TextureFormatValue,
284
296
  ): RendererWGPU;
297
+ /// Gives back the reference WebGPU.importJsTexture returned for a texture.
298
+ releaseImportedTexture(texture: number): void;
285
299
  renderSplatSetToSceneTextures(
286
300
  splatSet: SplatSet,
287
301
  renderState: RenderState,
@@ -289,6 +303,15 @@ export interface MainModule {
289
303
  depthTarget: number,
290
304
  renderGES: boolean,
291
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;
292
315
  }
293
316
 
294
317
  declare function WebShark(