Describe the fullscreen game view (#267)

Concepts gets a Fullscreen section and a sentence under Release. Architecture lists fullscreen.ts and FullscreenCorner.ts. Development has the new e2e module 61 and the sum of 1580 checks.
admin committed 2026-09-29 14:44:30 +02:00
1 parent d0ed6bd81d
commit bfc26ec71f
3 files changed
+12 -2

No files matched your search

+2
@@ -124,6 +124,8 @@ src/viewport/ WorldViewport (the drawing of a world or a holder, the ba
a `ViewSource` — the project and word of a change — so a released game draws without the
editor, #266), gamePointer (the mouse handed to a running world), projectFiles (the file
libraries pointed at the server, and what a project names fetched ahead),
fullscreen + FullscreenCorner (the browser's Fullscreen API, when the corner button shows,
and the button itself, shared by the Game tab and the released game, #267),
view (transforms), items (what to draw), symbols (how to draw it),
symbolIcons (the SVG files in icons/, parsed once, in the theme's colours, #175),
FileLibrary (load once, never retry a failure, tell the listeners) ← TextureLibrary, FontLibrary;
+9 -1
@@ -71,6 +71,13 @@ Fixed steps start on a whole screen pixel, so pixel art at 100% stays sharp. The
pixel, and Fit then names the factor in screen pixels (`Fit · 156%`). The choice is saved with
the project, like *Play starts*, but it is no undo step: Ctrl+Z undoes edits, not a look at the game.
**Fullscreen** (#267). The button at the right end of the Game tab's header puts the game view on
its own into fullscreen: no toolbar, no panels, no tab header, no console, at the scale the picker
holds. A run goes on as before and the keys still go to the game. A button in the top right corner
leaves fullscreen, and so does Esc, the browser's own key; the view is back in its tab as it was.
Over a running game that corner button steps aside once the mouse has rested for 2 s and comes back
with the next move. Stopping the run ends fullscreen too, since Stop goes back to the Scene tab.
**While playing** (#265). How closely the editor follows a running game is one preset in
*Menu → Project settings…*. The game itself runs every frame in each of them, and so does the
picture of it on screen; only the panels are held back. With hundreds of objects spawning and
@@ -119,7 +126,8 @@ sound before one, and the keyboard would have nowhere to go. Every key belongs t
included. A game that stops itself (`Stop game`) offers to play again; `Restart game` and
`Load scene` work as in the editor. Persistent variables are saved in the player's browser under
the link, apart from the editor's own saves. Plugins are not loaded on the link; the dialog warns
when the project uses any, and when it has no scene to play.
when the project uses any, and when it has no scene to play. The page has the same fullscreen button
as the Game tab in its top right corner (#267); a click on it never reaches the game.
**Toolbar and panels.** The toolbar carries five **icon buttons** and no captions (#183): the
**menu** (three bars) on the left with *New project*, *Open project…*, *Snapshots…*, *Release…* and *Project settings…*,
+1 -1
@@ -16,7 +16,7 @@ php tools/make-user.php <name> <password> [admin|user] # an account; ever
php tests/php/accounts.test.php # the API's account rules, no server needed (CI's gate job)
php tests/php/snapshots.test.php # the snapshot store (#231), the same way
php tests/php/releases.test.php # the release store (#266), the same way
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1574 editor checks, screenshots in /tmp/gm-e2e-*.png
node tools/seed-e2e.mjs && node tools/e2e.mjs # 1580 editor checks, screenshots in /tmp/gm-e2e-*.png
GM_STEPS=20 node tools/e2e.mjs # or 1-12, or 6,20 — a subset while working on one step
./e2e.sh start [GM_STEPS] # the same run detached, see below
./e2e.sh status # live progress, or the last run's result