Filesystem Integration
Noodle is designed to gracefully integrate in a filesystem. In general, the program tends to ignore anything that might cause problems. But knowing how noodle lives on your system helps justify and come up with your own best practices when using noodle.
Noodle is a system of meta data that lays a multiplex graph on top of the filesystem directory tree. A tree is actually a type of graph. So from noodle’s “perspective” the filesystem is basically just another layer in the multiplex graph.
The filesystem forms the basis for noodle’s automatic base
layer.
The reason there isn’t a “filesystem” layer is that the filesystem isn’t guranteed to have all the doodles.
There may be, so-called, abstract doodles which do not correspond to files.
The only difference between a layer containing the filesystem tree and base
, is that base
is inclusive of all the doodles including abstract doodles.
It’s a directory that the user has initialized with noodle and it contains the contents of a single noodle. You can have as many of these on your system as you like. Each corresponds to one noodle.
In terms of content, all hidden files and directories are ignored including noodle’s own .noodle/
directory where noodle stores its metadata.
More info on noodle’s hidden directory.
Each file and each directory are represented by a respective doodle in the multiplex graph.
The filesystem structure is reflected in the base
layer.
If there are multiple files with the same name in the working directory only one will be registered in the node cache and occlude the others. This applies equivalently for directories and files. There is no currently defined preference between directories and files. If you want a directory and a file with the same name to be included by noodle, make sure they have different names.
Use of illegal file names may cause undefined behaviour.
Working directories should not be nested or placed in hidden directories.
Edge cases involving symbolic links or hard links have not been considered and should therefore be avoided inside the working directory.