Videos, Concepts: pointer files and the custom mouse pointer
- Videos: where the pointer SVGs live, what data-hot means, the shared size factor, and that the editor shows the same pointer. - Concepts: the "Custom mouse pointer" switch in General settings. - Development: 2046 e2e checks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent
34ae82ef8a
commit
1f0946c63e
3 files changed
+14
-4
No files matched your search
+3
-2
@@ -218,8 +218,9 @@ preset (see above), the **Link zoom** of the released game (see above), the **sy
|
||||
of the scene view's icons (see [Scene editing](Scene-editing)), the collision layers and the
|
||||
render layers in *Project settings…*. What is about the person at the screen rather than the
|
||||
project is in *General settings…* (#309), kept in this browser and the same in every project: the
|
||||
**zoom transition** (see below) and whether the asset panel shows **empty categories and types**
|
||||
(see below). A project is deleted in *Open project…*: **Delete** asks first, and Cancel, Esc
|
||||
**zoom transition** (see below), whether the asset panel shows **empty categories and types**
|
||||
(see below) and the **custom mouse pointer**: on by default, the editor shows the pointer an
|
||||
editor recording draws (see [Videos](Videos)) instead of the system's. A project is deleted in *Open project…*: **Delete** asks first, and Cancel, Esc
|
||||
and the deletion itself all lead back to the project list. The active scene is picked where the scenes are — by double-clicking
|
||||
one in the **Assets** panel. The **Assets** panel's `+` creates an asset and opens its tab; its menu lists the categories of
|
||||
the panel (*Basics*, *Visuals*, *Logics*, *Physics*, *Audio*), and each opens a **submenu** beside it
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ php tests/php/releases.test.php # the release stor
|
||||
php tests/php/files.test.php # uploaded files in a folder per account (#344), the same way
|
||||
php tests/php/videos.test.php # the video store, its queue and the worker (#402), with the
|
||||
# real ffmpeg: the CI image and game-maker-video have it
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 2045 editor checks, screenshots in /tmp/gm-e2e-*.png
|
||||
node tools/seed-e2e.mjs && node tools/e2e.mjs # 2046 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
|
||||
|
||||
+10
-1
@@ -247,6 +247,15 @@ The recording is always uploaded; **Download** in the video picker saves it as i
|
||||
- **The mouse pointer** is drawn in when asked: the system draws it over the page, so it is not in
|
||||
the canvas; the recording draws its own in the shape the editor shows (arrow, hand, resize
|
||||
arrows, I-beam, crosshair).
|
||||
- **The pointer shapes are SVG files** in `src/core/recording/cursors/`, one per shape, to be
|
||||
opened and edited. The `viewBox` is the picture, `data-hot="x y"` on the root is the point that
|
||||
sits on the mouse. `resize.svg` is drawn turned for the other resize directions.
|
||||
A unit of the `viewBox` is shown `CURSOR_SIZE` (0.8) CSS pixels large, on screen and in the
|
||||
recording alike (`core/recording/cursors.ts`), so the files keep the units they were drawn in.
|
||||
Each is drawn sharp at the size of the recording; an edited file takes a build.
|
||||
- **The editor shows the same pointer** while you work, unless *General settings… → Custom mouse
|
||||
pointer* is off: the files are the canvas's CSS `cursor` (`url(…) x y, keyword`), so the system
|
||||
still draws the pointer and the canvas never does. What you see is what the recording draws.
|
||||
- **The red dot is not in it.** It is an HTML element over the canvas, the one thing on the page
|
||||
outside it, so the copy of the canvas never holds it; the room it needs beside the menu stays
|
||||
empty in the recording. Clicks go through it.
|
||||
@@ -264,7 +273,7 @@ The recording is always uploaded; **Download** in the video picker saves it as i
|
||||
|
||||
The code is `src/editor/EditorRecorder.ts` with its dialog `src/editor/EditorRecordingDialog.ts`;
|
||||
the sizes and the options are plain functions in `src/core/recording/editorRecording.ts`, the
|
||||
pointer shapes are `src/core/recording/cursors.ts`.
|
||||
pointer shapes are read in `src/core/recording/cursors.ts`.
|
||||
|
||||
## The worker
|
||||
|
||||
|
||||
Reference in new issue
Block a user