# 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 `