From: Svjatoslav Agejenko Date: Thu, 3 Sep 2026 21:09:29 +0000 (+0300) Subject: docs(architecture): package map reflects the io/format/flow extraction X-Git-Url: http://www2.svjatoslav.eu/gitweb/?a=commitdiff_plain;h=5204b1b97041bfd26aefd39cbfcba5fe76ec8861;p=crtbasic.git docs(architecture): package map reflects the io/format/flow extraction Adds the io package row (IoSubsystem/Channel/FileHandle/DosPaths/ QbBinaryCodec), lists PrintFormat/Jumps/LabelSearch under interp, and fills in the previously undocumented machine and capture packages. The audio row no longer claims "no audio yet". --- diff --git a/Documentation/architecture/index.org b/Documentation/architecture/index.org index d5d52fb..7e46b17 100644 --- a/Documentation/architecture/index.org +++ b/Documentation/architecture/index.org @@ -38,10 +38,13 @@ human watches it in a window or an agent samples it offscreen. | =lexer= | =Lexer=, =Token= | Source text → token stream | | =parser= | =Parser= | Tokens → AST, recursive descent | | =ast= | =Ast= (sealed =Stmt= / =Expr= records) | Typed syntax tree, every node carries its source line | -| =interp= | =Interpreter= | Executes the AST (interim tree-walker) | +| =interp= | =Interpreter=, =PrintFormat=, =Jumps=, =LabelSearch= | Executes the AST (tree-walker); PRINT/USING formatting, control-flow signals and nested-label search are factored out | +| =io= | =IoSubsystem=, =Channel=, =FileHandle=, =DosPaths=, =QbBinaryCodec= | The OPEN channel table (text/BINARY/RANDOM/CON/COM), DOS path resolution, GET/PUT byte layout, NAME/KILL/SHELL DIR | | =video= | =VgaDevice=, =Framebuffer=, =TextConsole=, =ScreenMode=, =VgaFont=, =DefaultPalettes=, =CapturedRegion= | The virtual VGA card | | =input= | =KeyboardQueue= | Single input path for all frontends | -| =audio= | =SoundQueue= | SOUND timing model (no audio yet) | +| =machine= | =MachineMemory=, =QbextMouseTsr= | Emulated RAM (DEF SEG/PEEK/POKE) and the mouse TSR | +| =audio= | =SoundQueue= | SOUND/BEEP: audible square wave in GUI mode, timing-only headless | +| =capture= | =ScreenRecorder=, =CrtrecEncoder= | 30 Hz .crtrec capture and ffmpeg-based MP4 encoding | | =frontend= | =SwingFrontend= | Interactive window: live screen + key capture | Test sources additionally carry the JUnit suites, the