Help guide

Validation errors and warning codes

Updated June 20, 2026

Validation errors and warning codes

Product media placeholder

Replace this area with a screenshot or short walkthrough video during the media sweep.

Validation codes are stable identifiers. Use them in tests, CI checks, support notes, and public examples instead of matching free-form message text.

Code object shape

  • debug.validate() returns objects with severity, code, message, and optional nodeId.
  • Severity is error, warning, or info.
  • A code should not change meaning after publication; new checks should add new codes.

Current public code families

  • Wire and expression: dead ports and missing expression node references.
  • Selectors: scroll, pin, stagger, transform writer, and virtual-scroll selector failures.
  • Scroll and pin: runway and spacing checks.
  • Physics: world, body, joint, scale, drag, double writer, and stagger/frame checks.
  • Responsive: activeWhen and override validation.

Current documented codes

  • DEAD_PORT_WIRE, EXPR_REFERENCES_MISSING_NODE, PIN_TARGET_NO_MATCH, PIN_TARGET_INVALID_SELECTOR, PIN_NO_SPACING_NO_CONSUMER, SCROLL_TRIGGER_NO_MATCH, SCROLL_TRIGGER_INVALID_SELECTOR, SCROLL_TRIGGER_OUT_OF_RUNWAY, STAGGER_TARGET_NO_MATCH, STAGGER_TARGET_INVALID_SELECTOR, MULTIPLE_TRANSFORM_WRITERS_SAME_COMPONENT, TRANSFORM_WRITER_INVALID_SELECTOR, VIRTUAL_SCROLL_TARGET_NO_MATCH, VIRTUAL_SCROLL_TARGET_INVALID_SELECTOR, VIRTUAL_SCROLL_NATIVE_RUNWAY_LEAK, PHYSICS_NO_WORLD, PHYSICS_MULTIPLE_WORLDS, PHYSICS_BODY_REF_MISSING, PHYSICS_PPM_INVALID, PHYSICS_ARC_DEGENERATE, PHYSICS_MOUSE_DRAG_NO_MATCH, PHYSICS_JOINT_BODY_DISABLED, PHYSICS_BOUND_DOUBLE_WRITER, PHYSICS_STAGGER_OUT_OF_FRAME, PHYSICS_STAGGER_GROSSLY_MISSIZED, PHYSICS_STAGGER_NO_FRAME_NO_GUARD, ACTIVE_WHEN_INVALID_QUERY, OVERRIDE_INVALID_WHEN, OVERRIDE_INVALID_SET, OVERRIDE_PATH_INVALID, OVERRIDE_PATH_NOT_FOUND, OVERRIDE_PATH_TYPE_MISMATCH, OVERRIDE_DUPLICATE_PATH_IN_SAME_BLOCK

Verified runnable examples

This guide points to proof-backed sample coverage. The full ledger lives in Generated examples and proof log.

DOM: Scroll fade reveal

  • Source: faster-motion/demo/tests/dom/catalog/scroll-animations/fade-reveal/fade-reveal.domgraph.fmtion
  • Expected output: Sections fade and translate into place as their trigger elements enter the configured viewport range.
  • Validation: Schema validation passed. Runtime proof reports zero structural/runtime issues and 17 loaded nodes.
  • Desktop proof: generated-assets/faster-motion-docs/proofs/screenshots/dom-fade-reveal-desktop.png
  • Mobile proof: generated-assets/faster-motion-docs/proofs/screenshots/dom-fade-reveal-mobile.png

Canvas: Fill rule diagnostic

  • Source: faster-motion/demo/tests/canvas/fillrule-diagnostic/fillrule-diagnostic.fmtion
  • Expected output: A contained Canvas scene renders paired path cases so nonzero and evenodd fill handling can be compared visually.
  • Validation: Schema validation passed. Runtime proof reports zero blocking runtime issues and 10 rendered objects; the accepted metadata note is preserved in the proof ledger.
  • Desktop proof: generated-assets/faster-motion-docs/proofs/screenshots/canvas-fillrule-diagnostic-desktop.png
  • Mobile proof: generated-assets/faster-motion-docs/proofs/screenshots/canvas-fillrule-diagnostic-mobile.png

Guide-specific sample target: Validation code sample that shows one error code, one warning code, one accepted warning note, and a clean final run.

Faster Motion docs

Use this local map together with the left navigation. The source-backed content tree controls the main article order; this section keeps related pages one click away.

Start

DOM animation

Canvas animation

3D and procedural

Reference

Was this guide helpful?

Sunny Arora

Written by

Sunny Arora

Get technical deep dives delivered to your inbox

Join creators and developers who get exclusive insights, tutorials, and behind-the-scenes content every week.

No spam. Unsubscribe anytime.

Continue Exploring

You might also enjoy