Files
libakgl/docs/images/primitives.png

3 lines
730 B
Plaintext
Raw Permalink Normal View History

Add the manual: nineteen chapters and a corrected README docs/ is a narrative manual, not a second reference. Every header already carries a substantial @file/@brief block and Doxyfile sets WARN_IF_UNDOCUMENTED with WARN_AS_ERROR, so an undocumented symbol already fails CI. The gap was navigation and worked examples. Chapters teach a task and link to the Doxygen output; where a declaration or a constant table has to be in front of the reader it arrives as a `c excerpt=` block, so the text *is* the header and cannot diverge from it. That also preserves the hand-aligned bit-flag tables scripts/reindent.el goes out of its way not to destroy. The manual does not re-document its dependencies. libakerror owns the ATTEMPT/CLEANUP/PROCESS/HANDLE/FINISH protocol, SDL3 owns renderers and events, Tiled owns the map format, jansson owns json_t. A chapter that restated any of them would be wrong the day upstream changed and nothing here would notice -- the same drift this work exists to fix, arriving from a different direction. So each chapter says what libakgl adds or constrains and links out for the rest. Chapter 4 is the exception and the reason for it: libakerror documents the mechanism, but only libakgl can say which statuses its own functions raise and what they mean here, and that was written down nowhere. It carries three tables -- libakgl's five status codes, the libakerror statuses libakgl actually raises with their meaning in this library, and the exit-status trap where `exit(AKGL_ERR_SDL)` is a wait status of 0 because the band starts at 256. Every chapter was written against src/ rather than against the header comments, which is how 27 false claims in those comments came to light. Where a chapter documents a known defect rather than a design decision it says so and points at TODO.md. README.md keeps the development process and hands the reader to docs/. Its task-oriented FAQ is deleted rather than moved, because one source of truth per topic is the whole point and that FAQ's examples did not compile. Census: 39 compiled snippets, 89 verbatim header excerpts, 4 JSON documents run through the real loaders, one linked-and-executed program with its output compared byte for byte, one generated figure. 11 norun blocks, each justified. Co-Authored-By: Claude Code <noreply@anthropic.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 20:58:37 -04:00
<EFBFBD>PNG

IHDR@<00><00>O*<<02>IDATx<54><78><EFBFBD><EFBFBD>M<EFBFBD>@@Q<>($%<25><04><>R(<28>R(<28>%<25><><EFBFBD><EFBFBD><EFBFBD>Rd <09>vvv<76><76><1D><><EFBFBD><EFBFBD><EFBFBD>bC6<43><00>^<5E>\<<3C>_w#<23><><EFBFBD><EFBFBD><EFBFBD>k<EFBFBD><6B><EFBFBD><EFBFBD> \<5C><><EFBFBD>r<><72>߾t<DFBE><74>vs<76><73>[<5B><07><>gz<67><7A>_<EFBFBD><5F><EFBFBD>ީ<EFBFBD><DEA9><EFBFBD>b <09>Y<>|<7C><><EFBFBD>i<69><7F>%s \.<2E>0c<53>u<EFBFBD><75><EFBFBD><EFBFBD><EFBFBD>:O<><4F>v˸<76><CBB8>_<EFBFBD><07>gyjc<6A>i<EFBFBD><69><04>SS<53><15><><EFBFBD>LA<4C>~<7E> oX<6F>T<EFBFBD><54><EFBFBD>4<EFBFBD>aSJȳ<4A><C8B3><EFBFBD>L<1D>O<EFBFBD><4F>0$&`<60><08><>l<EFBFBD>",`HL<48>T<10><>.<2E>/<2F><02><>Lz<4C>,<2C><>Ƌ<EFBFBD><C68B>!1Cb<02><>Ln]<5D>/Z<> 0$&`HL<48><4C><EFBFBD><EFBFBD>!1Cb<02><> <0C> <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0$&`HL<48><4C><EFBFBD><EFBFBD>mp<6D>7W0t<><08>o<7F><6F>!1SD<53>"<1C><><EFBFBD><EFBFBD>!1SG<53>"<1C><><EFBFBD><EFBFBD>)%<25><><EFBFBD>}<7D>L5<4C><1B><>UO<55>Ԭ<><D4AC>=1LM <0E>w0<>=<3D><><1E><1D><>-zx<>[<5B><>7<EFBFBD>B<EFBFBD><14><><EFBFBD>Ku]<5D><>0<><30>1<EFBFBD><0E>]<08><>q>G<>pt<70><74><EFBFBD>G~<7E><>i<EFBFBD>^<5E><07>Hw<48>ru-<00>7<EFBFBD>><3E><>2<EFBFBD>{<7B>G6^.<2E>#<00><>:O<>;<3B><><EFBFBD><EFBFBD>p<>ͥ g<><67>(IEND<4E>B`<60>