From 5204b1b97041bfd26aefd39cbfcba5fe76ec8861 Mon Sep 17 00:00:00 2001 From: Svjatoslav Agejenko Date: Fri, 4 Sep 2026 00:09:29 +0300 Subject: [PATCH] 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". --- Documentation/architecture/index.org | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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 -- 2.20.1