@forgeax/engine-rhi-debug 0.1.2

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.
Files changed (231) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +139 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/__tests__/bootstrap-integration.test.d.ts +2 -0
  5. package/dist/__tests__/bootstrap-integration.test.d.ts.map +1 -0
  6. package/dist/__tests__/consumer-inventory.unit.test.d.ts +2 -0
  7. package/dist/__tests__/consumer-inventory.unit.test.d.ts.map +1 -0
  8. package/dist/__tests__/copy-src-usage-validity.dawn.test.d.ts +15 -0
  9. package/dist/__tests__/copy-src-usage-validity.dawn.test.d.ts.map +1 -0
  10. package/dist/__tests__/coverage-invariant.test-d.d.ts +2 -0
  11. package/dist/__tests__/coverage-invariant.test-d.d.ts.map +1 -0
  12. package/dist/__tests__/coverage-invariant.unit.test.d.ts +2 -0
  13. package/dist/__tests__/coverage-invariant.unit.test.d.ts.map +1 -0
  14. package/dist/__tests__/e2e.browser.test.d.ts +2 -0
  15. package/dist/__tests__/e2e.browser.test.d.ts.map +1 -0
  16. package/dist/__tests__/error-code-narrowing.test-d.d.ts +2 -0
  17. package/dist/__tests__/error-code-narrowing.test-d.d.ts.map +1 -0
  18. package/dist/__tests__/errors-v7.test-d.d.ts +2 -0
  19. package/dist/__tests__/errors-v7.test-d.d.ts.map +1 -0
  20. package/dist/__tests__/errors-v7.unit.test.d.ts +2 -0
  21. package/dist/__tests__/errors-v7.unit.test.d.ts.map +1 -0
  22. package/dist/__tests__/errors.unit.test.d.ts +2 -0
  23. package/dist/__tests__/errors.unit.test.d.ts.map +1 -0
  24. package/dist/__tests__/event-semantics-coverage.unit.test.d.ts +2 -0
  25. package/dist/__tests__/event-semantics-coverage.unit.test.d.ts.map +1 -0
  26. package/dist/__tests__/format-info.unit.test.d.ts +2 -0
  27. package/dist/__tests__/format-info.unit.test.d.ts.map +1 -0
  28. package/dist/__tests__/frame-model-parity.test-d.d.ts +2 -0
  29. package/dist/__tests__/frame-model-parity.test-d.d.ts.map +1 -0
  30. package/dist/__tests__/frame-model-parity.unit.test.d.ts +2 -0
  31. package/dist/__tests__/frame-model-parity.unit.test.d.ts.map +1 -0
  32. package/dist/__tests__/guard-gates.test.d.ts +2 -0
  33. package/dist/__tests__/guard-gates.test.d.ts.map +1 -0
  34. package/dist/__tests__/public-surface.integration.test.d.ts +2 -0
  35. package/dist/__tests__/public-surface.integration.test.d.ts.map +1 -0
  36. package/dist/__tests__/readback-fault-cleanup.unit.test.d.ts +2 -0
  37. package/dist/__tests__/readback-fault-cleanup.unit.test.d.ts.map +1 -0
  38. package/dist/__tests__/readback-format-matrix.dawn.test.d.ts +2 -0
  39. package/dist/__tests__/readback-format-matrix.dawn.test.d.ts.map +1 -0
  40. package/dist/__tests__/readback-format-matrix.unit.test.d.ts +2 -0
  41. package/dist/__tests__/readback-format-matrix.unit.test.d.ts.map +1 -0
  42. package/dist/__tests__/recorder-bootstrap.unit.test.d.ts +2 -0
  43. package/dist/__tests__/recorder-bootstrap.unit.test.d.ts.map +1 -0
  44. package/dist/__tests__/recorder-budget.unit.test.d.ts +2 -0
  45. package/dist/__tests__/recorder-budget.unit.test.d.ts.map +1 -0
  46. package/dist/__tests__/recorder-fail-fast.unit.test.d.ts +2 -0
  47. package/dist/__tests__/recorder-fail-fast.unit.test.d.ts.map +1 -0
  48. package/dist/__tests__/recorder-lifecycle.unit.test.d.ts +2 -0
  49. package/dist/__tests__/recorder-lifecycle.unit.test.d.ts.map +1 -0
  50. package/dist/__tests__/recorder-push-event.unit.test.d.ts +2 -0
  51. package/dist/__tests__/recorder-push-event.unit.test.d.ts.map +1 -0
  52. package/dist/__tests__/recorder-session.integration.test.d.ts +2 -0
  53. package/dist/__tests__/recorder-session.integration.test.d.ts.map +1 -0
  54. package/dist/__tests__/recorder-session.unit.test.d.ts +2 -0
  55. package/dist/__tests__/recorder-session.unit.test.d.ts.map +1 -0
  56. package/dist/__tests__/recorder-steady-frame.dawn.test.d.ts +2 -0
  57. package/dist/__tests__/recorder-steady-frame.dawn.test.d.ts.map +1 -0
  58. package/dist/__tests__/replay-fail-fast.unit.test.d.ts +2 -0
  59. package/dist/__tests__/replay-fail-fast.unit.test.d.ts.map +1 -0
  60. package/dist/__tests__/replay-session.dawn.test.d.ts +2 -0
  61. package/dist/__tests__/replay-session.dawn.test.d.ts.map +1 -0
  62. package/dist/__tests__/replay-session.test-d.d.ts +2 -0
  63. package/dist/__tests__/replay-session.test-d.d.ts.map +1 -0
  64. package/dist/__tests__/replay-session.unit.test.d.ts +2 -0
  65. package/dist/__tests__/replay-session.unit.test.d.ts.map +1 -0
  66. package/dist/__tests__/resolve-texture-descriptor.unit.test.d.ts +2 -0
  67. package/dist/__tests__/resolve-texture-descriptor.unit.test.d.ts.map +1 -0
  68. package/dist/__tests__/resource-lifecycle.unit.test.d.ts +2 -0
  69. package/dist/__tests__/resource-lifecycle.unit.test.d.ts.map +1 -0
  70. package/dist/__tests__/rhi-debug-fresh-replay.dawn.test.d.ts +2 -0
  71. package/dist/__tests__/rhi-debug-fresh-replay.dawn.test.d.ts.map +1 -0
  72. package/dist/__tests__/tape-index.unit.test.d.ts +2 -0
  73. package/dist/__tests__/tape-index.unit.test.d.ts.map +1 -0
  74. package/dist/__tests__/tape-v7-invalid.unit.test.d.ts +2 -0
  75. package/dist/__tests__/tape-v7-invalid.unit.test.d.ts.map +1 -0
  76. package/dist/__tests__/tape-v7-roundtrip.unit.test.d.ts +2 -0
  77. package/dist/__tests__/tape-v7-roundtrip.unit.test.d.ts.map +1 -0
  78. package/dist/__tests__/tape-v7-version.unit.test.d.ts +2 -0
  79. package/dist/__tests__/tape-v7-version.unit.test.d.ts.map +1 -0
  80. package/dist/__tests__/tree-shake.unit.test.d.ts +2 -0
  81. package/dist/__tests__/tree-shake.unit.test.d.ts.map +1 -0
  82. package/dist/__tests__/types.test.d.ts +2 -0
  83. package/dist/__tests__/types.test.d.ts.map +1 -0
  84. package/dist/browser.d.ts +45 -0
  85. package/dist/browser.d.ts.map +1 -0
  86. package/dist/browser.mjs +83 -0
  87. package/dist/browser.mjs.map +1 -0
  88. package/dist/errors.d.ts +85 -0
  89. package/dist/errors.d.ts.map +1 -0
  90. package/dist/frame-model.d.ts +126 -0
  91. package/dist/frame-model.d.ts.map +1 -0
  92. package/dist/index.d.ts +16 -0
  93. package/dist/index.d.ts.map +1 -0
  94. package/dist/index.mjs +5810 -0
  95. package/dist/index.mjs.map +1 -0
  96. package/dist/protocol/codec.d.ts +6 -0
  97. package/dist/protocol/codec.d.ts.map +1 -0
  98. package/dist/protocol/event-semantics.d.ts +15 -0
  99. package/dist/protocol/event-semantics.d.ts.map +1 -0
  100. package/dist/protocol/tape-index.d.ts +30 -0
  101. package/dist/protocol/tape-index.d.ts.map +1 -0
  102. package/dist/protocol/types.d.ts +44 -0
  103. package/dist/protocol/types.d.ts.map +1 -0
  104. package/dist/protocol/validation.d.ts +7 -0
  105. package/dist/protocol/validation.d.ts.map +1 -0
  106. package/dist/readback.d.ts +156 -0
  107. package/dist/readback.d.ts.map +1 -0
  108. package/dist/recorder/assemble.d.ts +11 -0
  109. package/dist/recorder/assemble.d.ts.map +1 -0
  110. package/dist/recorder/closure.d.ts +39 -0
  111. package/dist/recorder/closure.d.ts.map +1 -0
  112. package/dist/recorder/core.d.ts +296 -0
  113. package/dist/recorder/core.d.ts.map +1 -0
  114. package/dist/recorder/device.d.ts +4 -0
  115. package/dist/recorder/device.d.ts.map +1 -0
  116. package/dist/recorder/encoder.d.ts +5 -0
  117. package/dist/recorder/encoder.d.ts.map +1 -0
  118. package/dist/recorder/lifecycle.d.ts +20 -0
  119. package/dist/recorder/lifecycle.d.ts.map +1 -0
  120. package/dist/recorder/pass.d.ts +6 -0
  121. package/dist/recorder/pass.d.ts.map +1 -0
  122. package/dist/recorder/proxy.d.ts +19 -0
  123. package/dist/recorder/proxy.d.ts.map +1 -0
  124. package/dist/recorder/queue.d.ts +4 -0
  125. package/dist/recorder/queue.d.ts.map +1 -0
  126. package/dist/recorder/resource-registry.d.ts +15 -0
  127. package/dist/recorder/resource-registry.d.ts.map +1 -0
  128. package/dist/recorder/session.d.ts +25 -0
  129. package/dist/recorder/session.d.ts.map +1 -0
  130. package/dist/recorder/shader.d.ts +3 -0
  131. package/dist/recorder/shader.d.ts.map +1 -0
  132. package/dist/recorder/snapshot.d.ts +10 -0
  133. package/dist/recorder/snapshot.d.ts.map +1 -0
  134. package/dist/recorder/wrap.d.ts +4 -0
  135. package/dist/recorder/wrap.d.ts.map +1 -0
  136. package/dist/recorder.d.ts +7 -0
  137. package/dist/recorder.d.ts.map +1 -0
  138. package/dist/replay/execute-support.d.ts +33 -0
  139. package/dist/replay/execute-support.d.ts.map +1 -0
  140. package/dist/replay/execute.d.ts +18 -0
  141. package/dist/replay/execute.d.ts.map +1 -0
  142. package/dist/replay/readback.d.ts +25 -0
  143. package/dist/replay/readback.d.ts.map +1 -0
  144. package/dist/replay/resources.d.ts +57 -0
  145. package/dist/replay/resources.d.ts.map +1 -0
  146. package/dist/replay/session.d.ts +32 -0
  147. package/dist/replay/session.d.ts.map +1 -0
  148. package/dist/replay/texture-format.d.ts +21 -0
  149. package/dist/replay/texture-format.d.ts.map +1 -0
  150. package/dist/texel-decode.d.ts +34 -0
  151. package/dist/texel-decode.d.ts.map +1 -0
  152. package/dist/texel-layout.d.ts +76 -0
  153. package/dist/texel-layout.d.ts.map +1 -0
  154. package/dist/types.d.ts +704 -0
  155. package/dist/types.d.ts.map +1 -0
  156. package/package.json +72 -0
  157. package/src/__tests__/bootstrap-integration.test.ts +268 -0
  158. package/src/__tests__/consumer-inventory.unit.test.ts +106 -0
  159. package/src/__tests__/copy-src-usage-validity.dawn.test.ts +117 -0
  160. package/src/__tests__/coverage-invariant.test-d.ts +115 -0
  161. package/src/__tests__/coverage-invariant.unit.test.ts +45 -0
  162. package/src/__tests__/e2e.browser.test.ts +234 -0
  163. package/src/__tests__/error-code-narrowing.test-d.ts +32 -0
  164. package/src/__tests__/errors-v7.test-d.ts +19 -0
  165. package/src/__tests__/errors-v7.unit.test.ts +15 -0
  166. package/src/__tests__/errors.unit.test.ts +83 -0
  167. package/src/__tests__/event-semantics-coverage.unit.test.ts +22 -0
  168. package/src/__tests__/format-info.unit.test.ts +85 -0
  169. package/src/__tests__/frame-model-parity.test-d.ts +8 -0
  170. package/src/__tests__/frame-model-parity.unit.test.ts +38 -0
  171. package/src/__tests__/guard-gates.test.ts +144 -0
  172. package/src/__tests__/public-surface.integration.test.ts +30 -0
  173. package/src/__tests__/readback-fault-cleanup.unit.test.ts +66 -0
  174. package/src/__tests__/readback-format-matrix.dawn.test.ts +155 -0
  175. package/src/__tests__/readback-format-matrix.unit.test.ts +96 -0
  176. package/src/__tests__/recorder-bootstrap.unit.test.ts +302 -0
  177. package/src/__tests__/recorder-budget.unit.test.ts +42 -0
  178. package/src/__tests__/recorder-fail-fast.unit.test.ts +434 -0
  179. package/src/__tests__/recorder-lifecycle.unit.test.ts +42 -0
  180. package/src/__tests__/recorder-push-event.unit.test.ts +573 -0
  181. package/src/__tests__/recorder-session.integration.test.ts +32 -0
  182. package/src/__tests__/recorder-session.unit.test.ts +63 -0
  183. package/src/__tests__/recorder-steady-frame.dawn.test.ts +52 -0
  184. package/src/__tests__/replay-fail-fast.unit.test.ts +143 -0
  185. package/src/__tests__/replay-session.dawn.test.ts +217 -0
  186. package/src/__tests__/replay-session.test-d.ts +21 -0
  187. package/src/__tests__/replay-session.unit.test.ts +155 -0
  188. package/src/__tests__/resolve-texture-descriptor.unit.test.ts +144 -0
  189. package/src/__tests__/resource-lifecycle.unit.test.ts +114 -0
  190. package/src/__tests__/rhi-debug-fresh-replay.dawn.test.ts +176 -0
  191. package/src/__tests__/tape-index.unit.test.ts +53 -0
  192. package/src/__tests__/tape-v7-invalid.unit.test.ts +45 -0
  193. package/src/__tests__/tape-v7-roundtrip.unit.test.ts +66 -0
  194. package/src/__tests__/tape-v7-version.unit.test.ts +13 -0
  195. package/src/__tests__/tree-shake.unit.test.ts +127 -0
  196. package/src/__tests__/types.test.ts +257 -0
  197. package/src/browser.ts +146 -0
  198. package/src/errors.ts +173 -0
  199. package/src/frame-model.ts +455 -0
  200. package/src/index.ts +85 -0
  201. package/src/pako.d.ts +8 -0
  202. package/src/protocol/codec.ts +220 -0
  203. package/src/protocol/event-semantics.ts +180 -0
  204. package/src/protocol/tape-index.ts +120 -0
  205. package/src/protocol/types.ts +60 -0
  206. package/src/protocol/validation.ts +173 -0
  207. package/src/readback.ts +804 -0
  208. package/src/recorder/assemble.ts +192 -0
  209. package/src/recorder/closure.ts +408 -0
  210. package/src/recorder/core.ts +587 -0
  211. package/src/recorder/device.ts +456 -0
  212. package/src/recorder/encoder.ts +234 -0
  213. package/src/recorder/lifecycle.ts +847 -0
  214. package/src/recorder/pass.ts +241 -0
  215. package/src/recorder/proxy.ts +59 -0
  216. package/src/recorder/queue.ts +109 -0
  217. package/src/recorder/resource-registry.ts +53 -0
  218. package/src/recorder/session.ts +152 -0
  219. package/src/recorder/shader.ts +47 -0
  220. package/src/recorder/snapshot.ts +38 -0
  221. package/src/recorder/wrap.ts +157 -0
  222. package/src/recorder.ts +15 -0
  223. package/src/replay/execute-support.ts +243 -0
  224. package/src/replay/execute.ts +870 -0
  225. package/src/replay/readback.ts +583 -0
  226. package/src/replay/resources.ts +154 -0
  227. package/src/replay/session.ts +464 -0
  228. package/src/replay/texture-format.ts +99 -0
  229. package/src/texel-decode.ts +255 -0
  230. package/src/texel-layout.ts +324 -0
  231. package/src/types.ts +864 -0
