> Development branch documentation · commit 327c05c78d2f528e4f4a679fcc7a77d9aa161f48
> Package versions: @zenfg/webgpu 0.1.0, @zenfg/snapshot 0.1.0, @zenfg/inspector 0.1.0, zenfg 0.1.0, zenfg-snapshot 0.1.0
> Source: https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/snapshot/src/codec.ts#L50

[ZenFG TypeScript API](/zenfg/docs/api/index.md) / [snapshot](/zenfg/docs/api/snapshot/index.md) / [root](/zenfg/docs/api/snapshot/root/index.md) / validateFrameGraphSnapshot

# Function: validateFrameGraphSnapshot()

> **validateFrameGraphSnapshot**(`value`): readonly [`FrameGraphSnapshotIssue`](/zenfg/docs/api/snapshot/root/type-aliases/FrameGraphSnapshotIssue.md)[]

Defined in: [packages/snapshot/src/codec.ts:50](https://github.com/uinosoft/zenfg/blob/327c05c78d2f528e4f4a679fcc7a77d9aa161f48/packages/snapshot/src/codec.ts#L50)

Validates an unknown value against the canonical Snapshot 1.2 semantic model.

## Parameters

### value

`unknown`

## Returns

readonly [`FrameGraphSnapshotIssue`](/zenfg/docs/api/snapshot/root/type-aliases/FrameGraphSnapshotIssue.md)[]

## Remarks

This first creates an independent JSON-safe clone by inspecting own
property descriptors, so getters and `toJSON` hooks are never invoked. It
then performs structural and cross-reference checks without migrating legacy
formats. Extension object/array nesting is limited by
[FRAME\_GRAPH\_SNAPSHOT\_MAX\_EXTENSION\_DEPTH](/zenfg/docs/api/snapshot/format/variables/FRAME_GRAPH_SNAPSHOT_MAX_EXTENSION_DEPTH.md). An empty array means valid.
