diff --git a/docs/tint/layering.md b/docs/tint/layering.md new file mode 100644 index 0000000000..13e3626921 --- /dev/null +++ b/docs/tint/layering.md @@ -0,0 +1,68 @@ +# 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 | Demangler | 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 ++-----------------------------------------+ +| Base | ++-----------------------------------------+ + | + V ++-----------------------------------------+ +-------------+ +| Text (unicode) | | Initializer | ++-----------------------------------------+ +-------------+ +```