/* * akglapp -- a complete program, brought up headless and run. * * This is the prelude behind `c run=akglapp`, and it is the reason the harness * links at all. -fsyntax-only proves a call typechecks; it does not prove the * startup order works, that the sprite loads, or that an ATTEMPT block gives * back what it took. A run= block proves those, and an `output` block below it * pins what the reader will actually see. * * The block supplies the body. Anything it prints on stdout is the example's * output; libakgl's own registry chatter goes to stderr and is not compared. * * The startup here is the same sequence tests/sprite.c and tools/docs_screenshot.c * use, and it is the sequence chapter 07 documents: error registry, renderer * backend, SDL, window, bind, heap, registries, camera. A host that owns its own * window does exactly this rather than calling akgl_game_init(). */ #include akerr_ErrorContext AKERR_NOIGNORE *docs_example(void); akerr_ErrorContext *docs_example(void) { PREPARE_ERROR(errctx);