-
main.tcl:- Defines the Folk language
- Initializes Evaluator (statements, matches, tries)
- Provides Peers functionality to synchronize between machines
- Starts up the web-server
- Starts up the entry (laptop or pi)
-
/pi- Functionality to setup the pi entry, e.g.
- Handling the camera input (
/pi/Camera.tcl) - Writing to the projector output (
/pi/Display.tcl) - Setting up keyboard events (
/pi/Keyboard.tcl)
-
laptop.tcl- Virtual program editor, each program is a window
- Also manages sharing between laptop and pi via
shareNode
-
vendor- Mostly Tcl libraries other people wrote (most or all are just copied from tcllib?). Except font.tcl, which is inlined C that other people wrote
-
lib- Tcl/Folk libraries that we wrote, as well as the C FFI and the C trie
-
virtual-programs- Our own high-level Folk programs
- They could be printed out... Perhaps, should be.
-
play- TCL experiments
-
calibrate.tcl- Calibrates the
piprojector and dumps a bunch of homography metadata to disk - Maybe should go into
/pi? (I think the only reason it doesn't go in /pi is it's a runnable entry point and not a library. Maybe it could go into /pi and then we'd havemake calibrateor something)
- Calibrates the
-
replmain.tcl- A front-end to the statements database, like
laptoporpi - Should there just be a
/clientsdirectory, where all of the possible entries go, and live in parallel.
- A front-end to the statements database, like
-
host.tcl- Mapping from WiFi network, to name of Folk machines