From a9e0b6d9fa774f3cc10093105e6b2aedde37dedc Mon Sep 17 00:00:00 2001 From: MelekTaus Date: Thu, 15 Oct 2026 08:35:13 +0200 Subject: [PATCH] Show the README without Gitea's Unicode warnings (#426) The repo's start page marked eight characters in the README and offered an Escape button. All eight were en dashes (U+2013), which Gitea flags as ambiguous because they look like a hyphen. The wiki dropped them in #416, the README now follows the same rule. - Prose: the dash became a colon, a comma or a full stop. - Comments in the code blocks: a semicolon. Tests: - grep over README.md for en dash, em dash, times, minus and single guillemet finds nothing. - prettier --check README.md is clean. Co-Authored-By: Claude Opus 5.5 --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 981018cf..34df50ce 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,14 @@ [![feuerwerk](https://git.nockal.com/meleki/feuerwerk/actions/workflows/ci.yml/badge.svg?branch=main)](https://git.nockal.com/meleki/feuerwerk/actions?workflow=ci.yml) A browser-based tool "one step before a game engine": create **assets** (scenes, cameras, -sprites), place them into scenes, tweak their properties in an inspector and press **Play** – +sprites), place them into scenes, tweak their properties in an inspector and press **Play**, all in one program, all drawn inside a single WebGL canvas. ![](screenshot.png) Live: · Widget playground: -**The documentation is the wiki:** – every concept, +**The documentation is the wiki:** : every concept, node, tab and shortcut, plus the architecture and the development workflow. This file is the short way in. @@ -25,7 +25,7 @@ way in. - A **container** is a reusable group edited once and placed many times; its content is resolved from the template on every read. A **screen** is a container switched on and off. - A **behavior** is logic as a node graph, placed like anything else and parented to the object it - acts on. Play has no built-in behaviour – everything that happens is a graph. + acts on. Play has no built-in behaviour: everything that happens is a graph. - An **account** owns projects: the editor asks for a user name and a password first, and each account sees only its own projects. The Account menu at the far right of the toolbar changes the password and signs out. @@ -39,8 +39,8 @@ Node 22 is required. ```bash npm install -npm run dev # http://localhost:5175/feuerwerk/dist/ – API calls are proxied to production -npm run check # typecheck + lint + format:check + unit tests – the gate CI runs too +npm run dev # http://localhost:5175/feuerwerk/dist/; API calls are proxied to production +npm run check # typecheck + lint + format:check + unit tests; the gate CI runs too npm run build # writes dist/ and regenerates index.html; the folder is what nginx serves ``` @@ -48,14 +48,14 @@ The browser suite and the three example games need a machine with a GPU: ```bash node tools/seed-e2e.mjs && node tools/e2e.mjs # the editor, 2090 checks (GM_STEPS=20 for one step) - # every tool signs in first – see the Accounts page + # every tool signs in first; see the Accounts page node tools/seed-jumprun.mjs && node tools/smoke-jumprun.mjs node tools/seed-tetris.mjs && node tools/smoke-tetris.mjs node tools/seed-actor.mjs && node tools/smoke-actor.mjs ``` -Every push runs all of it on the Gitea runners – the gate as one job, build and suite as another -beside it – so locally take the gate plus the step your change touches and leave the full run to +Every push runs all of it on the Gitea runners: the gate as one job, build and suite as another +beside it. So locally take the gate plus the step your change touches and leave the full run to CI. Details, the GPU requirement and the detached runner are in [Development](https://git.nockal.com/meleki/feuerwerk/wiki/Development).