The game view can be put into fullscreen on its own: the screen shows the game and nothing else, not the editor or the page around it.
Editor
The game tab header gets a fullscreen button at its right end.
It puts the browser into fullscreen and shows only the game view in it: no toolbar, no panels, no tab header, no console. The game view keeps the zoom picked in the tab (Auto, Fit or a step).
Play, pause and the keys work as in the game tab. Esc (the browser's own key) or the button in the corner leaves fullscreen, and the editor is back as it was.
A fullscreen button in the top right corner of the page, over the game.
It shows while no game runs, while the mouse moves and while the pointer is on it. After 2 s without mouse movement during a game it hides, so it does not sit over the picture.
In fullscreen the same button leaves it again. Esc works too.
A click on the button does not reach the game and does not start it.
Shared
One corner button for both: the editor shows it in fullscreen, the player page always.
When to show it is a pure rule (running, time since the last mouse move, pointer over it).
If the browser refuses fullscreen, nothing changes in the layout.
Not part of this
A keyboard shortcut: every key belongs to the game.
Fullscreen for other tabs.
The game view can be put into fullscreen on its own: the screen shows the game and nothing else, not the editor or the page around it.
**Editor**
- The game tab header gets a fullscreen button at its right end.
- It puts the browser into fullscreen and shows only the game view in it: no toolbar, no panels, no tab header, no console. The game view keeps the zoom picked in the tab (Auto, Fit or a step).
- Play, pause and the keys work as in the game tab. Esc (the browser's own key) or the button in the corner leaves fullscreen, and the editor is back as it was.
**Released game (#266)**
- A fullscreen button in the top right corner of the page, over the game.
- It shows while no game runs, while the mouse moves and while the pointer is on it. After 2 s without mouse movement during a game it hides, so it does not sit over the picture.
- In fullscreen the same button leaves it again. Esc works too.
- A click on the button does not reach the game and does not start it.
**Shared**
- One corner button for both: the editor shows it in fullscreen, the player page always.
- When to show it is a pure rule (running, time since the last mouse move, pointer over it).
- If the browser refuses fullscreen, nothing changes in the layout.
**Not part of this**
- A keyboard shortcut: every key belongs to the game.
- Fullscreen for other tabs.
The Game tab header has a fullscreen button on the right. Only the game view is shown (no toolbar, panels, tab headers, console). The zoom from the picker stays, a running game keeps running.
The corner button at the top right or Esc leaves fullscreen, the view goes back into the tab.
Stop ends fullscreen: Stop switches to the Scene tab, and any switch away from the Game tab ends fullscreen, so no empty screen is left.
Game link
The same corner button sits at the top right. Without a running game it is always there. Over a running game it hides after 2 s without mouse movement and returns on the next move.
A click on the button never reaches the game.
Code
src/viewport/fullscreen.ts (Fullscreen API and the visibility rule), src/viewport/FullscreenCorner.ts (the button, used by both pages), two SVG icons.
Editor.showGameFullscreen moves the GameViewport into the root while fullscreen is on.
Tests
./check.sh → 195 files, 2815 tests, exit 0
GM_STEPS=60,61 (e2e) → ALL PASSED – 20 checks
full e2e run (local) → ALL PASSED – 1580 checks
Unit: 3 tests for the rule.
e2e 60: +2 checks (button hides and returns, click toggles fullscreen without starting the stopped game).
e2e 61 (new): 4 checks (view fills 1280×800 and the game keeps running, corner button restores the tab position, Stop ends fullscreen, no exceptions).
Counter-checks all fail as expected: rule without "no game running", no stopPropagation (60h), no end on tab switch (61c), no reparenting (61a).
Not checked on its own: keys reaching the game in the editor fullscreen (rule unchanged), and Esc in a real browser (same fullscreenchange path as the button).
Done in cab1c01, wiki in bfc26ec.
**Editor**
- The Game tab header has a fullscreen button on the right. Only the game view is shown (no toolbar, panels, tab headers, console). The zoom from the picker stays, a running game keeps running.
- The corner button at the top right or Esc leaves fullscreen, the view goes back into the tab.
- **Stop ends fullscreen**: Stop switches to the Scene tab, and any switch away from the Game tab ends fullscreen, so no empty screen is left.
**Game link**
- The same corner button sits at the top right. Without a running game it is always there. Over a running game it hides after 2 s without mouse movement and returns on the next move.
- A click on the button never reaches the game.
**Code**
- `src/viewport/fullscreen.ts` (Fullscreen API and the visibility rule), `src/viewport/FullscreenCorner.ts` (the button, used by both pages), two SVG icons.
- `Editor.showGameFullscreen` moves the `GameViewport` into the root while fullscreen is on.
**Tests**
```
./check.sh → 195 files, 2815 tests, exit 0
GM_STEPS=60,61 (e2e) → ALL PASSED – 20 checks
full e2e run (local) → ALL PASSED – 1580 checks
```
- Unit: 3 tests for the rule.
- e2e 60: +2 checks (button hides and returns, click toggles fullscreen without starting the stopped game).
- e2e 61 (new): 4 checks (view fills 1280×800 and the game keeps running, corner button restores the tab position, Stop ends fullscreen, no exceptions).
- Counter-checks all fail as expected: rule without "no game running", no `stopPropagation` (60h), no end on tab switch (61c), no reparenting (61a).
Not checked on its own: keys reaching the game in the editor fullscreen (rule unchanged), and Esc in a real browser (same `fullscreenchange` path as the button).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The game view can be put into fullscreen on its own: the screen shows the game and nothing else, not the editor or the page around it.
Editor
Released game (#266)
Shared
Not part of this
Done in
cab1c01, wiki in bfc26ec.Editor
Game link
Code
src/viewport/fullscreen.ts(Fullscreen API and the visibility rule),src/viewport/FullscreenCorner.ts(the button, used by both pages), two SVG icons.Editor.showGameFullscreenmoves theGameViewportinto the root while fullscreen is on.Tests
stopPropagation(60h), no end on tab switch (61c), no reparenting (61a).Not checked on its own: keys reaching the game in the editor fullscreen (rule unchanged), and Esc in a real browser (same
fullscreenchangepath as the button).