material-designer-runtime 0.1.3 → 0.1.4
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/graph/bake-service.d.ts +4 -0
- package/dist/graph/channel-baker.d.ts +1 -0
- package/dist/graph/node-profiler.d.ts +25 -0
- package/dist/graph/textured-surface.d.ts +1 -6
- package/dist/index.d.ts +1 -0
- package/dist/index.js +755 -604
- package/dist/tsl/shape.d.ts +4 -1
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as THREE from "three";
|
|
2
2
|
import { RenderTarget, type WebGPURenderer, type MeshBasicNodeMaterial } from "three/webgpu";
|
|
3
3
|
import { type CacheEntry, type ParamUsage } from "./compiler";
|
|
4
|
+
import { type NodeProfileOptions, type NodeProfileReport } from "./node-profiler";
|
|
4
5
|
import type { MaterialGraphSource, MaterialValue, PbrSocket } from "./types";
|
|
5
6
|
export declare const SURFACE_CHANNELS: PbrSocket[];
|
|
6
7
|
export interface BakeOptions {
|
|
@@ -46,6 +47,7 @@ export declare class BakedTextureSet {
|
|
|
46
47
|
ensureHeightTarget(): RenderTarget;
|
|
47
48
|
texture(ch: PbrSocket): THREE.Texture | null;
|
|
48
49
|
allocConstantArray(nodeId: string, key: string, data: ArrayLike<number>, elementType: "float" | "vec3"): MaterialValue;
|
|
50
|
+
debugCounts(): Record<string, number>;
|
|
49
51
|
flushCaches(): void;
|
|
50
52
|
dispose(): void;
|
|
51
53
|
}
|
|
@@ -82,7 +84,9 @@ export declare class MaterialBakeService {
|
|
|
82
84
|
rerenderInto(set: BakedTextureSet, source?: string): Promise<void>;
|
|
83
85
|
bake(graph: MaterialGraphSource, opts?: BakeOptions): Promise<BakedTextureSet>;
|
|
84
86
|
readImage(graph: MaterialGraphSource, channel: PbrSocket, size?: number): Promise<ImageData | null>;
|
|
87
|
+
gpuInfo(): Record<string, unknown>;
|
|
85
88
|
private scratchTarget;
|
|
89
|
+
profileNodes(graph: MaterialGraphSource, opts?: NodeProfileOptions): Promise<NodeProfileReport>;
|
|
86
90
|
private scratchCache;
|
|
87
91
|
}
|
|
88
92
|
export declare const bakeService: MaterialBakeService;
|
|
@@ -3,6 +3,7 @@ import type { MaterialValue, PbrSocket } from "./types";
|
|
|
3
3
|
export declare const FIELD_CHANNELS: PbrSocket[];
|
|
4
4
|
export declare const COLOR_CHANNELS: PbrSocket[];
|
|
5
5
|
export declare function encodeChannel(node: MaterialValue, channel: PbrSocket): MaterialValue;
|
|
6
|
+
export declare function ssPoolInfo(): string[];
|
|
6
7
|
export declare function makeChannelMaterial(): MeshBasicNodeMaterial;
|
|
7
8
|
export declare function compileMaterialsAsync(renderer: WebGPURenderer, materials: MeshBasicNodeMaterial[], destSize: number): Promise<void>;
|
|
8
9
|
export declare function renderCacheToTarget(renderer: WebGPURenderer, material: MeshBasicNodeMaterial, rt: RenderTarget): void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { MaterialGraphDocument, GraphNode } from "./types";
|
|
2
|
+
import type { NodeRegistry } from "./registry";
|
|
3
|
+
export interface NodeProfileOptions {
|
|
4
|
+
nodeIds?: string[];
|
|
5
|
+
size?: number;
|
|
6
|
+
runs?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface NodeProfileRow {
|
|
9
|
+
nodeId: string;
|
|
10
|
+
type: string;
|
|
11
|
+
label?: string;
|
|
12
|
+
pipelineMs: number;
|
|
13
|
+
renderMs: number;
|
|
14
|
+
marginalMs: number;
|
|
15
|
+
error?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface NodeProfileReport {
|
|
18
|
+
size: number;
|
|
19
|
+
runs: number;
|
|
20
|
+
overheadMs: number;
|
|
21
|
+
nodes: NodeProfileRow[];
|
|
22
|
+
}
|
|
23
|
+
export declare function profilableNodes(doc: MaterialGraphDocument, registry: NodeRegistry, only?: string[]): GraphNode[];
|
|
24
|
+
export declare function median(samples: number[]): number;
|
|
25
|
+
export declare function deriveMarginals(rows: NodeProfileRow[], doc: MaterialGraphDocument, overheadMs: number): void;
|
|
@@ -13,9 +13,6 @@ export declare class TexturedSurface {
|
|
|
13
13
|
private material_;
|
|
14
14
|
readonly scaleUniform: import("three/webgpu").UniformNode<"float", number>;
|
|
15
15
|
readonly sharpnessUniform: import("three/webgpu").UniformNode<"float", number>;
|
|
16
|
-
readonly roughnessFactor: import("three/webgpu").UniformNode<"float", number>;
|
|
17
|
-
readonly metalnessFactor: import("three/webgpu").UniformNode<"float", number>;
|
|
18
|
-
readonly colorTint: import("three/webgpu").UniformNode<"color", THREE.Color>;
|
|
19
16
|
readonly parallaxScale: import("three/webgpu").UniformNode<"float", number>;
|
|
20
17
|
lastBakeMs: number;
|
|
21
18
|
private set;
|
|
@@ -50,11 +47,9 @@ export declare class TexturedSurface {
|
|
|
50
47
|
refresh(): Promise<void>;
|
|
51
48
|
releaseCaches(): Promise<void>;
|
|
52
49
|
regenerate(): void;
|
|
50
|
+
debugReport(): Record<string, unknown>;
|
|
53
51
|
setScale(value: number): void;
|
|
54
52
|
setSharpness(value: number): void;
|
|
55
|
-
setRoughnessFactor(value: number): void;
|
|
56
|
-
setMetalnessFactor(value: number): void;
|
|
57
|
-
setColorTint(hex: string): void;
|
|
58
53
|
setParallaxScale(value: number): void;
|
|
59
54
|
setTriplanar(on: boolean): void;
|
|
60
55
|
setNormalDebug(on: boolean): void;
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export { MaterialGraphRuntime, type MaterialGraphRuntimeOptions } from "./runtim
|
|
|
2
2
|
export { MATERIAL_DOCUMENT_VERSION, MaterialGraphSession, cloneMaterialDocument, createDefaultMaterialDocument, migrateMaterialDocument, } from "./document";
|
|
3
3
|
export { createMaterialTopologyKey } from "./topology";
|
|
4
4
|
export { MaterialBakeService, BakedTextureSet, SURFACE_CHANNELS, bakeService, type BakeOptions, type BakeReport, } from "./graph/bake-service";
|
|
5
|
+
export { type NodeProfileOptions, type NodeProfileReport, type NodeProfileRow, } from "./graph/node-profiler";
|
|
5
6
|
export { compileGraph, compileSockets, countGraphNodes, newSurfaceMaterial, readMaterialSurface, readMaterialConfig, readOutputResolution, type CompileOptions, type CompiledSockets, type MaterialConfig, } from "./graph/compiler";
|
|
6
7
|
export { buildMeshMaterial, type ChannelTextures } from "./graph/mesh-material";
|
|
7
8
|
export { NodeRegistry, createDefaultRegistry, defaultRegistry, nodeParamDefs, nodePorts, } from "./graph/registry";
|