@forgeax/engine-rhi-debug 0.1.6 → 0.1.7

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 (41) hide show
  1. package/README.md +39 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/__tests__/readback-matrix-fixture.d.ts +32 -0
  4. package/dist/__tests__/readback-matrix-fixture.d.ts.map +1 -0
  5. package/dist/frame-model.d.ts +84 -52
  6. package/dist/frame-model.d.ts.map +1 -1
  7. package/dist/index.d.ts +3 -2
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.mjs +395 -40
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/replay/device-request.d.ts +8 -0
  12. package/dist/replay/device-request.d.ts.map +1 -0
  13. package/dist/replay/readback.d.ts +7 -0
  14. package/dist/replay/readback.d.ts.map +1 -1
  15. package/dist/replay/session.d.ts +17 -0
  16. package/dist/replay/session.d.ts.map +1 -1
  17. package/dist/texel-decode.d.ts +5 -4
  18. package/dist/texel-decode.d.ts.map +1 -1
  19. package/package.json +7 -7
  20. package/src/__tests__/consumer-inventory.unit.test.ts +49 -1
  21. package/src/__tests__/e2e.browser.test.ts +6 -1
  22. package/src/__tests__/frame-model-parity.test-d.ts +13 -1
  23. package/src/__tests__/frame-model-parity.unit.test.ts +262 -15
  24. package/src/__tests__/guard-gates.test.ts +176 -1
  25. package/src/__tests__/public-surface.integration.test.ts +8 -0
  26. package/src/__tests__/readback-format-matrix.dawn.test.ts +226 -3
  27. package/src/__tests__/readback-format-matrix.unit.test.ts +25 -1
  28. package/src/__tests__/readback-matrix-fixture.ts +20 -0
  29. package/src/__tests__/replay-fail-fast.unit.test.ts +12 -0
  30. package/src/__tests__/replay-session.dawn.test.ts +3 -0
  31. package/src/__tests__/replay-session.test-d.ts +7 -1
  32. package/src/__tests__/replay-session.unit.test.ts +16 -0
  33. package/src/__tests__/rhi-debug-fresh-replay.dawn.test.ts +2 -0
  34. package/src/__tests__/tape-index.unit.test.ts +3 -0
  35. package/src/__tests__/tree-shake.unit.test.ts +24 -0
  36. package/src/frame-model.ts +381 -83
  37. package/src/index.ts +17 -10
  38. package/src/replay/device-request.ts +38 -0
  39. package/src/replay/readback.ts +106 -18
  40. package/src/replay/session.ts +47 -2
  41. package/src/texel-decode.ts +37 -3
@@ -1,68 +1,99 @@
1
- import type { TapePassEntry, TapeResourceEntry } from './protocol/tape-index';
1
+ import { type EventCategory } from './protocol/event-semantics';
2
+ import type { TapeWorkEntry } from './protocol/tape-index';
2
3
  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';
4
+ import type { HandleId, RhiCallEvent } from './types';
5
+ type JsonPrimitive = string | number | boolean | null;
6
+ export type JsonValue = JsonPrimitive | readonly JsonValue[] | {
7
+ readonly [key: string]: JsonValue;
8
+ };
9
+ export interface CommandEntry {
10
+ readonly eventIndex: number;
11
+ readonly passIndex: number;
12
+ readonly kind: string;
13
+ readonly category: EventCategory;
14
+ readonly isWork: boolean;
15
+ readonly params: JsonValue;
16
+ readonly group: readonly string[];
17
+ readonly marker?: string;
8
18
  }
