Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,15 @@ jobs:
python3 tools/make-icons.py
git diff --exit-code -- resources/

# The tutorial tells a reader to type out whole files. If one stops
# parsing they find out by typing it in and getting a syntax error, with
# no way to tell whether they mistyped it or the page is wrong - the worst
# failure available to a document whose premise is "type this". The page
# spent two rebuilds describing an interface the code no longer had; prose
# going stale is hard to catch, code going stale is not.
- name: The tutorial's code still parses
run: python3 tools/check-tutorial.py

# Every source file has to at least parse. `ghost <file>` reports a syntax
# fault before it evaluates anything, so a file that only fails on a
# `lumen:` import is fine - a file that fails to parse is not.
Expand Down
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -286,9 +286,7 @@ Lumen's audio API exposes no samples and no playhead).
[docs/picotron.md](docs/picotron.md) is the current spec: every measurement the
interface is built against, how they were taken, and which of them are exact.

[docs/tutorial.html](docs/tutorial.html) builds the repository from an empty folder,
explaining the reasoning as it goes — **but it documents the interface as it was before
the Picotron rebuild**, and its chapters on painting and theming are now wrong. The
structural half (the widget tree, the dock, input capture, commands, the keymap) and the
Ghost papercut reference are still accurate. Rewriting it against the current design is
outstanding work.
[docs/tutorial.html](docs/tutorial.html) builds the repository from an empty folder, in
order, explaining the reasoning as it goes. Open it in a browser. Its code blocks are
checked in CI: every file the reader is told to type is parsed on every commit, because
a tutorial whose code has quietly stopped working is worse than no tutorial.
Loading
Loading