Every native platform now runs on the HAL (makepad-hal) alone: macOS and iOS/tvOS on Metal, Windows on D3D11 (with device-loss recovery), Linux on Vulkan (X11, Wayland and direct KMS, multi-GPU laptops with per-output modes, mirror/extended arrangements and pacing) plus a GLES backend, and Android on Vulkan with media, camera, network, haptics and file access on the HAL. The old per-OS backends, the hal cfg and OpenHarmony are gone. GPU memory: the HAL reads the device budget, keeps a UI reserve and raises GpuPressure; failed allocations wait for room. One font service per host, a frame profiler, held events for hidden views, automation for tests. Our own generated Vulkan, Wayland and Windows bindings replace vendored ones. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
21 lines
615 B
Text
21 lines
615 B
Text
# Calculator through the HAL: 12 + 3 = 15 (headless, no window system).
|
|
# MAKEPAD_HAL_SCRIPT=platform/hal/scripts/calculator.hal ./makepad-app-calculator
|
|
# Uses the native HAL build. One JSON line per step, a summary line last; a failing
|
|
# step or budget makes the exit code non-zero. The app keeps its session between runs, so the
|
|
# script clears first.
|
|
wait_gpu
|
|
wait_frame 2
|
|
budget stale_ids == 0
|
|
budget ledger_bytes <= 100000000
|
|
click k_clear
|
|
click k_1
|
|
click k_2
|
|
click k_add
|
|
click k_3
|
|
click k_eq
|
|
wait_gpu
|
|
wait_frame 2
|
|
query widgets
|
|
expect "display.result\tLabel\t1"
|
|
expect "\t0:0\t15\n"
|
|
snapshot calculator_15
|