@@ -0,0 +1,126 @@
1
+ import type { TapePassEntry, TapeResourceEntry } from './protocol/tape-index';
2
+ import type { Tape as V7Tape } from './protocol/types';
3
+ import type { CreateDescriptor, DrawPipelineState, HandleId, InspectBindingEntry, InspectDrawCall, RhiCallEvent } from './types';
4
+ export type { CreateDescriptor, DrawPipelineState } from './types';
5
+ export interface PassDrawItem {
6
+ readonly workIndex: number;
7
+ readonly eventKind: 'draw' | 'drawIndexed' | 'dispatchWorkgroups' | 'dispatchWorkgroupsIndirect' | 'drawIndirect' | 'drawIndexedIndirect';
8
+ }
9
+ export interface PassNode {
10
+ readonly kind: 'render' | 'compute';
11
+ readonly passIdx: number;
12
+ readonly draws: readonly PassDrawItem[];
13
+ }
14
+ export interface DrawEntry {
15
+ readonly frameIdx: number;
16
+ readonly passIdx: number;
17
+ readonly bindings: readonly InspectBindingEntry[];
18
+ readonly drawCall: InspectDrawCall;
19
+ readonly colorAttachmentHandleId: string | undefined;
20
+ readonly pipelineState: DrawPipelineState;
21
+ readonly vertexBuffers: ReadonlyMap<number, {
22
+ readonly handleId: HandleId;
23
+ readonly offset: number;
24
+ readonly size: number;
25
+ }>;
26
+ readonly indexBuffer?: {
27
+ handleId: HandleId;
28
+ format: GPUIndexFormat;
29
+ offset: number;
30
+ } | undefined;
31
+ readonly depthStencil: DrawDepthStencil;
32
+ }
33
+ export interface DrawDepthStencil {
34
+ readonly depthStencilViewHandleId: HandleId | undefined;
35
+ readonly depthStencilAttachment: GPURenderPassDepthStencilAttachment | undefined;
36
+ }
37
+ export interface CommandEntry {
38
+ readonly passIdx: number;
39
+ readonly eventIdx: number;
40
+ readonly isDraw: boolean;
41
+ readonly kind: string;
42
+ readonly groupLabel: string | undefined;
43
+ readonly markerLabel: string | undefined;
44
+ }
45
+ export interface FrameModelMeta {
46
+ readonly totalDraws: number;
47
+ readonly totalPasses: number;
48
+ readonly hasCompute: boolean;
49
+ }
50
+ export interface WorkEntry {
51
+ readonly workIndex: number;
52
+ readonly eventIndex: number;
53
+ readonly passIndex: number;
54
+ readonly kind: string;
55
+ }
56
+ export interface FrameModel {
57
+ readonly tree: readonly PassNode[];
58
+ readonly draws: readonly DrawEntry[];
59
+ readonly meta: FrameModelMeta;
60
+ readonly commands: readonly CommandEntry[];
61
+ readonly resources: ReadonlyMap<HandleId, CreateDescriptor>;
62
+ readonly resourceLifecycle: ResourceLifecycleSummary;
63
+ readonly works: readonly WorkEntry[];
64
+ readonly passes: readonly TapePassEntry[];
65
+ readonly resourceEntries: readonly TapeResourceEntry[];
66
+ }
67
+ export declare function buildFrameModel(tape: V7Tape): FrameModel;
68
+ /** A byte estimate that distinguishes known descriptor size from unavailable GPU facts. */
69
+ export type ResourceByteEstimate = {
70
+ readonly status: 'known';
71
+ readonly bytes: number;
72
+ readonly basis: 'buffer-descriptor' | 'texture-tight-layout';
73
+ } | {
74
+ readonly status: 'unavailable';
75
+ readonly reason: 'non-memory-resource' | 'unsupported-texture-dimension' | 'unsupported-texture-format' | 'invalid-texture-size';
76
+ };
77
+ export type ResourceKind = 'buffer' | 'texture' | 'texture-view' | 'sampler' | 'bind-group-layout' | 'bind-group' | 'pipeline-layout' | 'render-pipeline' | 'compute-pipeline' | 'shader-module';
78
+ export type ResourceOrigin = 'engine' | 'swapchain';
79
+ export interface ResourceLifecycleEntry {
80
+ readonly handleId: HandleId;
81
+ readonly kind: ResourceKind;
82
+ readonly origin: ResourceOrigin;
83
+ readonly state: 'live' | 'destroyed';
84
+ readonly createdEventIndex: number;
85
+ readonly destroyedEventIndex?: number;
86
+ readonly byteEstimate: ResourceByteEstimate;
87
+ }
88
+ export interface ResourceLifecycleSummary {
89
+ /** This is the resource closure represented by the tape, not the whole device heap. */
90
+ readonly scope: 'captured-tape-resource-closure';
91
+ readonly counts: {
92
+ readonly created: number;
93
+ readonly destroyed: number;
94
+ readonly live: number;
95
+ readonly destroyEvents: number;
96
+ readonly unknownDestroyEvents: number;
97
+ };
98
+ readonly bytes: {
99
+ readonly knownCreated: number;
100
+ readonly knownDestroyed: number;
101
+ readonly knownLive: number;
102
+ readonly unavailableCreated: number;
103
+ readonly unavailableDestroyed: number;
104
+ readonly unavailableLive: number;
105
+ };
106
+ readonly originBreakdown: Readonly<Record<ResourceOrigin, {
107
+ readonly created: number;
108
+ readonly destroyed: number;
109
+ readonly live: number;
110
+ readonly knownCreated: number;
111
+ readonly knownDestroyed: number;
112
+ readonly knownLive: number;
113
+ readonly unavailableCreated: number;
114
+ readonly unavailableDestroyed: number;
115
+ readonly unavailableLive: number;
116
+ }>>;
117
+ readonly availability: {
118
+ readonly destroy: 'observed-buffer-texture';
119
+ readonly retire: 'unavailable';
120
+ readonly driverAllocation: 'unavailable';
121
+ };
122
+ readonly resources: readonly ResourceLifecycleEntry[];
123
+ }
124
+ /** Build a pure lifecycle ledger from the ordered tape events. */
125
+ export declare function buildResourceLifecycle(events: readonly RhiCallEvent[]): ResourceLifecycleSummary;
126
+ //# sourceMappingURL=frame-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-model.d.ts","sourceRoot":"","sources":["../src/frame-model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export { createRhiDebugError, type RhiDebugError, type RhiDebugErrorCode, type RhiDebugErrorDetail, type RhiDebugErrorFor, } from './errors';
2
+ export type { CommandEntry, CreateDescriptor, DrawDepthStencil, DrawEntry, DrawPipelineState, FrameModel, FrameModelMeta, PassDrawItem, PassNode, WorkEntry, } from './frame-model';
3
+ export { buildFrameModel } from './frame-model';
4
+ export { decodeTape, encodeTape } from './protocol/codec';
5
+ export type { EventCategory, EventSemantics } from './protocol/event-semantics';
6
+ export { EVENT_SEMANTICS, eventKinds, isWorkEvent, resourceKindForEvent, workEventKinds, } from './protocol/event-semantics';
7
+ export type { TapeIndex, TapePassEntry, TapeResourceEntry, TapeWorkEntry, } from './protocol/tape-index';
8
+ export { buildTapeIndex } from './protocol/tape-index';
9
+ export type { BootstrapResource, InitialDataSlice, RhiCallEvent as V7RhiCallEvent, RhiCapsRecorded as V7RhiCapsRecorded, RhiDebugResult, Tape as V7Tape, TapeBlob as V7TapeBlob, TapeBlobCompression, TapeEncodeOptions, } from './protocol/types';
10
+ export { TAPE_FORMAT_VERSION as V7_TAPE_FORMAT_VERSION, TAPE_MAGIC, } from './protocol/types';
11
+ export { readbackTexturePixels } from './readback';
12
+ export { attachRecorder, type CaptureFrameOptions, type CreateShaderModuleFn, type EncodedTape, type RecordableBackend, type RecorderAttachment, type RecorderBackend, type RecorderOptions, } from './recorder/session';
13
+ export { type InspectField, openReplay, type ReadbackSubresource, type ReplayBackend, type ReplayReadbackResult, type ReplaySession, type TextureSubresource, type WorkInspection, } from './replay/session';
14
+ export { decodeTexelRaw, decodeToRgba8, halfToFloat } from './texel-decode';
15
+ export { bytesPerTexel, type ChannelType, type FormatInfo, formatInfo, } from './texel-layout';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EACL,eAAe,EACf,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,cAAc,GACf,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,IAAI,cAAc,EAC9B,eAAe,IAAI,iBAAiB,EACpC,cAAc,EACd,IAAI,IAAI,MAAM,EACd,QAAQ,IAAI,UAAU,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,mBAAmB,IAAI,sBAAsB,EAC7C,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,cAAc,EACd,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,KAAK,YAAY,EACjB,UAAU,EACV,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,UAAU,GACX,MAAM,gBAAgB,CAAC"}