Skip to content

WASM: make touch controls layout fluid and edge-anchored in landscape#81

Merged
remileonard merged 7 commits into
mainfrom
copilot/implement-fluid-control-placement
May 18, 2026
Merged

WASM: make touch controls layout fluid and edge-anchored in landscape#81
remileonard merged 7 commits into
mainfrom
copilot/implement-fluid-control-placement

Conversation

Copilot AI commented May 16, 2026

Copy link
Copy Markdown
  • Previous session: vertical stack of buttons in right gap, canvas height-based
  • Lower joystick ~5vh in landscape (33vh → 28vh)
  • Increase button sizes +25% (height, font-size)
  • Fix iPad landscape: canvas capped so side gap ≥ 60px; action-btns min-width floor for 4:3 screens

Copilot AI linked an issue May 16, 2026 that may be closed by this pull request
Copilot AI changed the title [WIP] Implement fluid placement for controls in wasm version WASM: make touch controls layout fluid across device size and orientation May 16, 2026
Copilot AI requested a review from remileonard May 16, 2026 19:44
@github-actions

github-actions Bot commented May 16, 2026

Copy link
Copy Markdown

🎮 PR Preview

The WASM build for this PR is available at:
https://remileonard.github.io/alienbreed/preview/81/

The preview is updated on every push and removed automatically when the PR is closed.

@remileonard remileonard left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot

En mode paysages, les contrôles ne sont pas assez proche des bords, ils ne sont pas accessibles j'ai du mal à les atteindre.

Il faudrait qu'ils soient plus proche des bords de l'ecran.

Copilot AI commented May 16, 2026

Copy link
Copy Markdown
Author

@copilot

En mode paysages, les contrôles ne sont pas assez proche des bords, ils ne sont pas accessibles j'ai du mal à les atteindre....

C’est corrigé dans le commit 8b63cd9 : en paysage, les contrôles tactiles sont maintenant placés plus près des bords (max-width élargie + padding/gap réduits). Screenshot paysage mis à jour : /tmp/alienbreed-touch/touch-controls-landscape-v2.png (portrait aussi régénéré : /tmp/alienbreed-touch/touch-controls-portrait-v2.png).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5328 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.CNgZej --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4357544920924474284,2353764036637767735,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,16450733852147525229,13403079474467530468,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-portrait-v2.png --window-size=768,1024 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5449 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.LTK4Nw --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,520525723164828627,6617349303432442452,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15499034780240281688,16102348621206921389,4 --trace-process-track-uuid=3190708989122997041 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5328 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.CNgZej --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4357544920924474284,2353764036637767735,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,16450733852147525229,13403079474467530468,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-portrait-v2.png --window-size=768,1024 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5449 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.LTK4Nw --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,520525723164828627,6617349303432442452,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15499034780240281688,16102348621206921389,4 --trace-process-track-uuid=3190708989122997041 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5328 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.CNgZej --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4357544920924474284,2353764036637767735,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,16450733852147525229,13403079474467530468,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-portrait-v2.png --window-size=768,1024 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5449 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.LTK4Nw --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,520525723164828627,6617349303432442452,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15499034780240281688,16102348621206921389,4 --trace-process-track-uuid=3190708989122997041 (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5328 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.CNgZej --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4357544920924474284,2353764036637767735,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,16450733852147525229,13403079474467530468,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-portrait-v2.png --window-size=768,1024 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=5449 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.LTK4Nw --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,520525723164828627,6617349303432442452,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15499034780240281688,16102348621206921389,4 --trace-process-track-uuid=3190708989122997041 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from remileonard May 16, 2026 19:56
@remileonard

Copy link
Copy Markdown
Owner

@copilot

Je pense q'en mode paysages ce serait biens d'avoir les contrôles à droite et à gauche de l'ecran de jeux.

Copilot AI commented May 16, 2026

Copy link
Copy Markdown
Author

@copilot

...

C’est fait dans le commit 4c9a521 : en paysage, le panneau tactile est maintenant ancré en overlay plein écran en bas, avec joystick à gauche et boutons d’action à droite pour être bien sur les côtés. Screenshot mis à jour : /tmp/alienbreed-touch/touch-controls-landscape-v3.png (portrait régénéré : /tmp/alienbreed-touch/touch-controls-portrait-v3.png).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • accounts.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4257 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.8blKQD --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13751237666165943323,8758739095650621289,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,10810022389493581201,7090593022443765648,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-landscape-v3.png --window-size=1366,768 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4373 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.bZbSkC --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4812405499191603238,15442169308564673027,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15157976866661697374,12409517503008064409,4 --trace-process-track-uuid=3190708989122997041 (dns block)
  • clients2.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4257 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.8blKQD --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13751237666165943323,8758739095650621289,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,10810022389493581201,7090593022443765648,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-landscape-v3.png --window-size=1366,768 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4373 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.bZbSkC --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4812405499191603238,15442169308564673027,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15157976866661697374,12409517503008064409,4 --trace-process-track-uuid=3190708989122997041 (dns block)
  • redirector.gvt1.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4257 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.8blKQD --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13751237666165943323,8758739095650621289,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,10810022389493581201,7090593022443765648,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-landscape-v3.png --window-size=1366,768 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4373 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.bZbSkC --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4812405499191603238,15442169308564673027,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15157976866661697374,12409517503008064409,4 --trace-process-track-uuid=3190708989122997041 (dns block)
  • www.google.com
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4257 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.8blKQD --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,13751237666165943323,8758739095650621289,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,10810022389493581201,7090593022443765648,4 --trace-process-track-uuid=3190708989122997041 (dns block)
    • Triggering command: /usr/bin/chromium-browser chromium-browser --headless --disable-gpu --no-sandbox --screenshot=/tmp/alienbreed-touch/touch-controls-landscape-v3.png --window-size=1366,768 file:///tmp/alienbreed-touch/shell-preview.html (dns block)
    • Triggering command: /proc/self/exe /proc/self/exe --type=utility --utility-sub-type=network.mojom.NetworkService --lang=en-US --service-sandbox-type=network --no-sandbox --use-angle=swiftshader-webgl --crashpad-handler-pid=4373 --enable-crash-reporter=, --noerrdialogs --user-data-dir=/tmp/org.chromium.Chromium.scoped_dir.bZbSkC --change-stack-guard-on-fork=enable --shared-files=network_parent_dirs_pipe:100,v8_context_snapshot_data:101 --field-trial-handle=3,i,4812405499191603238,15442169308564673027,262144 --disable-features=PaintHolding --variations-seed-version --pseudonymization-salt-handle=7,i,15157976866661697374,12409517503008064409,4 --trace-process-track-uuid=3190708989122997041 (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title WASM: make touch controls layout fluid across device size and orientation WASM: make touch controls layout fluid and edge-anchored in landscape May 16, 2026
…ght-constrained

Agent-Logs-Url: https://github.com/remileonard/alienbreed/sessions/e9d70ccc-0971-4a38-857c-a0ff2a7d9a8e

Co-authored-by: remileonard <26741088+remileonard@users.noreply.github.com>
@remileonard
remileonard marked this pull request as ready for review May 18, 2026 17:31
@remileonard
remileonard merged commit c554708 into main May 18, 2026
2 checks passed
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.

Contrôle dans la version wasm

2 participants