diff --git a/GOALS.md b/GOALS.md index 4a5ef986..133943f6 100644 --- a/GOALS.md +++ b/GOALS.md @@ -127,7 +127,7 @@ Scope: src/make.tcl, src/modules/punk/lib-999999.0a1.0.tm (tclparser use), src/v Detail: goals/G-019-dependency-scan-module-trimming.md ### G-020 [proposed] Screen capture and input injection module with per-platform backends (Windows first) -Scope: src/modules/punk/ (new module - name TBD), src/vfs/punk9win.vfs/lib_tcl9/ (existing treectrl/Img/twapi payloads); scriptlib/aloupe.tcl stays untouched as a standalone app +Scope: src/modules/punk/ (new module - name TBD), src/vfs/punk9wintk903.vfs/lib_tcl9/ (existing treectrl/Img/twapi payloads); scriptlib/aloupe.tcl stays untouched as a standalone app Detail: goals/G-020-screencap-input-module.md ### G-021 [proposed] Agent-drivable visual/UI verification via piped snapshot and interaction calls diff --git a/goals/G-020-screencap-input-module.md b/goals/G-020-screencap-input-module.md index 8f7111b8..f2e47e1e 100644 --- a/goals/G-020-screencap-input-module.md +++ b/goals/G-020-screencap-input-module.md @@ -1,7 +1,7 @@ # G-020 Screen capture and input injection module with per-platform backends (Windows first) Status: proposed -Scope: src/modules/punk/ (new module - name TBD), src/vfs/punk9win.vfs/lib_tcl9/ (existing treectrl/Img/twapi payloads); scriptlib/aloupe.tcl stays untouched as a standalone app +Scope: src/modules/punk/ (new module - name TBD), src/vfs/punk9wintk903.vfs/lib_tcl9/ (existing treectrl/Img/twapi payloads); scriptlib/aloupe.tcl stays untouched as a standalone app Goal: a punk module drives screen/window capture and mouse/keyboard injection from scripts via per-platform backends - Windows (treectrl loupe capture + twapi input/window-location) is the initial complete target, with the backend contract designed so X11 (Linux/FreeBSD) and macOS backends can be added without changing callers, and Wayland-native sessions explicitly out of scope. Acceptance: on Windows from a punk shell or script: a screen region and a window located by title/class pattern are each captured to a Tk photo and written as a valid PNG; mouse movement/click and key events injected into a located test window produce their observable effect (typed text arrives, click acts); window location returns the handle and geometry for a pattern; a capability-introspection call reports per-feature support and an unsupported platform/backend yields a clean capability-based refusal, not a crash; the backend interface (capture / input / window-locate) is documented well enough that a non-Windows backend can be added without modifying callers; the aloupe script remains functional and unmodified. @@ -13,7 +13,7 @@ executable involved, and wish binaries are not a build target). The standalone `scriptlib/aloupe.tcl` (aloupe 1.8.2, MIT) demonstrates the capture primitive: treectrl's `loupe` command copies an arbitrary screen region into a Tk photo (aloupe.tcl ~454), with Img for extra file formats. The Windows kit already -ships every needed binary: `src/vfs/punk9win.vfs/lib_tcl9/` has tk9.0, +ships every needed binary: `src/vfs/punk9wintk903.vfs/lib_tcl9/` has tk9.0, treectrl 2.5.2 (tcl9treectrl252.dll), Img 2.0.1/2.1.0, twapi 5.0.2, and cffi 2.0.3.