Repository navigation
EN Install Upgrade Notes 4 5
Français · Reference · Published, partly reviewed by a person · Applies from: 4.5.0
What 4.5.0 "Wiki", 4.5.1, 4.5.2 and 4.5.3 changed. Nothing to change in a game up to 4.5.1 (the documentation moved);
from 4.5.2, npx quest-n-click migrate moves its imports to the scoped package names; 4.5.3 changes how a release is
made, not a game.
The upgrade itself is Upgrade.
Audience, context, and the statuses of what this page rests on
Audience: author · Context: created project
Applies from 4.5.0
Nothing to change: a game builds, plays and saves as on 4.4.0 (the same fingerprints, golden saves and reference
runs). The engine installs from releases/download/v4.5.0/…. What is new:
-
The documentation is the wiki. It lives in the GitHub wiki, in English and in French, and in the documentation
of each release (
/docs/<version>/on the project's site). The old pages underdocs/are now transition pages: each old heading stays and links to its new place, so an old link still lands, and the complete 4.4.0 text stays readable at the tagv4.4.0. -
read_doc {name}still works: the eight names (CONTENT_GUIDE,ENGINE,TOOLS,STUDIO,WORKFLOW,AUDIO,UPGRADING,CLASSICS) answer one text block, with 4.4.0's arguments; the page is rebuilt from the wiki's sections, and a section too long for its bound is shortened to its heading, first paragraph and theread_doc { id, section }that gives the rest. -
Two new MCP tools:
search_docs(by words or a question, in French or English) andlist_docs; andread_doc {id, section, lang}reads one section of a page by its id. An agent searches first, then reads by id. -
The package carries its documentation,
docs-bundle/:npx quest-n-click mcpin a created project reads it, where 4.4.0 found nothing to read. -
Fixes:
npx quest-n-click doctorruns in a created project (Playwright is optional there);npm run page:worldandpage:puzzleswrite a.htmlfile by default; a shared Studio accepts a lease on the scenario map's span (groupings).
Applies from 4.5.1
Nothing to change: a game builds, plays and saves as on 4.5.0 (the same fingerprints, golden saves and reference
runs). The engine installs from releases/download/v4.5.1/…. What a game may use, each optional:
-
games/<id>/spans.json: the spans of the game's own files (the modules itsindex.tsimports, its notes, its scripts), which a shared Studio refused to write before. The engine's rules come first; a file neither names is still refused (span). -
games/<id>/audit-allow.json: a word the leak audit blocks that is also, by chance, a word of the game (a real person's first name), allowed by its SHA-1 prefix and a reason, in the game's folder and its built assets only (audit-allow.json). -
urlinsite.json: the game's public address. With it, the page'sog:imageis absolute and anog:urlis added, so LinkedIn and Facebook show the share image; without it, the page is as on 4.5.0 (site.json). - The documentation: the fixes of the maintainer's wiki audit (links whose label is code, the first tutorial, saves, the support window, search). A link to a page or a section of 4.5.0 still lands.
Applies from 4.5.2
The engine's packages are named under the npm organisation's scope (D53): quest-n-click is @quest-n-click/engine,
and create-quest-n-click, quest-n-click-bridge, quest-n-click-connectors and quest-n-click-studio-server are
@quest-n-click/create, @quest-n-click/bridge, @quest-n-click/connectors and @quest-n-click/studio-server. The
commands keep their names (quest-n-click dev, npx quest-n-click migrate, npx quest-n-click-bridge serve), and so
do the release's files (quest-n-click-4.5.2.tgz, …). A game builds, plays and saves as on 4.5.1. What a created
project changes:
-
Install the new engine in place of the old package (the archive's package is now
@quest-n-click/engine):# in the created project npm uninstall quest-n-click npm install https://github.com/Quest-n-Click/quest-n-click/releases/download/v4.5.2/quest-n-click-4.5.2.tgz -
Let
migratemove the rest, then check:# in the created project npx quest-n-click migrate npx quest-n-click migrate --check npm install npm run verifymigraterenames the importsquest-n-click/content,/player,/minigames,/testing,/reality(andquest-n-click-bridge/cli) to@quest-n-click/engine/…(@quest-n-click/bridge/cli) in every source file; intsconfig.json, the pathquest-n-click/*and thenode_modules/quest-n-click/…targets to@quest-n-click/engine; inpackage.json, it drops a dependency on an unscoped package once its scoped name is installed, and says which ones are left (package.json depends on quest-n-click-bridge: npm uninstall quest-n-click-bridge && npm install @quest-n-click/bridge). It renames no command: the scripts stay as they are.
-
Not migrated yet? Through 4.5.x the unscoped imports
quest-n-click/…still resolve, in a build (Vite) and in the engine's owntsconfig.json, so a game that has not runmigratestill builds; its owntsconfig.jsonstill points intonode_modules/quest-n-click, which the new install removed, untilmigraterenames it. -
A hosted Studio renames a game's unscoped imports itself, at the engine's upgrade, as it did for the
web-scumm/…ones (Upgrade the hosted engine). -
The Bridge, the connectors and the Studio Server install from their archives as before; in
node_modulesthey are now under@quest-n-click/(node_modules/@quest-n-click/bridge, …). -
A Studio worker's build hook installs
requirements.txt, which now carries every hash (D54):python3 -m pip install --target .python --require-hashes --only-binary=:all: -r node_modules/@quest-n-click/engine/requirements.txt.ops/studio/worker-requirements.lockis gone: a hook that names it fails until it is changed (First deployment). -
A new project is created as before from the archive (
npx --package=<archive URL> quest-n-click create …). Once the packages are on npm,npm init @quest-n-click my-gamecreates it in one command, andnpx create-quest-n-click my-gamestill works: that unscoped name is a relay to@quest-n-click/create. -
The repository's address is
github.com/Quest-n-Click/quest-n-click(D51). The old addresses redirect to it, release downloads included, so an archive URL already in apackage.jsonstill installs; write the new one when you next change it. A 4.5.2 file verifies withgh attestation verify <file> -R Quest-n-Click/quest-n-click; a release made before the move keeps its attestations under the userwanoo(Releasing). The demo and the latest documentation are on the project's website,quest-n-click.cleverapps.io, not on GitHub Pages (Play online). -
npm: 4.5.2 is the first release whose packages release.yml stages on npm; they are published once an owner of
the organisation approves them with 2FA, not before. Until
npm view @quest-n-click/engine versionanswers 4.5.2, install from the archive (Install from npm, once published). The unscoped names become deprecated pointers to the scoped ones.
Applies from 4.5.3
Nothing to change in a game: it builds, plays and saves as on 4.5.2 (no content field, save, schema or game
fingerprint moves). The engine installs from npm, npm install @quest-n-click/engine@4.5.3 in a created project once
an owner has approved it, or from releases/download/v4.5.3/… (Install from npm). What changes
is how a release is made, for the maintainers (Releasing):
-
The candidate is the release's only test pass (D55). The order stays: a candidate started by hand on main's
commit, then a signed tag that names it. The tag's push starts
release.yml, no longer the tag's owncirun (a tag runs nociany more). It checks that the tag's commit is on main's first-parent line and that main'scisucceeded on it, that the previous stable tag is an ancestor and that the candidate is a green run started by hand on main, then publishes that candidate's files without testing anything again: minutes, not hours. -
ship tagalways waits for main'sci:--nowis refused, andship watchwaits for the release run alone. -
A candidate made before 4.5.3 cannot be released: the Remix catalogues' proofs are now made by the candidate (its
remix-proofjob) and a candidate without them is refused. Start a new one on the commit to tag. -
The
docs-publishenvironment needs av*tag rule, once: Settings → Environments → docs-publish → Deployment branches and tags, besidemainanddocs/*. The documentation job now runs on the tag's ref; without the rule it is refused, the release itself being published (mode=promotefrom main recovers the documentation) (Releasing). - npm's provenance names the tag and its commit, no longer main's head as for 4.5.2.
-
Either co-maintainer signs a tag:
.github/allowed_signersnames LostInBrittany's key beside wanoo's, andship preflight-stablecounts a name published bylostinbrittanyorwanooas the project's. -
A translation pair checked by its AI author no longer stops a publication (D56):
npm run wiki -- check --publishlists such pairs among its gaps, a pair "to review" still fails it, and a published claim still needs a person's review. A page's header still says who read it (Writing documentation). -
A pull request's candidate starts only when the
full-cilabel is added; remove the label and add it again to run it once more.
Generated publication · publication générée — current documentation · documentation courante: quest'n'click 4.5.3 r1, documentation revision · révision de la documentation b061c4ae6fbeb0be47a11ba8a442ba7e23ecb0a1.
Latest documentation · dernière documentation: https://quest-n-click.cleverapps.io/docs · https://quest-n-click.cleverapps.io/fr/docs; earlier versions · versions précédentes: each release's quest-n-click-docs-<version>.tar.gz · l'archive quest-n-click-docs-<version>.tar.gz de chaque release, https://github.com/Quest-n-Click/quest-n-click/releases
An edit made in this wiki is overwritten at the next publication · une modification faite dans ce wiki est écrasée à la publication suivante.
Edit the source · Modifier la source · Report an error · Signaler une erreur
Index (6)
Start (6)
Play (9)
Install (18)
- Requirements
- Install from the release archive
- Install from npm
- Install from the repository to work on the engine
- doctor: checking your machine
- Image toolchain
- Audio toolchain: ffmpeg, fluidsynth, Furnace, uv
- Upgrade
- Upgrade notes: 4.5
- Upgrade notes: 4.4
- Upgrade notes: 4.3
- Upgrade notes: 4.2
- Upgrade notes: 4.1
- Upgrade notes: v3
- Upgrade notes: v2 to v3
- Coming from web-scumm
- Package reference
- Install troubleshooting
Create a game (55)
- Your first game
- Layout of a created project and of the engine repository
- The working loop
- Content principles and the identity contract
- Rooms
- Geometry: placement, walk zones, masks, layers, camera
- Something is visible but unreachable
- Reactions
- Game commands
- Conditions
- Flags, variables and events: which to use
- Custom code
- Characters
- Items and inventory
- World map
- Dialogues
- Scripts and events
- Moving characters: patrols and walks
- Exits
- Chapters and objectives
- State and saves: persistent or temporary, renaming an id, migrations
- Staging: wide rooms and animations
- The stage: lights, particles, floors
- Skin and fonts
- Title and credits
- Heroes: several characters and hero choice
- Built-in minigames
- A custom minigame
- Translations
- Music in stems
- Sound effects
- Voices: per language and per hero
- Images: prompts, cutting sheets, transparency, scale
- Asset provenance
- The storyboard, source of truth
- Puzzle design
- Classic mechanics
- Review pages
- DSL reference
- Checking your game
- What the solver proves
- Solver options
- Playtests
- Remix
- Speedrun for authors
- The sealed ending
- Production template
- Example games
- Working with an AI
- Build and release a game
- Publish on GitHub Pages
- The static game on Clever Cloud
- Other static hosts
- Sub-path, cache and service worker, incomplete deploys, going back
- Testing on a phone over the LAN
Local Studio (24)
- The local Studio: overview and launch
- Edit a room
- Placement and stage
- Preview, apply, undo
- Storyboard
- Assets and cutting
- Check: validator, solver, critical path, heat, health, coverage
- Before and after captures
- Semantic diff
- Play and replay a session
- Rule explainer
- Language and objectives
- Voices and the heroes × languages matrix
- Map
- Notes
- Remix in the Studio
- Music
- The Assistant: bring your own key
- Demo mode and studio-apply
- Local and LAN security
- Studio API
- Local MCP: setting up each client
- MCP tools
- Studio troubleshooting
Team Studio (21)
- What runs where
- Concepts: revision, transaction, span, lease, preview, build
- Starting as an invited dev
- Working together day to day
- Roles and actions: the full matrix
- Invitations
- Managing members
- Write refused on the hosted Studio: stale base revision (409)
- Write refused on the hosted Studio: span locked (423)
- Recovering after a lost lease, a disconnection or a stale preview
- Comments
- Map and semantic diff
- Publishing builds
- Remote MCP
- The game in Git
- Upgrading the engine of a hosted game
- Hosted assets
- The server's command line
- Health and metrics routes
- Trying it locally with compose.yml
- Known limits
Clever Cloud (23)
- Clever Cloud: overview, cost and prerequisites
- Apps and add-ons
- Domains and TLS
- Keycloak
- Generic OIDC and GitLab
- Configuration
- First deployment
- Backups
- RPO and RTO
- Restore the Studio on a fresh installation
- Redeploys
- Upgrading the server and checking state after a migration
- Limits of going back
- Monitoring
- Security
- Rotating keys
- Recovering admin access
- Changing domain or OIDC provider
- Worker, PostgreSQL or Cellar down
- Exporting the game and leaving the installation
- Retention
- Clever Cloud troubleshooting
- Costs and teardown
Reality Bridge and connectors (16)
- The Reality Bridge: what it is
- Quick start
- Guarantees
- Install and run the Bridge
- Backup and restore
- Several tenants
- Signals and the manifest
- The Bridge's command line
- Connectors overview
- Email connector
- Telnet connector
- SSH connector
- Open Badges connector
- The connector SDK
- Security: Biscuit and signatures
- Bridge and connector troubleshooting
Contribute (25)
- Welcome
- Developer setup
- The dev loop
- Before a pull request
- Conventions
- Writing documentation
- Architecture
- Code tour
- Import boundaries
- Which tests run when
- Mutation testing
- The coverage ratchet
- The quality baseline
- CI explained
- Field passes
- Benchmarks
- Releasing
- npm packages
- Decisions and ADRs
- Governance
- Bot pull requests
- Contributing with AI agents
- Security policy
- Code of conduct
- Licences and credits