@bitmagic/cli 0.1.46-dev.0 → 0.1.46-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +204 -0
- package/README.md +27 -3
- package/dist/scaffold/claude-settings.js +21 -10
- package/dist/scaffold/claude-settings.js.map +1 -1
- package/dist/scaffold/engine-download.js +15 -1
- package/dist/scaffold/engine-download.js.map +1 -1
- package/dist/scaffold/project-files.d.ts +18 -0
- package/dist/scaffold/project-files.js +94 -36
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/project.d.ts +10 -0
- package/dist/scaffold/project.js +16 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/upgrade-project.js +10 -1
- package/dist/scaffold/upgrade-project.js.map +1 -1
- package/package.json +8 -5
package/LICENSE.md
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# @bitmagic/cli License
|
|
2
|
+
|
|
3
|
+
Copyright © 2026 Bitmagic Oy. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Required Notice: Copyright Bitmagic Oy (https://bitmagic.ai)
|
|
6
|
+
|
|
7
|
+
`@bitmagic/cli` is the Bitmagic command-line tool, which scaffolds, builds, verifies and
|
|
8
|
+
publishes Bitmagic games from your own machine. It is licensed under the **PolyForm Shield License 1.0.0**, reproduced in full
|
|
9
|
+
below, as modified by the Additional Permission immediately following this notice.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Additional Permission: your games
|
|
14
|
+
|
|
15
|
+
**This section grants you rights in addition to the licence text below. Where the two disagree,
|
|
16
|
+
this section wins.**
|
|
17
|
+
|
|
18
|
+
Notwithstanding the Noncompete and Competition sections, the following are **permitted purposes**,
|
|
19
|
+
and no game you build is ever treated as a competing product:
|
|
20
|
+
|
|
21
|
+
1. **Building, publishing and selling games.** You may use this software to create games and other
|
|
22
|
+
interactive works, distribute them to any audience, and charge whatever you like for them.
|
|
23
|
+
2. **Distributing anywhere.** You may distribute those games through any channel — bitmagic.ai,
|
|
24
|
+
your own site, Steam, itch.io, a console store, a desktop or mobile build, anywhere. Publishing
|
|
25
|
+
through Bitmagic is never a condition of this licence.
|
|
26
|
+
3. **Modifying it.** You may change this software however you need for your game, and distribute
|
|
27
|
+
your game with those changes in it.
|
|
28
|
+
4. **Keeping what you were given.** Each version you legitimately obtained is licensed to you
|
|
29
|
+
perpetually. A Bitmagic subscription pays for access to *new* versions and for Bitmagic's hosted
|
|
30
|
+
services; ending it does not end this licence, and does not affect games you have already
|
|
31
|
+
shipped.
|
|
32
|
+
|
|
33
|
+
What this permission does **not** cover is providing the software *as* the software: distributing,
|
|
34
|
+
selling, sublicensing or hosting it — modified or not, for a fee or for free — as a game engine,
|
|
35
|
+
framework, SDK, library, template, starter kit, or game-creation tool or service.
|
|
36
|
+
|
|
37
|
+
The short version, which is a summary and not itself binding: **ship the games, not the engine.**
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
# PolyForm Shield License 1.0.0
|
|
42
|
+
|
|
43
|
+
<https://polyformproject.org/licenses/shield/1.0.0>
|
|
44
|
+
|
|
45
|
+
## Acceptance
|
|
46
|
+
|
|
47
|
+
In order to get any license under these terms, you must agree
|
|
48
|
+
to them as both strict obligations and conditions to all
|
|
49
|
+
your licenses.
|
|
50
|
+
|
|
51
|
+
## Copyright License
|
|
52
|
+
|
|
53
|
+
The licensor grants you a copyright license for the
|
|
54
|
+
software to do everything you might do with the software
|
|
55
|
+
that would otherwise infringe the licensor's copyright
|
|
56
|
+
in it for any permitted purpose. However, you may
|
|
57
|
+
only distribute the software according to [Distribution
|
|
58
|
+
License](#distribution-license) and make changes or new works
|
|
59
|
+
based on the software according to [Changes and New Works
|
|
60
|
+
License](#changes-and-new-works-license).
|
|
61
|
+
|
|
62
|
+
## Distribution License
|
|
63
|
+
|
|
64
|
+
The licensor grants you an additional copyright license
|
|
65
|
+
to distribute copies of the software. Your license
|
|
66
|
+
to distribute covers distributing the software with
|
|
67
|
+
changes and new works permitted by [Changes and New Works
|
|
68
|
+
License](#changes-and-new-works-license).
|
|
69
|
+
|
|
70
|
+
## Notices
|
|
71
|
+
|
|
72
|
+
You must ensure that anyone who gets a copy of any part of
|
|
73
|
+
the software from you also gets a copy of these terms or the
|
|
74
|
+
URL for them above, as well as copies of any plain-text lines
|
|
75
|
+
beginning with `Required Notice:` that the licensor provided
|
|
76
|
+
with the software. For example:
|
|
77
|
+
|
|
78
|
+
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
79
|
+
|
|
80
|
+
## Changes and New Works License
|
|
81
|
+
|
|
82
|
+
The licensor grants you an additional copyright license to
|
|
83
|
+
make changes and new works based on the software for any
|
|
84
|
+
permitted purpose.
|
|
85
|
+
|
|
86
|
+
## Patent License
|
|
87
|
+
|
|
88
|
+
The licensor grants you a patent license for the software that
|
|
89
|
+
covers patent claims the licensor can license, or becomes able
|
|
90
|
+
to license, that you would infringe by using the software.
|
|
91
|
+
|
|
92
|
+
## Noncompete
|
|
93
|
+
|
|
94
|
+
Any purpose is a permitted purpose, except for providing any
|
|
95
|
+
product that competes with the software or any product the
|
|
96
|
+
licensor or any of its affiliates provides using the software.
|
|
97
|
+
|
|
98
|
+
## Competition
|
|
99
|
+
|
|
100
|
+
Goods and services compete even when they provide functionality
|
|
101
|
+
through different kinds of interfaces or for different technical
|
|
102
|
+
platforms. Applications can compete with services, libraries
|
|
103
|
+
with plugins, frameworks with development tools, and so on,
|
|
104
|
+
even if they're written in different programming languages
|
|
105
|
+
or for different computer architectures. Goods and services
|
|
106
|
+
compete even when provided free of charge. If you market a
|
|
107
|
+
product as a practical substitute for the software or another
|
|
108
|
+
product, it definitely competes.
|
|
109
|
+
|
|
110
|
+
## New Products
|
|
111
|
+
|
|
112
|
+
If you are using the software to provide a product that does
|
|
113
|
+
not compete, but the licensor or any of its affiliates brings
|
|
114
|
+
your product into competition by providing a new version of
|
|
115
|
+
the software or another product using the software, you may
|
|
116
|
+
continue using versions of the software available under these
|
|
117
|
+
terms beforehand to provide your competing product, but not
|
|
118
|
+
any later versions.
|
|
119
|
+
|
|
120
|
+
## Discontinued Products
|
|
121
|
+
|
|
122
|
+
You may begin using the software to compete with a product
|
|
123
|
+
or service that the licensor or any of its affiliates has
|
|
124
|
+
stopped providing, unless the licensor includes a plain-text
|
|
125
|
+
line beginning with `Licensor Line of Business:` with the
|
|
126
|
+
software that mentions that line of business. For example:
|
|
127
|
+
|
|
128
|
+
> Licensor Line of Business: YoyodyneCMS Content Management
|
|
129
|
+
System (http://example.com/cms)
|
|
130
|
+
|
|
131
|
+
## Sales of Business
|
|
132
|
+
|
|
133
|
+
If the licensor or any of its affiliates sells a line of
|
|
134
|
+
business developing the software or using the software
|
|
135
|
+
to provide a product, the buyer can also enforce
|
|
136
|
+
[Noncompete](#noncompete) for that product.
|
|
137
|
+
|
|
138
|
+
## Fair Use
|
|
139
|
+
|
|
140
|
+
You may have "fair use" rights for the software under the
|
|
141
|
+
law. These terms do not limit them.
|
|
142
|
+
|
|
143
|
+
## No Other Rights
|
|
144
|
+
|
|
145
|
+
These terms do not allow you to sublicense or transfer any of
|
|
146
|
+
your licenses to anyone else, or prevent the licensor from
|
|
147
|
+
granting licenses to anyone else. These terms do not imply
|
|
148
|
+
any other licenses.
|
|
149
|
+
|
|
150
|
+
## Patent Defense
|
|
151
|
+
|
|
152
|
+
If you make any written claim that the software infringes or
|
|
153
|
+
contributes to infringement of any patent, your patent license
|
|
154
|
+
for the software granted under these terms ends immediately. If
|
|
155
|
+
your company makes such a claim, your patent license ends
|
|
156
|
+
immediately for work on behalf of your company.
|
|
157
|
+
|
|
158
|
+
## Violations
|
|
159
|
+
|
|
160
|
+
The first time you are notified in writing that you have
|
|
161
|
+
violated any of these terms, or done anything with the software
|
|
162
|
+
not covered by your licenses, your licenses can nonetheless
|
|
163
|
+
continue if you come into full compliance with these terms,
|
|
164
|
+
and take practical steps to correct past violations, within
|
|
165
|
+
32 days of receiving notice. Otherwise, all your licenses
|
|
166
|
+
end immediately.
|
|
167
|
+
|
|
168
|
+
## No Liability
|
|
169
|
+
|
|
170
|
+
***As far as the law allows, the software comes as is, without
|
|
171
|
+
any warranty or condition, and the licensor will not be liable
|
|
172
|
+
to you for any damages arising out of these terms or the use
|
|
173
|
+
or nature of the software, under any kind of legal claim.***
|
|
174
|
+
|
|
175
|
+
## Definitions
|
|
176
|
+
|
|
177
|
+
The **licensor** is the individual or entity offering these
|
|
178
|
+
terms, and the **software** is the software the licensor makes
|
|
179
|
+
available under these terms.
|
|
180
|
+
|
|
181
|
+
A **product** can be a good or service, or a combination
|
|
182
|
+
of them.
|
|
183
|
+
|
|
184
|
+
**You** refers to the individual or entity agreeing to these
|
|
185
|
+
terms.
|
|
186
|
+
|
|
187
|
+
**Your company** is any legal entity, sole proprietorship,
|
|
188
|
+
or other kind of organization that you work for, plus all
|
|
189
|
+
its affiliates.
|
|
190
|
+
|
|
191
|
+
**Affiliates** means the other organizations than an
|
|
192
|
+
organization has control over, is under the control of, or is
|
|
193
|
+
under common control with.
|
|
194
|
+
|
|
195
|
+
**Control** means ownership of substantially all the assets of
|
|
196
|
+
an entity, or the power to direct its management and policies
|
|
197
|
+
by vote, contract, or otherwise. Control can be direct or
|
|
198
|
+
indirect.
|
|
199
|
+
|
|
200
|
+
**Your licenses** are all the licenses granted to you for the
|
|
201
|
+
software under these terms.
|
|
202
|
+
|
|
203
|
+
**Use** means anything you do with the software requiring one
|
|
204
|
+
of your licenses.
|
package/README.md
CHANGED
|
@@ -92,7 +92,7 @@ browser reloads itself on every change and the assets panel shows each generatio
|
|
|
92
92
|
| `bitmagic usage [--days N]` | Where this account's sparks went, and what Pro allowance is left. |
|
|
93
93
|
| `bitmagic allowance [--allow-sparks \| --block-sparks]` | The two Pro allowance windows, and whether your purchased sparks may fund work once they run out. `--allow-sparks` needs a real terminal — it authorises spending your money, so an agent cannot run it for you. |
|
|
94
94
|
| `bitmagic logout [--env <env>]` | Remove stored credentials for an environment. |
|
|
95
|
-
| `bitmagic whoami [--env <env>]` | Show the identity the CLI is authenticated as. |
|
|
95
|
+
| `bitmagic whoami [--env <env>]` | Show the identity the CLI is authenticated as, and which environment answered — including where that environment was chosen from. |
|
|
96
96
|
| `bitmagic init [dir] [--template <id>] [--name <name>] [--idea "<pitch>"] [--env <env>] [--force]` | Scaffold a new project: mints a game, downloads the vendored engine, writes `AGENTS.md`, `GAME-DESIGN.md` and templates. Starts from `empty-3d` unless told otherwise. `--idea` seeds the design doc's pitch **and** picks the template whose camera and controls fit it — "a doom-like corridor shooter" scaffolds `first-person`, "jump between floating islands" scaffolds `sidescroller`. `--template` overrides both; a suggestion that fails for any reason falls back to `empty-3d` rather than failing the scaffold. |
|
|
97
97
|
| `bitmagic check` | Typecheck (`tsc --noEmit`) against the vendored engine. Fast; does not prove the game runs. |
|
|
98
98
|
| `bitmagic dev [--port <port>] [--editor-port <port>] [--no-open]` | Build, then serve everything and keep it running: `tsc --watch`, `vite` on 3010, and a **Game / Editor** view on 3011 that reloads itself when the project changes. Opens the view in your browser; `--no-open` (or `BITMAGIC_NO_OPEN=1`) skips that. The one command to leave open. See **The dev view** below. |
|
|
@@ -100,10 +100,10 @@ browser reloads itself on every change and the assets panel shows each generatio
|
|
|
100
100
|
| `bitmagic verify [--timeout <ms>] [--renderer webgpu\|webgl] [--fast] [--watch]` | Build, boot the game in a headless browser, click the engine's Play button like a player would, and report what broke. A game without the button passes as long as gameplay starts by itself (auto-starting genres, custom start UIs); a run where gameplay never starts fails. The settle is adaptive: the run ends as soon as the live engine proves stable gameplay (state, rendered frames, no fresh errors, player standing), with `--timeout` as the cap. The verdict includes live engine state — actual GPU backend, fps, player position, physics body count, gameplay events (see **Gameplay events** below) — recorded in `result.json`. `--renderer` pins the pipeline (default `webgpu`, what players run; a silent WebGPU→WebGL2 fallback **fails** the run, and `--renderer webgl` is the deliberate escape hatch). A run failing on a lost WebGL context retries once on software rendering automatically. `--fast` skips the screenshot pipeline (then there is no thumbnail candidate from this run). `--watch` keeps everything warm — incremental `tsc --watch`, one vite, one browser — and re-verifies on file change in seconds; `--fast` is the watch default (`--no-fast` restores the screenshot). Writes the artifacts the publish gate reads (see below). |
|
|
101
101
|
| `bitmagic build` | Bundle the game into one self-contained `.bitmagic/build/index.html`. Rarely needs to be run by hand — `publish` builds automatically when the project changed. |
|
|
102
102
|
| `bitmagic publish [--visibility public\|private] [--name <name>] [--description <desc>] [--force]` | Verify-gate, build if needed, and upload straight to GCS. **Private unless `--visibility public` is passed.** |
|
|
103
|
-
| `bitmagic upgrade [--engine <version>] [--force]` | Refresh vendored platform files and the CLI's own skills to the currently published engine. Refuses a dirty git tree unless `--force`. |
|
|
103
|
+
| `bitmagic upgrade [--engine <version>] [--force]` | Refresh vendored platform files and the CLI's own skills to the currently published engine. Refuses a dirty git tree unless `--force`. Also records the project's `environment` in `bitmagic.json` if it has none yet — the engine it just vendored came from that api-server — and says so when it does. |
|
|
104
104
|
| `bitmagic generate <skybox\|sound\|image\|character\|animation\|prop\|vehicle> ...` | Generate one asset directly into `src/work/world.json`. Costs sparks. `prop` upgrades an existing placeholder asset in place, `vehicle` adds a new drivable one, `animation` takes a parameter spec rather than a prompt — see below. |
|
|
105
105
|
| `bitmagic cover [--prompt "..."] [--force] [--no-start-screen]` | Generate the game's cover art from `GAME-DESIGN.md`: sets the start screen, saves `.bitmagic/cover.webp`, becomes the publish thumbnail. Costs sparks. |
|
|
106
|
-
| `bitmagic forge --prompt "..." [--city\|--dungeon\|--platformer\|--freeform] [--name <name>] [--resume <jobId>]` | Design and bake a whole playable level into `world.json`.
|
|
106
|
+
| `bitmagic forge --prompt "..." [--city\|--dungeon\|--platformer\|--freeform] [--name <name>] [--resume <jobId>]` | Design and bake a whole playable level into `world.json`. Costs sparks, and takes many minutes — the bake alone can take twenty. `--resume <jobId>` picks a failed run back up from the last step that finished, rather than redoing the whole thing. |
|
|
107
107
|
|
|
108
108
|
Every command exits non-zero on failure with a single-line message (no stack trace) and, where a
|
|
109
109
|
distinction is useful to an automated caller, a specific exit code — see **Exit codes** below.
|
|
@@ -180,6 +180,8 @@ up fails on endpoints that are not there yet — so pair `@dev` with `bitmagic l
|
|
|
180
180
|
my-game/
|
|
181
181
|
src/work/ # your game — Game.ts, game.json, world.json
|
|
182
182
|
engine/ # vendored engine, read-only, replaced wholesale by `bitmagic upgrade`
|
|
183
|
+
LICENSE.md # the engine's licence — see Licensing below
|
|
184
|
+
THIRD-PARTY-NOTICES.md # three.js, Rapier and the rest
|
|
183
185
|
AGENTS.md # guidance for the agent editing this project
|
|
184
186
|
GAME-DESIGN.md # what the game is — yours to write; bitmagic cover reads it
|
|
185
187
|
.claude/
|
|
@@ -559,6 +561,28 @@ Three nudges, all advisory — nothing is ever blocked because something is out
|
|
|
559
561
|
suggest `bitmagic upgrade`. Publishing is never refused for an old engine — the prompt belongs
|
|
560
562
|
where rebuilding is cheap, not at the moment you ship.
|
|
561
563
|
|
|
564
|
+
## Licensing
|
|
565
|
+
|
|
566
|
+
`bitmagic init` vendors the engine into your project as readable source. It is Bitmagic's IP,
|
|
567
|
+
licensed to you — not assigned — under the [PolyForm Shield License
|
|
568
|
+
1.0.0](https://polyformproject.org/licenses/shield/1.0.0) plus an additional permission covering
|
|
569
|
+
games. The full text lands in your project as `engine/LICENSE.md`.
|
|
570
|
+
|
|
571
|
+
**You may** build games with it and sell them, modify the engine however your game needs, and ship
|
|
572
|
+
your games anywhere — bitmagic.ai, your own site, Steam, itch.io, a desktop build. Publishing
|
|
573
|
+
through Bitmagic is never a condition. Every engine version you obtained stays licensed to you
|
|
574
|
+
permanently; a lapsed subscription ends access to *new* versions and the hosted services, not your
|
|
575
|
+
right to keep shipping what you already built.
|
|
576
|
+
|
|
577
|
+
**You may not** provide the engine as the engine — distributing, selling, sublicensing or hosting
|
|
578
|
+
it, modified or not, free or paid, as a game engine, framework, SDK, library, starter kit or
|
|
579
|
+
game-creation tool.
|
|
580
|
+
|
|
581
|
+
One practical consequence: a published game contains compiled engine code, so the licence requires
|
|
582
|
+
the notice to travel with it. `vite.publish.config.js` carries a `banner` that does this
|
|
583
|
+
automatically, along with the attribution three.js, Rapier and the other bundled libraries require.
|
|
584
|
+
Leave it in place. `engine/THIRD-PARTY-NOTICES.md` has the full texts.
|
|
585
|
+
|
|
562
586
|
## Development
|
|
563
587
|
|
|
564
588
|
```bash
|
|
@@ -36,17 +36,23 @@ function reloadMatcher() {
|
|
|
36
36
|
/**
|
|
37
37
|
* The `bitmagic` commands a new project pre-approves, so the agent is not prompted for them.
|
|
38
38
|
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
39
|
+
* The local, idempotent ones are here because AGENTS.md tells the agent to run them repeatedly —
|
|
40
|
+
* `check` after each edit, `reload` at the end of each turn, `verify` before declaring anything
|
|
41
|
+
* done. A prompt on those is pure friction.
|
|
42
42
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
43
|
+
* `generate`, `cover` and `forge` are here for a different reason: they are funded by the rolling
|
|
44
|
+
* spark allowance the creator already bought with Bitmagic Pro, and prompting per asset does not
|
|
45
|
+
* protect them from a bill — it just produces a game full of placeholders instead of the assets
|
|
46
|
+
* they are paying to have generated. The boundary worth defending is the SPILL past that allowance
|
|
47
|
+
* into their purchased spark balance, and that one is enforced in code rather than in prose:
|
|
48
|
+
* `bitmagic allowance --allow-sparks` refuses without a TTY, so an agent cannot self-authorise it
|
|
49
|
+
* (see `../commands/allowance.ts`, and `docs/pro-subscription.md` on why a doc rule saying "the
|
|
50
|
+
* agent must not run this" does not survive an agent that reads the exact command in a refusal).
|
|
51
|
+
*
|
|
52
|
+
* What remains deliberately ABSENT: `publish`, because `--visibility public` lists the game on
|
|
53
|
+
* bitmagic.ai; `upgrade`, because it replaces `engine/` wholesale and the creator should see that
|
|
54
|
+
* coming; `subscribe` and `allowance`, which are money and consent. A blanket `Bash(bitmagic:*)`
|
|
55
|
+
* would swallow all four, so the list stays explicit.
|
|
50
56
|
*/
|
|
51
57
|
const ALLOWED_COMMANDS = [
|
|
52
58
|
'Bash(bitmagic check:*)',
|
|
@@ -59,6 +65,11 @@ const ALLOWED_COMMANDS = [
|
|
|
59
65
|
// to run WITHOUT interrupting the human — the whole point is checking what
|
|
60
66
|
// something will cost before committing to it.
|
|
61
67
|
'Bash(bitmagic usage:*)',
|
|
68
|
+
// Allowance-funded content generation. See the note above: the gate that
|
|
69
|
+
// matters is the TTY-only `allowance --allow-sparks`, not a prompt per asset.
|
|
70
|
+
'Bash(bitmagic generate:*)',
|
|
71
|
+
'Bash(bitmagic cover:*)',
|
|
72
|
+
'Bash(bitmagic forge:*)',
|
|
62
73
|
];
|
|
63
74
|
/**
|
|
64
75
|
* The settings a project with no `.claude/settings.json` at all gets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/scaffold/claude-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAkBrD,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,QAAiB;IAClC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;AAClD,CAAC;AAED,8CAA8C;AAC9C,SAAS,aAAa;IACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/scaffold/claude-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,18 @@ export async function downloadAndVerify(tarballUrl, expectedSha256, targetPath,
|
|
|
38
38
|
fs.mkdirSync(path.dirname(targetPath), { recursive: true });
|
|
39
39
|
fs.writeFileSync(targetPath, body);
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Tarball entries that are single files sitting directly under `game/` rather than inside one of
|
|
43
|
+
* the vendored directories. They share `game/agent-docs/`'s strip depth, so they ride its pass.
|
|
44
|
+
*
|
|
45
|
+
* `sw-cache-buster.js` is a runtime file the scaffolder later moves to the project root, and the
|
|
46
|
+
* two licence files are the terms the engine ships under (see docs/engine-license.md).
|
|
47
|
+
*/
|
|
48
|
+
const ENGINE_ROOT_FILES = [
|
|
49
|
+
'game/sw-cache-buster.js',
|
|
50
|
+
'game/LICENSE.md',
|
|
51
|
+
'game/THIRD-PARTY-NOTICES.md',
|
|
52
|
+
];
|
|
41
53
|
/**
|
|
42
54
|
* The tarball stores three prefixes at different depths — game/src/<root>, game/agent-docs (plus
|
|
43
55
|
* the sibling game/sw-cache-buster.js, which shares its strip depth) and templates — so it takes
|
|
@@ -67,11 +79,13 @@ export async function extractEngine(tarballPath, engineDir, templatesDir) {
|
|
|
67
79
|
// engine-api/ signature digest and samples/ subdirectories.
|
|
68
80
|
// game/sw-cache-buster.js -> <engineDir>/sw-cache-buster.js (rides this pass because it needs
|
|
69
81
|
// the same strip depth as game/agent-docs/, even though it isn't under it)
|
|
82
|
+
// game/LICENSE.md and game/THIRD-PARTY-NOTICES.md ride it for the same reason, and land next to
|
|
83
|
+
// the code they license as <engineDir>/LICENSE.md and <engineDir>/THIRD-PARTY-NOTICES.md.
|
|
70
84
|
await tar.extract({
|
|
71
85
|
file: tarballPath,
|
|
72
86
|
cwd: engineDir,
|
|
73
87
|
strip: 1,
|
|
74
|
-
filter: (entryPath) => entryPath.startsWith('game/agent-docs/') || entryPath
|
|
88
|
+
filter: (entryPath) => entryPath.startsWith('game/agent-docs/') || ENGINE_ROOT_FILES.includes(entryPath),
|
|
75
89
|
});
|
|
76
90
|
// templates/index.json -> <templatesDir>/index.json
|
|
77
91
|
await tar.extract({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-download.js","sourceRoot":"","sources":["../../src/scaffold/engine-download.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"engine-download.js","sourceRoot":"","sources":["../../src/scaffold/engine-download.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import type { EnvironmentName } from '../config/environments.js';
|
|
2
|
+
/**
|
|
3
|
+
* The legal notice stamped into every game this project publishes.
|
|
4
|
+
*
|
|
5
|
+
* **A licence obligation, not decoration.** A published game is one file with the engine and its
|
|
6
|
+
* third-party dependencies inlined, so distributing a game distributes part of the engine.
|
|
7
|
+
* PolyForm Shield's Notices section requires that anyone receiving any part of the software also
|
|
8
|
+
* receives the terms and every `Required Notice:` line; MIT and ISC require their copyright and
|
|
9
|
+
* permission notices to travel with copies; Apache-2.0 section 4 requires the licence to accompany
|
|
10
|
+
* derivative distributions. One banner satisfies all of them. See `engine/LICENSE.md`.
|
|
11
|
+
*
|
|
12
|
+
* This is a second copy of `game/publish-notice.js` — deliberately, because a scaffolded project
|
|
13
|
+
* on a creator's machine cannot import from the Bitmagic monorepo. `__tests__/publish-notice.test.ts`
|
|
14
|
+
* holds it to the content that actually has to be there.
|
|
15
|
+
*
|
|
16
|
+
* Kept small on purpose: `ENGINE_BUILD_MARKERS` in `@bitmagic/asset-core/publish-source` are
|
|
17
|
+
* matched only in a published bundle's first 64KB, and everything here pushes the import map down.
|
|
18
|
+
*/
|
|
19
|
+
export declare const PUBLISHED_BUNDLE_BANNER = "/*!\n * Made with Bitmagic \u2014 https://bitmagic.ai\n *\n * This bundle includes the Bitmagic engine.\n * Required Notice: Copyright Bitmagic Oy (https://bitmagic.ai)\n * Licensed under the PolyForm Shield License 1.0.0\n * <https://polyformproject.org/licenses/shield/1.0.0>, with an additional permission\n * granting the right to build, modify, sell and distribute games. Full terms:\n * https://bitmagic.ai/terms-of-service\n *\n * Third-party software included in this bundle:\n * three.js \u2014 MIT \u2014 Copyright (c) 2010-2026 three.js authors\n * @dimforge/rapier2d-compat, @dimforge/rapier3d-compat \u2014 Apache License 2.0\n * @msgpack/msgpack \u2014 ISC \u2014 Copyright 2019 The MessagePack Community\n * fflate \u2014 MIT \u2014 Copyright (c) 2023 Arjun Barrett\n * i18next, i18next-browser-languagedetector \u2014 MIT \u2014 Copyright (c) 2025 i18next\n * JSZip \u2014 MIT (elected) \u2014 Copyright (c) 2009-2016 Stuart Knightley and contributors\n * Full licence texts: THIRD-PARTY-NOTICES.md in the Bitmagic engine distribution.\n */";
|
|
2
20
|
/**
|
|
3
21
|
* Mirrors game/package.json so the pro lane resolves exactly what CI builds against.
|
|
4
22
|
*
|
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
import { FAVICON_LINK_ID } from '@bitmagic/asset-core/favicon';
|
|
2
2
|
import { tsconfigPaths, importMapEntries, viteAliasEntries } from './aliases.js';
|
|
3
|
+
/**
|
|
4
|
+
* The legal notice stamped into every game this project publishes.
|
|
5
|
+
*
|
|
6
|
+
* **A licence obligation, not decoration.** A published game is one file with the engine and its
|
|
7
|
+
* third-party dependencies inlined, so distributing a game distributes part of the engine.
|
|
8
|
+
* PolyForm Shield's Notices section requires that anyone receiving any part of the software also
|
|
9
|
+
* receives the terms and every `Required Notice:` line; MIT and ISC require their copyright and
|
|
10
|
+
* permission notices to travel with copies; Apache-2.0 section 4 requires the licence to accompany
|
|
11
|
+
* derivative distributions. One banner satisfies all of them. See `engine/LICENSE.md`.
|
|
12
|
+
*
|
|
13
|
+
* This is a second copy of `game/publish-notice.js` — deliberately, because a scaffolded project
|
|
14
|
+
* on a creator's machine cannot import from the Bitmagic monorepo. `__tests__/publish-notice.test.ts`
|
|
15
|
+
* holds it to the content that actually has to be there.
|
|
16
|
+
*
|
|
17
|
+
* Kept small on purpose: `ENGINE_BUILD_MARKERS` in `@bitmagic/asset-core/publish-source` are
|
|
18
|
+
* matched only in a published bundle's first 64KB, and everything here pushes the import map down.
|
|
19
|
+
*/
|
|
20
|
+
export const PUBLISHED_BUNDLE_BANNER = `/*!
|
|
21
|
+
* Made with Bitmagic — https://bitmagic.ai
|
|
22
|
+
*
|
|
23
|
+
* This bundle includes the Bitmagic engine.
|
|
24
|
+
* Required Notice: Copyright Bitmagic Oy (https://bitmagic.ai)
|
|
25
|
+
* Licensed under the PolyForm Shield License 1.0.0
|
|
26
|
+
* <https://polyformproject.org/licenses/shield/1.0.0>, with an additional permission
|
|
27
|
+
* granting the right to build, modify, sell and distribute games. Full terms:
|
|
28
|
+
* https://bitmagic.ai/terms-of-service
|
|
29
|
+
*
|
|
30
|
+
* Third-party software included in this bundle:
|
|
31
|
+
* three.js — MIT — Copyright (c) 2010-2026 three.js authors
|
|
32
|
+
* @dimforge/rapier2d-compat, @dimforge/rapier3d-compat — Apache License 2.0
|
|
33
|
+
* @msgpack/msgpack — ISC — Copyright 2019 The MessagePack Community
|
|
34
|
+
* fflate — MIT — Copyright (c) 2023 Arjun Barrett
|
|
35
|
+
* i18next, i18next-browser-languagedetector — MIT — Copyright (c) 2025 i18next
|
|
36
|
+
* JSZip — MIT (elected) — Copyright (c) 2009-2016 Stuart Knightley and contributors
|
|
37
|
+
* Full licence texts: THIRD-PARTY-NOTICES.md in the Bitmagic engine distribution.
|
|
38
|
+
*/`;
|
|
3
39
|
/**
|
|
4
40
|
* Mirrors game/package.json so the pro lane resolves exactly what CI builds against.
|
|
5
41
|
*
|
|
@@ -319,7 +355,13 @@ ${renderAliasEntries()}
|
|
|
319
355
|
assetsInlineLimit: 100000000,
|
|
320
356
|
cssCodeSplit: false,
|
|
321
357
|
rollupOptions: {
|
|
322
|
-
output: {
|
|
358
|
+
output: {
|
|
359
|
+
inlineDynamicImports: true,
|
|
360
|
+
// A licence obligation, not decoration — see engine/LICENSE.md. This bundle contains
|
|
361
|
+
// compiled engine code and third-party libraries whose licences require their notices to
|
|
362
|
+
// travel with any copy. Removing this banner puts your published game out of compliance.
|
|
363
|
+
banner: ${JSON.stringify(PUBLISHED_BUNDLE_BANNER)},
|
|
364
|
+
},
|
|
323
365
|
},
|
|
324
366
|
},
|
|
325
367
|
plugins: [viteSingleFile()],
|
|
@@ -381,6 +423,13 @@ If you are unsure whether one is already running, \`bitmagic reload\` says so an
|
|
|
381
423
|
directory breaks the game at runtime even though it still typechecks.
|
|
382
424
|
- \`engine/\` — **the Bitmagic engine, read-only.** It is vendored by the CLI and replaced
|
|
383
425
|
wholesale by \`bitmagic upgrade\`. Edits here are lost on upgrade and ignored on publish.
|
|
426
|
+
- \`engine/LICENSE.md\` — **the engine's licence, and it is not boilerplate.** The engine is
|
|
427
|
+
Bitmagic's IP, licensed to you under the PolyForm Shield License 1.0.0 with an additional
|
|
428
|
+
permission: build, modify, sell and distribute games anywhere you like, including off
|
|
429
|
+
bitmagic.ai and with a modified engine. What you may not do is ship the engine *as an engine*.
|
|
430
|
+
The licence obliges every published bundle to carry a notice, which is why
|
|
431
|
+
\`vite.publish.config.js\` has a \`banner\`: leave it alone. \`engine/THIRD-PARTY-NOTICES.md\`
|
|
432
|
+
covers three.js, Rapier and the rest.
|
|
384
433
|
- \`engine/agent-docs/\` — **the engine's documentation, and the fastest thing in this project.**
|
|
385
434
|
\`engine-api/\` is a generated signature digest covering every public engine class, method and
|
|
386
435
|
type; the ~83 \`*.md\` files are the per-subsystem guides, including \`mechanic-*.md\` genre
|
|
@@ -513,9 +562,9 @@ It writes \`.bitmagic/cover.webp\` (read that file if you want to show them the
|
|
|
513
562
|
uploads. Because it touches \`world.json\`, it invalidates a passing verify — so run it BEFORE
|
|
514
563
|
\`bitmagic verify\`, not between verifying and publishing.
|
|
515
564
|
|
|
516
|
-
Re-running it on an unchanged \`GAME-DESIGN.md\`
|
|
517
|
-
|
|
518
|
-
|
|
565
|
+
Re-running it on an unchanged \`GAME-DESIGN.md\` generates nothing; it just reports the cover you
|
|
566
|
+
already have. Rewrite the design and run it again — or pass \`--force\` — when the game has moved on
|
|
567
|
+
from its artwork.
|
|
519
568
|
|
|
520
569
|
## Before you change movement, cameras or rotation
|
|
521
570
|
|
|
@@ -563,7 +612,7 @@ alone:
|
|
|
563
612
|
those with your progress lines and the prompt you used. One that FAILS simply drops off that list,
|
|
564
613
|
with the error reaching your terminal and nowhere else — so a failure you do not mention is one
|
|
565
614
|
they never learn about. Those files are yours to read too: check them before starting a second
|
|
566
|
-
|
|
615
|
+
generation that needs a browser, because a forge and a prop each want one and will fight over it.
|
|
567
616
|
- Prefer changing the entries you mean to change over regenerating \`environmentObjects\`
|
|
568
617
|
wholesale, so their placements survive your edit.
|
|
569
618
|
|
|
@@ -595,10 +644,9 @@ bitmagic generate prop --asset <assetId> --prompt "<prompt>" --json
|
|
|
595
644
|
\`\`\`
|
|
596
645
|
|
|
597
646
|
That generates the mesh, voxelizes it to the asset's recorded \`fitBox\`, and upserts it under the
|
|
598
|
-
same asset id, so every placed instance upgrades at once.
|
|
599
|
-
|
|
600
|
-
the mesh
|
|
601
|
-
\`--glb-url <url>\` to skip the paid step.
|
|
647
|
+
same asset id, so every placed instance upgrades at once. They asked for it, so run it — just never
|
|
648
|
+
twice for the same request. If it fails after the mesh was generated, the error and the JSON result
|
|
649
|
+
carry the mesh URL — retry with \`--glb-url <url>\` to skip the step that already succeeded.
|
|
602
650
|
|
|
603
651
|
The file is append-only and never rewritten, so you can re-read it from where you left off.
|
|
604
652
|
|
|
@@ -692,9 +740,11 @@ Four things worth knowing before you use these:
|
|
|
692
740
|
1. **Each generation writes to \`src/work/world.json\`.** If you are also editing that file,
|
|
693
741
|
re-read it afterwards — your in-memory copy is stale. The command prints exactly which paths
|
|
694
742
|
it changed.
|
|
695
|
-
2. **Generation
|
|
696
|
-
|
|
697
|
-
|
|
743
|
+
2. **Use them.** Generation is what the creator's Bitmagic Pro subscription is for, and these
|
|
744
|
+
produce real, good-looking assets — a game that ships with placeholders because you were being
|
|
745
|
+
careful is the worse outcome. The one rule: do not call them **in a loop** to explore options.
|
|
746
|
+
Decide the prompt, ask for what you actually need, once. If the Pro allowance is exhausted and
|
|
747
|
+
spending beyond it has not been approved, the command refuses before generating and says so.
|
|
698
748
|
3. **It only works on the game this project points at.** \`bitmagic.json\` holds the \`gameId\`;
|
|
699
749
|
generation is refused for a game the logged-in account does not own.
|
|
700
750
|
4. **A running \`bitmagic dev\` picks the new asset up on its own.** It reloads the browser once
|
|
@@ -718,9 +768,9 @@ natural terrain.
|
|
|
718
768
|
|
|
719
769
|
Five things worth knowing:
|
|
720
770
|
|
|
721
|
-
1. **It is slow
|
|
722
|
-
|
|
723
|
-
|
|
771
|
+
1. **It is slow.** A forge runs for many minutes — the level bake alone can take twenty. That is a
|
|
772
|
+
planning fact, not a reason to avoid it: plan the run, start it, and do something else while it
|
|
773
|
+
works. Progress is printed throughout, the bake included.
|
|
724
774
|
2. **It needs Google Chrome installed.** The bake runs in a real headless browser, because
|
|
725
775
|
voxelizing is the engine's own code. The command builds and serves the project itself, so you
|
|
726
776
|
do not need \`bitmagic dev\` running and it will not collide with one that is.
|
|
@@ -731,9 +781,9 @@ Five things worth knowing:
|
|
|
731
781
|
4. **Every failure says whether \`world.json\` changed** — and it only ever changes on the final
|
|
732
782
|
step, all at once. A failure before that leaves the project exactly as it was.
|
|
733
783
|
5. **Resume rather than re-run.** The command prints a job id. If it fails after the design
|
|
734
|
-
succeeded, \`bitmagic forge --resume <jobId>\` skips the steps already
|
|
735
|
-
message says when resuming is worth it, and when the
|
|
736
|
-
change the prompt instead.
|
|
784
|
+
succeeded, \`bitmagic forge --resume <jobId>\` skips the steps that already finished — twenty
|
|
785
|
+
minutes you do not spend again. The failure message says when resuming is worth it, and when the
|
|
786
|
+
failure is deterministic and you should change the prompt instead.
|
|
737
787
|
|
|
738
788
|
Afterwards actually walk the level in the dev view — one that loads is not necessarily one you can
|
|
739
789
|
move through. (You should already have \`bitmagic dev\` running; a forge takes twenty minutes, and
|
|
@@ -804,8 +854,9 @@ nearest one; plan from the design doc.
|
|
|
804
854
|
|
|
805
855
|
## Step 2 — do not build what the engine already ships
|
|
806
856
|
|
|
807
|
-
Check this before you plan a single
|
|
808
|
-
|
|
857
|
+
Check this before you plan a single system. Almost everything a first slice needs is **already in
|
|
858
|
+
the engine, already wired** — and hand-building a worse version of it is the most common way a slice
|
|
859
|
+
1 goes wrong.
|
|
809
860
|
|
|
810
861
|
| The idea needs… | The engine already has | Read |
|
|
811
862
|
|---|---|---|
|
|
@@ -830,12 +881,14 @@ assets at all**.
|
|
|
830
881
|
| The default player and its animation set | Already there | — |
|
|
831
882
|
|
|
832
883
|
A built-in still covers the request when the human names a style ("a katana" → the built-in katana).
|
|
833
|
-
|
|
834
|
-
|
|
884
|
+
This is about wiring, not thrift: a built-in weapon is already hooked into the combat system, damage,
|
|
885
|
+
animations and NPC use, while a generated mesh is a mesh. Generate when the look is genuinely custom
|
|
886
|
+
("a flaming katana with a skull hilt") — that is what the \`generating-assets\` skill is for.
|
|
835
887
|
|
|
836
888
|
Drivable vehicles are the one exception worth knowing: the physics and AI are built in, but a
|
|
837
889
|
good-looking car comes from \`bitmagic generate vehicle\`, and \`--preset VAN\` builds a standard one
|
|
838
|
-
|
|
890
|
+
without calling the designer when the request needs no bespoke look. Spawn it with
|
|
891
|
+
\`engine.getVehicleSpawner().spawnAndEnterFromAsset(...)\`.
|
|
839
892
|
|
|
840
893
|
## Step 3 — write \`mechanics-plan.md\`
|
|
841
894
|
|
|
@@ -858,7 +911,7 @@ that I would otherwise have defaulted differently.
|
|
|
858
911
|
- Lose:
|
|
859
912
|
- On-screen feedback: score / timer / health
|
|
860
913
|
- Engine systems: one line each, naming the doc — \`engine/agent-docs/…\`
|
|
861
|
-
- Assets to generate:
|
|
914
|
+
- Assets to generate: name them. A skybox and the cover usually earn their place in slice 1.
|
|
862
915
|
- Level: procedural baseline terrain, unless the terrain IS the mechanic
|
|
863
916
|
|
|
864
917
|
## Deferred — the backlog
|
|
@@ -880,9 +933,9 @@ file is excluded from the publish fingerprint, so rewriting it never invalidates
|
|
|
880
933
|
background task — and everything below is worth more when they can watch it happen. Last in this
|
|
881
934
|
list it is just a server; first, it is the whole reason the rest is visible.
|
|
882
935
|
2. \`GAME-DESIGN.md\` written or confirmed.
|
|
883
|
-
3. \`bitmagic cover\` — **now**, not later. It
|
|
884
|
-
|
|
885
|
-
must come before any \`bitmagic verify\`.
|
|
936
|
+
3. \`bitmagic cover\` — **now**, not later. It takes minutes, and it is what the human looks at
|
|
937
|
+
while you work; generated at the end it is the same picture with none of that value. It writes
|
|
938
|
+
\`world.json\`, so it must come before any \`bitmagic verify\`.
|
|
886
939
|
4. \`mechanics-plan.md\`.
|
|
887
940
|
5. Write the code. Look up APIs with the \`finding-engine-apis\` skill; do not read engine source to
|
|
888
941
|
find out what exists.
|
|
@@ -892,11 +945,11 @@ file is excluded from the publish fingerprint, so rewriting it never invalidates
|
|
|
892
945
|
not evidence the game runs.
|
|
893
946
|
9. Report (below). Publish only if they ask.
|
|
894
947
|
|
|
895
|
-
**One forge, and only when the terrain IS the mechanic.** \`bitmagic forge\` runs for many minutes
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
948
|
+
**One forge, and only when the terrain IS the mechanic.** \`bitmagic forge\` runs for many minutes,
|
|
949
|
+
so it sets how long the human waits for slice 1. It belongs in slice 1 for a game that cannot be
|
|
950
|
+
played without its shape — skiing, racing on a real circuit, open-world driving, an enclosed dungeon
|
|
951
|
+
interior. For everything else the baseline's procedural voxel terrain is a fine slice-1 world and the
|
|
952
|
+
forge is backlog item 1, run once the loop is proven.
|
|
900
953
|
|
|
901
954
|
## Step 5 — hand it back
|
|
902
955
|
|
|
@@ -1105,7 +1158,7 @@ clip, because it is solved locally rather than generated by a model.
|
|
|
1105
1158
|
\`vehicle\` is the one that needs more than a prompt to be useful. It creates a NEW asset (it does
|
|
1106
1159
|
not upgrade an existing one), it needs Chrome and a free port between 3000 and 3199 because only
|
|
1107
1160
|
the engine can voxelize, and \`--preset VAN\` builds a standard vehicle without calling the designer
|
|
1108
|
-
at all —
|
|
1161
|
+
at all — faster, and the right choice when the request does not need a bespoke look. Once it lands,
|
|
1109
1162
|
spawn it by name:
|
|
1110
1163
|
|
|
1111
1164
|
\`\`\`js
|
|
@@ -1126,9 +1179,14 @@ running before you start implementing rather than after.
|
|
|
1126
1179
|
|
|
1127
1180
|
## Before generating
|
|
1128
1181
|
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1182
|
+
Generating is included in the creator's Bitmagic Pro subscription and the results are good, so the
|
|
1183
|
+
default answer is yes — a placeholder you left in place to be careful is not the safe option, it is
|
|
1184
|
+
just a worse game. Two things to settle first:
|
|
1185
|
+
|
|
1186
|
+
- **Is there already an asset for this?** If \`world.json\` holds one that fits, reuse it. That is
|
|
1187
|
+
about not doing the same work twice, not about being frugal.
|
|
1188
|
+
- **Decide the exact prompt.** These are one-shot — you get what you asked for, so there is no
|
|
1189
|
+
"generate three and pick one". Spend the thought before the command, not after.
|
|
1132
1190
|
|
|
1133
1191
|
## After generating
|
|
1134
1192
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/scaffold/project-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/scaffold/project-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,16 @@ export declare const VENDORED_DIRS: string[];
|
|
|
58
58
|
* survivable and a hard failure is not.
|
|
59
59
|
*/
|
|
60
60
|
export declare const OPTIONAL_VENDORED_DIRS: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Single files vendored into `engine/` alongside the directories above: the terms the engine is
|
|
63
|
+
* licensed under, and the third-party notices published games have to carry.
|
|
64
|
+
*
|
|
65
|
+
* Optional for the same reason as OPTIONAL_VENDORED_DIRS — a CLI newer than the tarball must not
|
|
66
|
+
* fail — but the consequence of absence is different in kind. A project scaffolded from a tarball
|
|
67
|
+
* predating these files has an engine with no licence text next to it; `bitmagic upgrade` puts it
|
|
68
|
+
* there as soon as the project moves to a version that ships it. See docs/engine-license.md.
|
|
69
|
+
*/
|
|
70
|
+
export declare const OPTIONAL_VENDORED_FILES: string[];
|
|
61
71
|
/**
|
|
62
72
|
* The subset of the generated files that are pure platform output: regenerated byte-for-byte
|
|
63
73
|
* from these renderers with no creator content ever entering them. `bitmagic upgrade` overwrites
|
package/dist/scaffold/project.js
CHANGED
|
@@ -65,6 +65,16 @@ export const VENDORED_DIRS = [
|
|
|
65
65
|
* survivable and a hard failure is not.
|
|
66
66
|
*/
|
|
67
67
|
export const OPTIONAL_VENDORED_DIRS = ['agent-docs'];
|
|
68
|
+
/**
|
|
69
|
+
* Single files vendored into `engine/` alongside the directories above: the terms the engine is
|
|
70
|
+
* licensed under, and the third-party notices published games have to carry.
|
|
71
|
+
*
|
|
72
|
+
* Optional for the same reason as OPTIONAL_VENDORED_DIRS — a CLI newer than the tarball must not
|
|
73
|
+
* fail — but the consequence of absence is different in kind. A project scaffolded from a tarball
|
|
74
|
+
* predating these files has an engine with no licence text next to it; `bitmagic upgrade` puts it
|
|
75
|
+
* there as soon as the project moves to a version that ships it. See docs/engine-license.md.
|
|
76
|
+
*/
|
|
77
|
+
export const OPTIONAL_VENDORED_FILES = ['LICENSE.md', 'THIRD-PARTY-NOTICES.md'];
|
|
68
78
|
/**
|
|
69
79
|
* The subset of the generated files that are pure platform output: regenerated byte-for-byte
|
|
70
80
|
* from these renderers with no creator content ever entering them. `bitmagic upgrade` overwrites
|
|
@@ -166,6 +176,12 @@ export function scaffoldProject(options) {
|
|
|
166
176
|
fs.cpSync(source, path.join(engineDir, dir), { recursive: true });
|
|
167
177
|
}
|
|
168
178
|
}
|
|
179
|
+
for (const file of OPTIONAL_VENDORED_FILES) {
|
|
180
|
+
const source = path.join(extractedEngineDir, file);
|
|
181
|
+
if (fs.existsSync(source)) {
|
|
182
|
+
fs.cpSync(source, path.join(engineDir, file));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
169
185
|
// The game: the genre baseline, then the template overlaid on top. Contents are copied, not
|
|
170
186
|
// the directory itself — a nested src/work/<genre>/ would break every relative import in
|
|
171
187
|
// Game.ts. This is a second copy of the same baseline vendored above as engine/genres/: that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project.js","sourceRoot":"","sources":["../../src/scaffold/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import { CliError } from '../errors.js';
|
|
4
|
-
import { VENDORED_DIRS, OPTIONAL_VENDORED_DIRS, PLATFORM_GENERATED_FILES } from './project.js';
|
|
4
|
+
import { VENDORED_DIRS, OPTIONAL_VENDORED_DIRS, OPTIONAL_VENDORED_FILES, PLATFORM_GENERATED_FILES, } from './project.js';
|
|
5
5
|
import { reconcileAgentsMd, AGENTS_MD_FILE } from './agents-md.js';
|
|
6
6
|
import { CLAUDE_SETTINGS_FILE, mergeReloadHook } from './claude-settings.js';
|
|
7
7
|
/**
|
|
@@ -60,6 +60,15 @@ export function upgradeProject(options) {
|
|
|
60
60
|
fs.cpSync(source, path.join(engineDir, dir), { recursive: true });
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
+
// Same allowance, same reason — and this is how a project scaffolded before the licence shipped
|
|
64
|
+
// acquires engine/LICENSE.md: the rmSync above took the old engine/ with it, so upgrading onto a
|
|
65
|
+
// tarball that carries the terms puts them in place without the creator doing anything.
|
|
66
|
+
for (const file of OPTIONAL_VENDORED_FILES) {
|
|
67
|
+
const source = path.join(extractedEngineDir, file);
|
|
68
|
+
if (fs.existsSync(source)) {
|
|
69
|
+
fs.cpSync(source, path.join(engineDir, file));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
63
72
|
replaced.push('engine/');
|
|
64
73
|
// Same "missing is not corrupt" allowance as scaffoldProject: a tarball published before this
|
|
65
74
|
// feature shipped simply won't have it, and upgrade must not fail a project onto that tarball.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-project.js","sourceRoot":"","sources":["../../src/scaffold/upgrade-project.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"upgrade-project.js","sourceRoot":"","sources":["../../src/scaffold/upgrade-project.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitmagic/cli",
|
|
3
|
-
"version": "0.1.46-dev.
|
|
3
|
+
"version": "0.1.46-dev.2",
|
|
4
4
|
"description": "Build Bitmagic games from your own agent tool",
|
|
5
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
|
+
"author": "Bitmagic Oy",
|
|
5
7
|
"type": "module",
|
|
6
8
|
"bin": {
|
|
7
9
|
"bitmagic": "./dist/bin.js"
|
|
8
10
|
},
|
|
9
11
|
"files": [
|
|
10
|
-
"dist"
|
|
12
|
+
"dist",
|
|
13
|
+
"LICENSE.md"
|
|
11
14
|
],
|
|
12
15
|
"publishConfig": {
|
|
13
16
|
"access": "public"
|
|
@@ -20,9 +23,9 @@
|
|
|
20
23
|
"fflate": "^0.8.2",
|
|
21
24
|
"playwright-core": "^1.59.1",
|
|
22
25
|
"tar": "^7.4.3",
|
|
23
|
-
"@bitmagic/animation-forger": "0.1.0",
|
|
24
|
-
"@bitmagic/
|
|
25
|
-
"@bitmagic/
|
|
26
|
+
"@bitmagic/animation-forger": "0.1.1-dev.0",
|
|
27
|
+
"@bitmagic/asset-core": "0.2.1-dev.0",
|
|
28
|
+
"@bitmagic/world-forger": "0.1.6-dev.0"
|
|
26
29
|
},
|
|
27
30
|
"devDependencies": {
|
|
28
31
|
"@eslint/js": "^9.38.0",
|