| # Tint Source Layering | 
 |  | 
 | The `BUILD.gn` is setup with small source units for various components | 
 | in Tint. The hierarchy of sources almost matches to folder structure in | 
 | tint (except for `base` which is a mix of things in `src/tint` and | 
 | `src/tint/util`. | 
 |  | 
 |  | 
 | ``` | 
 | +-----------------------------------------+ | 
 | |         Readers | Writers               | | 
 | +-----------------------------------------+ | 
 |                   | | 
 |                   V | 
 | +-----------------------------------------+ | 
 | |       Val | Inspector | Transform       | | 
 | +-----------------------------------------+ | 
 |    |              | | 
 |    +--------------+------------------------------+ | 
 |                   |                              | | 
 |                   V                              V | 
 | +-----------------------------------------+ +-----------+ | 
 | |                AST                      | |  Utils IO | | 
 | +-----------------------------------------+ +-----------+ | 
 |                   |                              | | 
 |                   V                              | | 
 | +-----------------------------------------+      | | 
 | |        Program  | Sem                   |      | | 
 | +-----------------------------------------+      | | 
 |                   |                              | | 
 |                   V                              | | 
 | +-----------------------------------------+      | | 
 | |              AST Hdrs                   |      | | 
 | |    (program and sem cause a cycle)      |      | | 
 | +-----------------------------------------+      | | 
 |                   |                              | | 
 |                   V                              | | 
 | +-----------------------------------------+      | | 
 | |        Clone Context Hdrs               |      | | 
 | |    (program and sem cause a cycle)      |      | | 
 | +-----------------------------------------+      | | 
 |                   |                              | | 
 |                   V                              | | 
 | +-----------------------------------------+      | | 
 | |             Constant                    |      | | 
 | +-----------------------------------------+      | | 
 |                   |                              | | 
 |                   V                              | | 
 | +-----------------------------------------+      | | 
 | |               Types                     |      | | 
 | +-----------------------------------------+      | | 
 |                   |                              | | 
 |                   V                              | | 
 | +-----------------------------------------+      | | 
 | |              Builtin                    |      | | 
 | +-----------------------------------------+      | | 
 |                   |                              | | 
 |                   |------------------------------+ | 
 |                   V | 
 | +-----------------------------------------+ | 
 | |              Symbols                    | | 
 | +-----------------------------------------+ | 
 |                   | | 
 |                   V | 
 | +-----------------------------------------+ +-------------+ | 
 | |               Utils                     | | Initializer | | 
 | +-----------------------------------------+ +-------------+ | 
 | ``` |