Skip to content

Portable releases with integrated accessible desktop and Android controls - #19

Merged
antono3 merged 29 commits into
masterfrom
feat/portable-release-packages
Oct 3, 2026
Merged

antono3 merged 29 commits into
masterfrom
feat/portable-release-packages

Conversation

@antono3

@antono3 antono3 commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Changes

  • Integrate the upstream native accessibility layer into the existing widget gallery and Android touch app for release builds: labelled controls, native actions, text/selection, status/progress, high contrast, text sizing and virtual list focus.
  • Keep the raw desktop widget view available, including its tables, popups and secondary windows; document its screen-reader scope explicitly.
  • Build portable Linux/Windows packages for both standard and docking variants. Bundle application libraries, Windows CRT and Vulkan loader, audit dependency closure and collect notices.
  • Build three Android ABI inputs, add a universal APK promotion/signing script with a persistent private key, and stamp app version 1.0.0.
  • Document end-user desktop extraction, APK sideloading/updating, platform requirements and release procedure.
  • Pin the merged external-accessibility host changes from upstream.

Checks

  • Connected Android tablet: native accessibility roles/actions, checkbox state, progress range, Unicode/UTF-16 selection, whole-field clipboard copy/read and visible feedback, text sizing, content swiping and resume state passed.
  • Linux gallery: actual AT-SPI roles/actions, high contrast, large text, off-screen list focus/selection and view switching passed.
  • Native accessible Linux/Android builds, workflow YAML parsing, shell syntax and whitespace checks passed.
  • CI will build/audit all portable variants and Android ABIs before release. Final packages will be promoted only after those checks and final installation checks pass.

Guided example workflow

  • Running ./setup.vsh on Unix (or v run setup.vsh on Windows) now presents an example menu, explains setup changes, builds and launches the selected example. Repeat visits can run an existing desktop build or rebuild it. Explicit flags retain build-only and read-only checks, plus --run.
  • Android guidance detects installed SDK/NDK paths, selects an authorized connected device, and asks before building/installing/opening a debug APK. It never removes an installed application to resolve signing conflicts.
  • Release packages include a compiled console launcher: Windows users open examples.exe; Linux users run ./run.sh. Both offer named examples and default to Widget gallery. Direct launches remain available.
  • README and package instructions start with release downloads and the guided source path. Docking and the universal Android APK are the recommended downloads.

Checks for this workflow: Linux source prerequisite check, source build and launch with the CI compiler, existing-build launch, setup cancellation without filesystem changes, Android SDK/NDK/device detection and cancellation, all three packaged examples rendered through the launcher, default menu launch, ZIP integrity, and Windows V type checking. Release CI now renders through the Linux launcher and runs the Windows launcher help command before its existing UI Automation checks. Windows runtime validation is pending CI.

Desktop keyboard shortcuts

All three desktop examples share Escape to quit when the current UI does not consume it, and F11 to toggle borderless windowed fullscreen on the window's monitor. The current video mode is retained; normal bounds, decorations and maximized state are restored on exit. Holding F11 does not repeat the toggle. Editing, popups, drags, menus and navigation can consume Escape; custom example callbacks can also mark it handled explicitly.

Verified with real keyboard events on an isolated Linux display: all three source examples, the accessible gallery build, normal and maximized restoration, unchanged display mode, border restoration, held-key behavior, and Escape cancellation for text editing and popups. Vulkan validation passed during the source keyboard/toggle checks. Added these regression checks to source and release CI. Windows V type checking passed; Windows runtime gates remain pending: the probe now uses native checkbox/radio actions, and the pinned adapter update exposes scroll properties directly to UI Automation clients.

antono2 added 29 commits October 3, 2026 05:27
@antono3
antono3 merged commit 6cd4698 into master Oct 3, 2026
17 checks passed
@antono3
antono3 deleted the feat/portable-release-packages branch October 3, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant