Skip to main content

A generated script reference

· One min read
Balaur

The script API is documented by reading it back from a running engine, not by parsing source. CI fails on drift.

What landed

  • Read from a booted engine. Every module, function and constant comes out of a running interpreter. input.KEY_SPACE exists only after registration, and no parser would find it.
  • Checked in CI. The generated files are committed, and a build whose output differs fails. What the reference says is what the engine has.
  • On this site. The script modules, components and assets references are that output, one page per module, with what each function acts on.

What the first run found

It said rng, fs and toml were declared for one language only. True, and wrong: a Rune game had no seeded random at all, in an engine whose README calls determinism non-negotiable. All three are declared neutrally now, and a test pins the same seed to the same sequence.

A reference produced by reading the API back cannot describe something that is not there.