# Core Concepts This guide explains the fundamental concepts of tdom-path and how the three core functions work together to provide component asset path resolution for web applications. ## Overview tdom-path provides a three-phase pipeline for resolving component assets: 1. **Path Resolution** - Convert asset references to Traversable instances 2. **Tree Transformation** - Automatically rewrite Node trees to use Traversable 3. **Path Rendering** - Convert Traversable to relative path strings for HTML output ## The Three Core Functions ### make_traversable() - Path Resolution `make_traversable()` creates Traversable instances from asset path strings. It supports two path formats: **Package Paths** (format: `package:resource/path`): ```python >>> from tdom_path import make_traversable >>> # Reference asset from installed package >>> css_path = make_traversable(None, "bootstrap:dist/css/bootstrap.css") # doctest: +SKIP ``` **Relative Paths** (format: `resource/path`, `./resource/path`, or `../resource/path`): ```python >>> from mysite.components.heading import Heading >>> # Reference asset relative to component's module >>> css_path = make_traversable(Heading, "static/styles.css") ``` Path type detection is automatic based on the presence of a colon (`:`) character. ### make_path_nodes() - Tree Transformation `make_path_nodes()` walks a Node tree and automatically transforms `` and `