9
- export interface PassNode {
19
+ export interface FramePass {
20
+ readonly passIndex: number;
10
21
  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;
22
+ readonly beginEventIndex: number;
23
+ readonly endEventIndex: number | null;
24
+ readonly workIndices: readonly number[];
25
+ readonly commandIndices: readonly number[];
26
+ colorAttachmentViewHandleIds: readonly string[];
27
+ depthStencilViewHandleId: string | null;
32
28
  }
33
- export interface DrawDepthStencil {
34
- readonly depthStencilViewHandleId: HandleId | undefined;
35
- readonly depthStencilAttachment: GPURenderPassDepthStencilAttachment | undefined;
29
+ export interface ResourceConsumer {
30
+ readonly eventIndex: number;
31
+ readonly workIndex: number | null;
32
+ readonly access: 'read' | 'write';
36
33
  }
37
- export interface CommandEntry {
38
- readonly passIdx: number;
39
- readonly eventIdx: number;
40
- readonly isDraw: boolean;
34
+ export interface ResourceEntry {
35
+ readonly resourceId: string;
41
36
  readonly kind: string;
42
- readonly groupLabel: string | undefined;
43
- readonly markerLabel: string | undefined;
37
+ readonly origin: 'bootstrap' | 'frame';
38
+ readonly createEventIndex: number | null;
39
+ readonly destroyEventIndex: number | null;
40
+ readonly descriptor: JsonValue | null;
41
+ consumers: readonly ResourceConsumer[];
42
+ readonly lifecycle: {
43
+ readonly state: 'live' | 'destroyed' | 'unavailable';
44
+ readonly byteEstimate: ResourceByteEstimate | null;
45
+ };
44
46
  }
45
- export interface FrameModelMeta {
46
- readonly totalDraws: number;
47
- readonly totalPasses: number;
48
- readonly hasCompute: boolean;
47
+ export interface WorkBinding {
48
+ readonly groupIndex: number;
49
+ readonly binding: number;
50
+ readonly bindGroupId: string;
51
+ readonly resourceId: string | null;
52
+ readonly resourceKind: string | null;
53
+ readonly bufferOffset: number | null;
54
+ readonly bufferSize: number | null;
49
55
  }
50
- export interface WorkEntry {
51
- readonly workIndex: number;
52
- readonly eventIndex: number;
53
- readonly passIndex: number;
54
- readonly kind: string;
56
+ export interface WorkPipeline {
57
+ readonly status: 'available' | 'unavailable';
58
+ readonly pipelineHandleId?: string;
59
+ readonly kind?: 'render' | 'compute';
60
+ readonly descriptor?: JsonValue;
61
+ readonly shaders: readonly {
62
+ readonly stage: 'vertex' | 'fragment' | 'compute';
63
+ readonly moduleHandleId: string;
64
+ readonly entryPoint: string | null;
65
+ readonly source: string | null;
66
+ }[];
67
+ readonly reason?: 'pipeline-not-bound' | 'descriptor-unavailable';
68
+ }
69
+ export interface WorkEntry extends TapeWorkEntry {
70
+ readonly commandIndex: number;
71
+ readonly drawCall: JsonValue;
72
+ readonly pipeline: WorkPipeline;
73
+ readonly bindings: readonly WorkBinding[];
74
+ readonly vertexBuffers: readonly {
75
+ readonly slot: number;
76
+ readonly bufferHandleId: string;
77
+ readonly offset: number;
78
+ readonly size: number | null;
79
+ }[];
80
+ readonly indexBuffer: {
81
+ readonly bufferHandleId: string;
82
+ readonly format: string;
83
+ readonly offset: number;
84
+ readonly size: number | null;
85
+ } | null;
86
+ readonly attachments: {
87
+ readonly colorViewHandleIds: readonly string[];
88
+ readonly depthStencilViewHandleId: string | null;
89
+ } | null;
55
90
  }
56
91
  export interface FrameModel {
57
- readonly tree: readonly PassNode[];
58
- readonly draws: readonly DrawEntry[];
59
- readonly meta: FrameModelMeta;
60
92
  readonly commands: readonly CommandEntry[];
61
- readonly resources: ReadonlyMap<HandleId, CreateDescriptor>;
93
+ readonly passes: readonly FramePass[];
94
+ readonly resources: readonly ResourceEntry[];
62
95
  readonly resourceLifecycle: ResourceLifecycleSummary;
63
96
  readonly works: readonly WorkEntry[];
64
- readonly passes: readonly TapePassEntry[];
65
- readonly resourceEntries: readonly TapeResourceEntry[];
66
97
  }
67
98
  export declare function buildFrameModel(tape: V7Tape): FrameModel;
68
99
  /** A byte estimate that distinguishes known descriptor size from unavailable GPU facts. */
@@ -123,4 +154,5 @@ export interface ResourceLifecycleSummary {
123
154
  }
124
155
  /** Build a pure lifecycle ledger from the ordered tape events. */
125
156
  export declare function buildResourceLifecycle(events: readonly RhiCallEvent[]): ResourceLifecycleSummary;
157
+ export {};
126
158
  //# sourceMappingURL=frame-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"frame-model.d.ts","sourceRoot":"","sources":["../src/frame-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frame-model.d.ts","sourceRoot":"","sources":["../src/frame-model.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
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';
2
+ export type { CommandEntry, FrameModel, FramePass, JsonValue, ResourceConsumer, ResourceEntry, WorkBinding, WorkEntry, WorkPipeline, } from './frame-model';
3
+ export { buildFrameModel, buildResourceLifecycle, type ResourceByteEstimate, type ResourceKind, type ResourceLifecycleEntry, type ResourceLifecycleSummary, } from './frame-model';
4
4
  export { decodeTape, encodeTape } from './protocol/codec';
5
5
  export type { EventCategory, EventSemantics } from './protocol/event-semantics';
6
6
  export { EVENT_SEMANTICS, eventKinds, isWorkEvent, resourceKindForEvent, workEventKinds, } from './protocol/event-semantics';
@@ -10,6 +10,7 @@ export type { BootstrapResource, InitialDataSlice, RhiCallEvent as V7RhiCallEven
10
10
  export { TAPE_FORMAT_VERSION as V7_TAPE_FORMAT_VERSION, TAPE_MAGIC, } from './protocol/types';
11
11
  export { readbackTexturePixels } from './readback';
12
12
  export { attachRecorder, type CaptureFrameOptions, type CreateShaderModuleFn, type EncodedTape, type RecordableBackend, type RecorderAttachment, type RecorderBackend, type RecorderOptions, } from './recorder/session';
13
+ export { replayDeviceRequest } from './replay/device-request';
13
14
  export { type InspectField, openReplay, type ReadbackSubresource, type ReplayBackend, type ReplayReadbackResult, type ReplaySession, type TextureSubresource, type WorkInspection, } from './replay/session';
14
15
  export { decodeTexelRaw, decodeToRgba8, halfToFloat } from './texel-decode';
15
16
  export { bytesPerTexel, type ChannelType, type FormatInfo, formatInfo, } from './texel-layout';
@@ -1 +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"}
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,UAAU,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,eAAe,CAAC;AACvB,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,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,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"}