AmiPilot v1.0
The first full release. Everything the implementation plan's 1.0 gate asked for — getting files and programs onto the machine the way a real user would, seeing what's actually on screen, manipulating whole windows, and promoting the wire protocol itself to stable — verified end to end, including on a completely bare machine profile and against real Picasso96/RTG.
What's in 1.0
FSPUT: push a file from the host onto the Amiga, completing the file API's round trip. The wire's first request to carry a raw binary body — deliberately wire-only, no ARexx form at all, since ARexx messages can only ever carry string arguments (a real, permanent transport asymmetry).WBLAUNCH: launch a program the way Workbench itself does — a genuineWBStartup/WBArgmessage to a real non-CLI process — withTOOLTYPE=overrides (merged into a scratch copy of the icon inT:, never the application's own.info) andARG=project-file arguments.SCREENSHOT: capture a screen or window as raw pixels — classic planar screens and genuine Picasso96/RTG bitmaps in their native pixel formats — decoded host-side to PNG and IFF ILBM, stdlib-only. Verified against real Picasso96 under emulation, both CLUT and truecolor.WINDOWMOVE/WINDOWSIZE: move or resize a whole window via the same synthesized press/move/release drags gadgets already get.WAITFOR REQUESTER: wait for a genuine Intuition Requester to appear — detection-only first slice (window-attached requesters only).- Every wire verb promoted from
EXPERIMENTALtoSTABLE: the implementation plan's own 1.0 gate ("protocol verbs promoted to stable"). Everything theVERSIONhandshake reports — exceptVERSIONitself, which was always stable — now won't break within a major. - Fixed:
CLICKwith aROLE=/INDEX=locator could silently act on the wrong system gadget (close/depth/drag) instead of the application gadget the locator actually matched. - Verification hardened for 1.0: the implementation plan's own "bare machine" lifecycle check, an automated TCP-transport check (real
bsdsocket.libraryover Copperline's host networking), and an automated P96SCREENSHOTcapture-path check — plus a dedicated pre-1.0 code review, all findings fixed.
Full detail in Changelog.md.
Known gaps
- Requester support is detection-only — no addressing or clicking a requester's own gadgets yet.
- Menu selection still needs a keyboard shortcut; pointer-based selection for shortcut-less items isn't built.
- A
window.classwindow'slayout.gadget-nested children remain unreachable on classic OS 3.x — a documented platform limit, not a bug. See Locator Tiers and Limits. - TCP remains LAN-only trust — no TLS. Verb stability doesn't change this. See Securing TCP.