summaryrefslogtreecommitdiffstats
path: root/docs/code.md
diff options
context:
space:
mode:
authorOmar Rizwan <omar@omar.website>2024-05-14 19:29:56 +0000
committerOmar Rizwan <omar@omar.website>2024-05-14 19:29:56 +0000
commit7faaae55e8aae36f3000ff233d9337c2332fb222 (patch)
treea88cf9cc0160263283450a1de9c1443a8135e68f /docs/code.md
parentmain: Fix entry (fixes tests) (diff)
downloadfolk-7faaae55e8aae36f3000ff233d9337c2332fb222.tar.gz
folk-7faaae55e8aae36f3000ff233d9337c2332fb222.zip
Update docs/code
Diffstat (limited to 'docs/code.md')
-rw-r--r--docs/code.md19
1 files changed, 3 insertions, 16 deletions
diff --git a/docs/code.md b/docs/code.md
index cffd554e..05bfc6de 100644
--- a/docs/code.md
+++ b/docs/code.md
@@ -3,35 +3,22 @@
1. `main.tcl`:
1. Defines the Folk language
2. Initializes Evaluator (statements, matches, tries)
- 3. Provides Peers functionality to synchronize between machines
4. Starts up the web-server
5. Starts up the entry (laptop or pi)
-2. `/pi`
- 1. Functionality to setup the pi entry, e.g.
- 2. Handling the camera input (`/pi/Camera.tcl`)
- 3. Writing to the projector output (`/pi/Display.tcl`)
- 4. Setting up keyboard events (`/pi/Keyboard.tcl`)
-3. `laptop.tcl`
- 1. Virtual program editor, each program is a window
- 2. Also manages sharing between laptop and pi via `shareNode`
4. `vendor`
1. 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
5. `lib`
- 1. Tcl/Folk libraries that we wrote, as well as the C FFI and the C trie
+ 1. Pure Tcl (and/or C) libraries that we wrote (need to be
+ explicitly sourced into Folk & don't use Folk constructs),
+ including the C FFI and the C trie
6. `virtual-programs`
1. Our own high-level Folk programs
2. They could be printed out... Perhaps, should be.
-7. `play`
- 1. TCL experiments
8. `calibrate.tcl`
1. Calibrates the `pi` projector and dumps a bunch of homography metadata
to disk
- 2. 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 have `make
- calibrate` or something)
9. `replmain.tcl`
1. A front-end to the statements database, like `laptop` or `pi`
2. Should there just be a `/clients` directory, where all of the possible