Validate .df Files

Overview

Use @designful/df-validator to validate either:

  • a parsed .df document object
  • packed .df binary bytes

Validate Binary

import { validateDfBinary } from '@designful/df-validator'

const result = validateDfBinary(bytes, { supportedMajor: 1 })
if (!result.ok) {
  console.error(result.diagnostics)
}

Validate Document

import { validateDfDocument } from '@designful/df-validator'

const result = validateDfDocument(document)
if (!result.ok) {
  console.error(result.diagnostics)
}

Migrate Older Documents Safely

Use @designful/df-format migration utility when you need to normalize runtime defaults or bump metadata within the same major version before validation/playback:

import { migrateDfDocument } from '@designful/df-format'

const migration = migrateDfDocument(document, {
  targetVersion: { major: 1, minor: 3, patch: 0 },
  includeRuntimeDefaults: true,
})

console.log(migration.steps)
const migratedDocument = migration.document

Typical Failures

  • invalid magic/version in container header
  • section checksum mismatch
  • missing required section
  • schema violations in scene/timeline/state machine