Skip to main content

Module resolve

Module resolve 

Source
Expand description

Import resolver: merges imported scene graphs with frame-based scoping.

Each imported file becomes an implicit Frame node under root, providing visual grouping and namespace isolation. The resolver handles:

  • Flat frame topology (all frames are siblings under root)
  • Diamond dependency dedup (same file imported twice → one frame)
  • Three-state cycle detection (unseen / in-progress / resolved)

The parser stores Import declarations on SceneGraph.imports but does NOT read files — file I/O is handled by the caller via the ImportLoader trait. This keeps the parser pure and testable.

Traits§

ImportLoader
Trait for loading .fd files by path.

Functions§

resolve_imports
Resolve all imports on graph, wrapping each imported file in an implicit Frame node under root. Handles dedup and cycle detection.