@bitmagic/cli 0.1.65-dev.9 → 0.1.65
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/README.md +101 -15
- package/dist/assets/materials.d.ts +9 -0
- package/dist/assets/materials.js +10 -2
- package/dist/assets/materials.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/character.d.ts +18 -0
- package/dist/commands/character.js +268 -0
- package/dist/commands/character.js.map +1 -0
- package/dist/commands/forge.js +7 -1
- package/dist/commands/forge.js.map +1 -1
- package/dist/commands/generate.d.ts +31 -13
- package/dist/commands/generate.js +48 -56
- package/dist/commands/generate.js.map +1 -1
- package/dist/editor/animation-preview-page.js +88 -1
- package/dist/editor/animation-preview-page.js.map +1 -1
- package/dist/editor/asset-detail-panel.d.ts +2 -2
- package/dist/editor/asset-detail-panel.js +21 -0
- package/dist/editor/asset-detail-panel.js.map +1 -1
- package/dist/editor/asset-viewer.js +31 -8
- package/dist/editor/asset-viewer.js.map +1 -1
- package/dist/editor/shell-page.js +63 -1
- package/dist/editor/shell-page.js.map +1 -1
- package/dist/forge/prune-store.d.ts +46 -0
- package/dist/forge/prune-store.js +86 -0
- package/dist/forge/prune-store.js.map +1 -0
- package/dist/generate/character-body.d.ts +79 -0
- package/dist/generate/character-body.js +100 -0
- package/dist/generate/character-body.js.map +1 -0
- package/dist/mobile/asset-hosts.d.ts +7 -9
- package/dist/mobile/asset-hosts.js +7 -16
- package/dist/mobile/asset-hosts.js.map +1 -1
- package/dist/project/character-search.d.ts +30 -0
- package/dist/project/character-search.js +82 -0
- package/dist/project/character-search.js.map +1 -0
- package/dist/scaffold/asset-pipeline-skill-files.d.ts +42 -0
- package/dist/scaffold/asset-pipeline-skill-files.js +207 -0
- package/dist/scaffold/asset-pipeline-skill-files.js.map +1 -0
- package/dist/scaffold/blender-level-skill-files.js +3 -2
- package/dist/scaffold/blender-level-skill-files.js.map +1 -1
- package/dist/scaffold/claude-settings.js +4 -0
- package/dist/scaffold/claude-settings.js.map +1 -1
- package/dist/scaffold/project-files.js +18 -12
- package/dist/scaffold/project-files.js.map +1 -1
- package/dist/scaffold/project.js +2 -0
- package/dist/scaffold/project.js.map +1 -1
- package/dist/scaffold/skill-files.js +5 -4
- package/dist/scaffold/skill-files.js.map +1 -1
- package/dist/telemetry/creator-prompt.d.ts +18 -2
- package/dist/telemetry/creator-prompt.js +24 -3
- package/dist/telemetry/creator-prompt.js.map +1 -1
- package/dist/telemetry/report.js +31 -16
- package/dist/telemetry/report.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -202,7 +202,8 @@ browser reloads itself on every change and the assets panel shows each generatio
|
|
|
202
202
|
| `bitmagic publish [--visibility public\|private] [--name <name>] [--description <desc>] [--force] [--single-file] [--version-url] [--no-qr]` | Verify-gate, build if needed, and upload straight to GCS. `--single-file` publishes the offline bundle described under `bitmagic build`; switching the flag between runs always rebuilds, since it changes nothing on disk for the reuse check to notice. **Keeps the game's current visibility**; a new game is private until published with `--visibility public`. Prints the link worth sharing: `bitmagic.ai/play/<ID>/` — the game's page, with its name, cover and comments — for a public game, and `bitmagic.ai/games/<ID>/` for a private one. Both always serve the newest publish, so a link handed out today keeps working after tomorrow's publish; `--version-url` also prints the URL of this one build (`.../indexN.html`), for pinning a bug report to it. Shows the shared URL as a QR code so you can scan it onto a phone — drawn in the terminal, or written to `.bitmagic/publish-qr.png` when it cannot be. `--no-qr` skips both. |
|
|
203
203
|
| `bitmagic self-update [--tag latest\|dev]` | Update the **CLI itself** to the newest build of its line, installing into the place this CLI actually lives rather than wherever the `npm` on your `PATH` would put it — which under nvm is routinely somewhere else. Reads the project's line from `bitmagic.json` when there is one, so it also fixes a wrong-line install; `--tag` overrides. Verifies the version on disk moved, and refuses (naming the path) for an `npx` run, a source checkout, or an install shape it cannot recognise. Not to be confused with `upgrade`, which is about the project's engine. |
|
|
204
204
|
| `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. |
|
|
205
|
-
| `bitmagic generate <skybox\|background\|block-type\|sound\|music\|image\|video\|character\|animation\|model\|prop\|vehicle> ...` | Generate one asset directly into `src/work/world.json`. Costs sparks. `model` mints a **new** 3D object from a prompt, `prop` upgrades an existing placeholder **in place** (both produce voxels directly; `--mesh` takes the older mesh path; a low-poly project keeps the mesh as a `glb` asset — see **Art style**), `vehicle` adds a new drivable one, `animation` takes a parameter spec rather than a prompt, `block-type` registers a custom voxel block, `video` makes a short clip for a cutscene (played with `engine.playVideo("<id>")`) — see **Cutscene clips** below. `skybox` and `background` write the **same** field: pick one. |
|
|
205
|
+
| `bitmagic generate <skybox\|background\|block-type\|sound\|music\|image\|video\|character\|animation\|model\|prop\|vehicle> ...` | Generate one asset directly into `src/work/world.json`. Costs sparks. `model` mints a **new** 3D object from a prompt, `prop` upgrades an existing placeholder **in place** (both produce voxels directly; `--mesh` takes the older mesh path; a low-poly project keeps the mesh as a `glb` asset — see **Art style**), `vehicle` adds a new drivable one, `animation` takes a parameter spec rather than a prompt, `block-type` registers a custom voxel block, `video` makes a short clip for a cutscene (played with `engine.playVideo("<id>")`) — see **Cutscene clips** below. `skybox` and `background` write the **same** field: pick one. **`character` now lives in its own group** — `bitmagic character generate|search|add` — and `bitmagic generate character` is a deprecated alias of the first; see **Characters**. |
|
|
206
|
+
| `bitmagic character <generate\|search\|add> ...` | Forge a character, look through the ready-made ones, or add one. `generate` costs sparks and may substitute a close-enough stored body (`--fresh` always forges). `search` lists the shelf's closest matches with their scores — free, changes nothing. `add` puts a stored body in the game for free and never forges. See **Characters** below. |
|
|
206
207
|
| `bitmagic assets add <file> [--name <n>] [--asset-id <id>] [--keep-glb\|--voxelize] [--voxel-size <m>] [--max-voxel-size <m>] [--height <m>] [--hollow\|--solid] [--force]` | Upload **your own** file — `.glb`, `.vxl`, `.png/.jpg/.webp`, `.opus/.ogg/.m4a/.mp3`, `.json` — into the game's assets and write its entry into `src/work/world.json`. A `.glb` is voxelized in a headless browser (Chrome + a free port in 3000–3199, like `prop`) unless `--keep-glb` — or unless the project is low-poly (see **Art style**). Free — no sparks. See **Adding your own assets** below. |
|
|
207
208
|
| `bitmagic assets list` | The assets in `world.json`: id, name, type, size, placed instances, and total references. Local, no network. |
|
|
208
209
|
| `bitmagic assets materials <assetId> [--set <file.json>] [--auto] [--clear]` | Show what an asset's voxels look like, or say what they are **made of** — so a sword's steel blade shines and its leather grip does not. With no flag it prints the asset's colour groups; `--set` applies your verdicts; `--auto` lets a model decide (what `generate prop` and `generate model` already do on their own); `--clear` removes them. Free — no sparks, nothing generated. See **Voxel materials** below. |
|
|
@@ -878,7 +879,16 @@ from; an image opens as the image; a sound gets a player; an animation plays on
|
|
|
878
879
|
character — the same clip preview the Creator has — with play/pause and a speed slider. A clip
|
|
879
880
|
generated from a recording also shows its source video, with the trim marked on it: the frame
|
|
880
881
|
dims behind a `CUT 1.2s FROM THE START` badge whenever the playhead is inside a removed stretch,
|
|
881
|
-
over a seek bar split into labelled `cut | kept | cut` segments.
|
|
882
|
+
over a seek bar split into labelled `cut | kept | cut` segments.
|
|
883
|
+
|
|
884
|
+
**A character asset gets a row of built-in animations** — Idle, Walk, Run, Jump, Punch, Kick, Flip,
|
|
885
|
+
Dance — so you can see the body move rather than stand there. Each plays the engine's own clip on
|
|
886
|
+
your rigged character, with the same play/pause and speed slider; **Model** goes back to the still
|
|
887
|
+
mesh. The clips are looked up in your project's vendored engine, so they are the ones your game
|
|
888
|
+
actually plays. A very old engine has no `characterUrl` option and falls back to playing the clip
|
|
889
|
+
on the block character.
|
|
890
|
+
|
|
891
|
+
Beside the viewer is everything the row has no
|
|
882
892
|
room for — extent in world units, voxel count, triangle count, and the asset id, with a button to
|
|
883
893
|
copy it so you can paste it into a `bitmagic generate prop --asset …`. Escape closes it. The game
|
|
884
894
|
pauses while it is open and resumes when you close it.
|
|
@@ -1240,7 +1250,10 @@ and mirrors its bakes to the server — anything forged before that is re-forged
|
|
|
1240
1250
|
from then on, from any machine. (A forge keeps its resumable state in the project's
|
|
1241
1251
|
`.bitmagic/forge` and mirrors the browser-baked records to api-server as it goes, so `--resume`
|
|
1242
1252
|
and `--edit` both work from a clone that never ran the original forge; a mirror that fails is
|
|
1243
|
-
said once and the run continues from the local copy.
|
|
1253
|
+
said once and the run continues from the local copy. Once a forge or an edit has landed, the
|
|
1254
|
+
finished jobs under `.bitmagic/forge` that no level names any more are removed — an edited level
|
|
1255
|
+
keeps only its newest job; an unfinished job, the one `--resume` continues, is kept; the server's
|
|
1256
|
+
copies are untouched.) `--level` takes the level's id or name (`bitmagic levels list`), and
|
|
1244
1257
|
can be left out when the project has one forged level. `--edit` takes no other forge flag; a 2D
|
|
1245
1258
|
side-view level cannot be edited yet.
|
|
1246
1259
|
|
|
@@ -1311,22 +1324,95 @@ read by everything that used to assume cubes:
|
|
|
1311
1324
|
| `bitmagic cover`, `bitmagic reference make` | MagicaVoxel-style prompt lead and tail | flat-shaded low-poly lead and tail (same image model) |
|
|
1312
1325
|
| `bitmagic assets add x.glb` | voxelized in a headless browser | kept as a `glb` asset; `--voxelize` bakes it |
|
|
1313
1326
|
| `bitmagic generate model` / `prop` | voxel master, baked in the browser | mesh generated, re-uploaded into the project, registered as `glb` (`--height` / the placeholder's fitBox); `--voxelize` bakes it |
|
|
1314
|
-
| `bitmagic generate
|
|
1327
|
+
| `bitmagic character generate` | voxelized rig, library search first | the textured low-poly rig; its own library shelf, searched only where the server has enabled it; `--voxelize` overrides |
|
|
1328
|
+
| `bitmagic character search` / `add` | searches the voxel shelf | searches the low-poly shelf |
|
|
1315
1329
|
| `bitmagic generate vehicle` | voxel | still voxel — the builder is voxel-native; the command says so |
|
|
1316
1330
|
| `bitmagic judge` with no `## Art direction` | grades the style it sees | judges within low-poly |
|
|
1317
1331
|
| the engine on load | sunset hemisphere light and a faint bloom | neither; a `MeshLevel` brings its own lighting |
|
|
1318
1332
|
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1333
|
+
### Characters
|
|
1334
|
+
|
|
1335
|
+
Characters are their own command group, because two different requests used to
|
|
1336
|
+
share one command:
|
|
1337
|
+
|
|
1338
|
+
```
|
|
1339
|
+
bitmagic character generate --name guard --prompt "..." [--fresh]
|
|
1340
|
+
bitmagic character search --prompt "..." [--limit 5] [--representation voxel|lowpoly]
|
|
1341
|
+
bitmagic character add --name guard (--id <sid> | --prompt "...")
|
|
1342
|
+
```
|
|
1343
|
+
|
|
1344
|
+
- **`generate`** forges a new body and costs sparks. It still consults the
|
|
1345
|
+
library first and substitutes a close-enough stored one where the server has
|
|
1346
|
+
that enabled — that is a cache hit on a generation you asked for, and it is
|
|
1347
|
+
what makes a character sometimes arrive in two seconds. `--fresh` turns it off
|
|
1348
|
+
and always forges. (`--no-library` is the deprecated spelling of `--fresh`.)
|
|
1349
|
+
- **`search`** lists the closest ready-made bodies with their scores. Free,
|
|
1350
|
+
read-only, and it writes nothing to your game.
|
|
1351
|
+
- **`add`** puts a stored body in the game. Free, instant, and it **never
|
|
1352
|
+
forges**: if the shelf has nothing usable the command fails and charges
|
|
1353
|
+
nothing, rather than quietly falling back to a paid generation.
|
|
1354
|
+
|
|
1355
|
+
`bitmagic generate character` still works and is a deprecated alias of
|
|
1356
|
+
`bitmagic character generate`; `--library-only` on it is now
|
|
1357
|
+
`bitmagic character add`.
|
|
1358
|
+
|
|
1359
|
+
#### Why `search` exists
|
|
1360
|
+
|
|
1361
|
+
Search is not a nicety here, it is the mechanism. Scored against the live index,
|
|
1362
|
+
genuine matches land at 0.62–0.83 — and humanoid prompts the shelf *cannot*
|
|
1363
|
+
answer land at 0.55–0.70, inside that range. "A beekeeper" fetches a humanoid bee
|
|
1364
|
+
at 0.65; "a hazmat worker" a boy mechanic at 0.65. Both are confident, both are
|
|
1365
|
+
wrong, and no threshold rejects them without also rejecting real matches. A
|
|
1366
|
+
number cannot tell these apart. You can, in about a second:
|
|
1367
|
+
|
|
1368
|
+
```
|
|
1369
|
+
$ bitmagic character search --prompt "a deep sea diver"
|
|
1370
|
+
3 ready-made voxel character(s) for "a deep sea diver":
|
|
1371
|
+
|
|
1372
|
+
# id match auto description
|
|
1373
|
+
1 b1877 57% yes a bearded pirate captain
|
|
1374
|
+
2 b0412 54% - a man in a rubber raincoat
|
|
1375
|
+
3 b2003 52% - an astronaut in a white suit
|
|
1376
|
+
|
|
1377
|
+
Add one: bitmagic character add --id b1877 --name <name>
|
|
1378
|
+
```
|
|
1379
|
+
|
|
1380
|
+
The **auto** column is the bar automatic substitution has to clear (55% on the
|
|
1381
|
+
voxel shelf, 65% on the thinner low-poly one). It is shown rather than applied:
|
|
1382
|
+
a body below it is often still the one you want, and knowing it is a stretch is
|
|
1383
|
+
the useful part.
|
|
1384
|
+
|
|
1385
|
+
`add --id` reads the candidates the last `search` cached in
|
|
1386
|
+
`.bitmagic/character-search.json`, so it needs only the id — no re-search, and no
|
|
1387
|
+
retyping the prompt. `add --prompt` with no id takes the closest usable body
|
|
1388
|
+
whatever it scored, which is the "any of these will do" request.
|
|
1389
|
+
|
|
1390
|
+
Neither `--head-scale` nor `--mesh-model` exists on `add`, and that is the point
|
|
1391
|
+
of the split: proportions are baked into a stored body and a mesh model selects
|
|
1392
|
+
how a character would be *forged*. The old `--library-only` had to accept the
|
|
1393
|
+
first and refuse the second; a command that never forges simply does not offer
|
|
1394
|
+
them.
|
|
1395
|
+
|
|
1396
|
+
The shelf follows the project's art style like every other character request: a
|
|
1397
|
+
voxel game searches voxel bodies, a low-poly game searches low-poly ones, and an
|
|
1398
|
+
empty result never falls back to the other medium. `--representation` overrides
|
|
1399
|
+
it if you want to look at the other shelf.
|
|
1400
|
+
|
|
1401
|
+
#### Low-poly characters cost more to forge
|
|
1402
|
+
|
|
1403
|
+
In a low-poly game the textured rig IS the product, so `bitmagic character generate`
|
|
1404
|
+
forges it with `runware-rodin-gen-2`: a quad remesh at a triangle count we choose,
|
|
1405
|
+
with the concept sheet's own A-pose kept. **That bills 60 sparks and takes about
|
|
1406
|
+
three minutes per character**, against 15 sparks and forty seconds for a voxel
|
|
1407
|
+
body — pass `--mesh-model unified-trellis` to put one back on the cheap lane at
|
|
1408
|
+
15 sparks. A voxel game does not get it: the body is rebuilt out of cubes, so the
|
|
1409
|
+
remesh and the texture are thrown away.
|
|
1410
|
+
|
|
1411
|
+
Wall time is why the forge job budget is 20 minutes and api-server's in-handler
|
|
1412
|
+
generation deadline is 29: at the old 8-minute and 280 s ceilings a slow mesh
|
|
1413
|
+
model was killed about three seconds before it finished, after being billed.
|
|
1414
|
+
Cloud Run's own 1800 s request timeout was already high enough and is set in
|
|
1415
|
+
roleverse-infra.
|
|
1330
1416
|
|
|
1331
1417
|
Both commands print `Art style: … (game.json)` so a transcript shows which medium drove them, and a
|
|
1332
1418
|
value that is neither word is reported once and treated as voxel. The web Creator does not read
|
|
@@ -132,10 +132,19 @@ export type ClassifyMaterials = (request: {
|
|
|
132
132
|
export interface ClassifyMaterialsOptions extends MaterialsBaseOptions {
|
|
133
133
|
/** Test seam; the default posts to api-server. */
|
|
134
134
|
classify?: ClassifyMaterials;
|
|
135
|
+
/**
|
|
136
|
+
* Leave an asset that already carries material classes as it is, without
|
|
137
|
+
* asking the model. A forged archetype baked with the level's
|
|
138
|
+
* `materialByColor` map has its classes from the designer's own words; a
|
|
139
|
+
* model's guess must not overwrite them, and the round trip is wasted.
|
|
140
|
+
*/
|
|
141
|
+
skipIfClassed?: boolean;
|
|
135
142
|
}
|
|
136
143
|
export interface ClassifyMaterialsResult extends SetMaterialsResult {
|
|
137
144
|
/** The model that answered, for provenance. Absent when no verdicts came back. */
|
|
138
145
|
model?: string;
|
|
146
|
+
/** True when `skipIfClassed` found classes already on the asset and asked nothing. */
|
|
147
|
+
alreadyClassed?: boolean;
|
|
139
148
|
}
|
|
140
149
|
/**
|
|
141
150
|
* Read, classify and apply in ONE browser session: what `generate prop|model` run
|
package/dist/assets/materials.js
CHANGED
|
@@ -305,6 +305,9 @@ export async function classifyAssetMaterials(options) {
|
|
|
305
305
|
context, environment, token, log, subject: `"${name}"`, retryHint,
|
|
306
306
|
}, async (session) => {
|
|
307
307
|
const { signature, table } = await readSignatureInSession(session, { assetId, name, url, log });
|
|
308
|
+
if (options.skipIfClassed && signature.existingSlots.length > 0) {
|
|
309
|
+
return { reply: null, model: undefined, alreadyClassed: signature.existingSlots };
|
|
310
|
+
}
|
|
308
311
|
log(`Deciding what "${name}" is made of…`);
|
|
309
312
|
const answer = await classify({
|
|
310
313
|
gameId: context.metadata.gameId,
|
|
@@ -331,10 +334,12 @@ export async function classifyAssetMaterials(options) {
|
|
|
331
334
|
return { reply, model };
|
|
332
335
|
});
|
|
333
336
|
if (outcome.reply === null) {
|
|
337
|
+
const already = 'alreadyClassed' in outcome ? outcome.alreadyClassed : undefined;
|
|
334
338
|
return {
|
|
335
|
-
assetId, assetName: name, slots: [], dropped: [], baseShare: 1,
|
|
339
|
+
assetId, assetName: name, slots: already ?? [], dropped: [], baseShare: 1,
|
|
336
340
|
unchanged: true, instanceCount: countInstances(world, assetId),
|
|
337
341
|
...(outcome.model === undefined ? {} : { model: outcome.model }),
|
|
342
|
+
...(already === undefined ? {} : { alreadyClassed: true }),
|
|
338
343
|
};
|
|
339
344
|
}
|
|
340
345
|
const recorded = await recordApplied({
|
|
@@ -360,7 +365,10 @@ export async function classifyAssetMaterialsQuietly(options) {
|
|
|
360
365
|
return null;
|
|
361
366
|
try {
|
|
362
367
|
const result = await classifyAssetMaterials(options);
|
|
363
|
-
if (result.
|
|
368
|
+
if (result.alreadyClassed) {
|
|
369
|
+
log(`Materials: ${result.slots.join(', ')} — baked into "${result.assetName}" from the level's own materials.`);
|
|
370
|
+
}
|
|
371
|
+
else if (result.unchanged) {
|
|
364
372
|
log(`Materials: nothing on "${result.assetName}" needs special shading.`);
|
|
365
373
|
}
|
|
366
374
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/assets/materials.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"materials.js","sourceRoot":"","sources":["../../src/assets/materials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAwB,MAAM,8BAA8B,CAAC;AAC9G,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,WAAmB;IAC/D,OAAO,EAAE,CAAC,UAAU,CAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,4BAA4B,CAAC,CACrF,CAAC;AACJ,CAAC;AAgDD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAA8B,EAC9B,OAAe;IAEf,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,QAAQ,CAChB,qBAAqB,OAAO,kCAAkC;cAC5D,4CAA4C,CAC/C,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QAClE,MAAM,IAAI,QAAQ,CAChB,IAAI,IAAI,oEAAoE;cAC1E,uFAAuF;cACvF,oEAAoE,CACvE,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,KAA8B;IAC5D,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAClG,OAAO,UAAU,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC,WAAW,CAAC;IAChG,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,wFAAwF;AACxF,SAAS,cAAc,CAAC,KAA8B,EAAE,OAAe;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;AACzF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAuB;IAClD,IAAI,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO;IACxD,MAAM,IAAI,QAAQ,CAChB,8EAA8E;UAC5E,wFAAwF,CAC3F,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9D,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,aAAa,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC5B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG;QACtD,SAAS,EAAE,0EAA0E;KACtF,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAE9E,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,OAAO;QACL,OAAO;QACP,SAAS,EAAE,IAAI;QACf,GAAG,IAAI;QACP,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,kEAAkE;AAClE,KAAK,UAAU,sBAAsB,CACnC,EAAE,IAAI,EAAE,IAAI,EAAmB,EAC/B,MAAsF;IAEtF,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC3C,GAAG,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAC7C;QACE,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,kBAAkB,OAAO,IAAI,IAAI,EAAE;QAC9C,MAAM,EAAE,GAAG;KACZ,EACD,oCAAoC,EACpC,mBAAmB,EACnB,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,cAAc,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;QACjF,MAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,aAAa,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAA+C,CAAC;IACzE,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,kDAAkD,IAAI,IAAI,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACpF,CAAC;AA4BD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAoD;IAEpD,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9D,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IAC1D,MAAM,SAAS,GAAG,0BAA0B,IAAI,2CAA2C,CAAC;IAC5F,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC;QAC7B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,SAAS;KAClE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE;QACtC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS;QAClC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;QACnD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/B,UAAU,EAAE;gBACV,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,0EAA0E;gBAC1E,wCAAwC;gBACxC,UAAU,EAAE,OAAO;aACpB;SACF,CAAC;KACH,CAAC,CAAC,CAAC;IAEJ,OAAO,aAAa,CAAC;QACnB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK;QACjE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;KAC1C,CAAC,CAAC;AACL,CAAC;AAoBD,mEAAmE;AACnE,KAAK,UAAU,cAAc,CAC3B,EAAE,IAAI,EAAE,IAAI,EAAmB,EAC/B,MAAmB;IAEnB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACtD,GAAG,CAAC,MAAM,CAAC,KAAK;QACd,CAAC,CAAC,aAAa,IAAI,uBAAuB;QAC1C,CAAC,CAAC,YAAY,IAAI,gBAAgB,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAC7C;QACE,IAAI,EAAE,qBAAqB;QAC3B,SAAS,EAAE,iBAAiB,OAAO,IAAI,IAAI,EAAE;QAC7C,OAAO;QACP,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,GAAG;QACX,oEAAoE;QACpE,MAAM,EAAE,KAAK;QACb,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KAC9E,EACD,4BAA4B,EAC5B,mBAAmB,EACnB,EAAE,UAAU,EAAE,CAAC,EAAE,CAClB,CAAC;IACF,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,4BAA4B,SAAS,EAAE,CAAC,CAAC;IACzF,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC;QACjF,MAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,yBAAyB,MAAM,KAAK,SAAS,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,aAAa,CAAC,KAW5B;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACpF,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1G,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAErD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC7B,gFAAgF;QAChF,qEAAqE;QACrE,OAAO;YACL,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS;YACnD,SAAS,EAAE,IAAI,EAAE,aAAa;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3B,IAAI,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,QAAQ,CAAC,sCAAsC,IAAI,MAAM,SAAS,EAAE,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAe,CAAC,CAAC;IAEhF,iFAAiF;IACjF,gFAAgF;IAChF,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,QAAQ,CAChB,+DAA+D,IAAI,MAAM,SAAS,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,WAAW,EACX,KAAK,EACL;QACE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QAC/B,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,cAAc,IAAI,CAAC,GAAG,EAAE,MAAM;QAC1E,WAAW,EAAE,0BAA0B;QACvC,KAAK;KACN,EACD,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,EAAE,CACjD,CAAC;IAEF,kFAAkF;IAClF,2EAA2E;IAC3E,iFAAiF;IACjF,iFAAiF;IACjF,mFAAmF;IACnF,MAAM,YAAY,GAA0B;QAC1C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,CAAC,QAAQ,CAAC;QAChB,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO;QACvE,KAAK,EAAE;YACL,GAAG,KAAK;YACR,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,yEAAyE;YACzE,mEAAmE;YACnE,oEAAoE;YACpE,eAAe;YACf,SAAS,EAAE;gBACT,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,KAAK;gBACL,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;aAC7D;SACF;KACF,CAAC;IACF,yBAAyB,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE5F,OAAO;QACL,OAAO;QACP,SAAS,EAAE,IAAI;QACf,KAAK;QACL,OAAO;QACP,SAAS;QACT,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,aAAa;KACd,CAAC;AACJ,CAAC;AAqCD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9D,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,0BAA0B,IAAI,2CAA2C,CAAC;IAC5F,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC;IACxD,MAAM,QAAQ,GAAsB,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAC3E,WAAW,EAAE,uCAAuC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAC3F,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,IAAI,mBAAmB,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC;QAC/B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,SAAS;KAClE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnB,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAChG,IAAI,OAAO,CAAC,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;QACpF,CAAC;QAED,GAAG,CAAC,kBAAkB,IAAI,eAAe,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC;YAC5B,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC/B,SAAS,EAAE,IAAI;YACf,KAAK;YACL,aAAa,EAAE,SAAS,CAAC,IAAI;YAC7B,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;SACpD,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;YAC1C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS;YAClC,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;YACnD,UAAU,EAAE;gBACV,gBAAgB,EAAE,SAAS,CAAC,OAAO;gBACnC,aAAa,EAAE,SAAS,CAAC,IAAI;gBAC7B,QAAQ;gBACR,UAAU,EAAE,IAAI;gBAChB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;aAC1C;SACF,CAAC,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,gBAAgB,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;QACjF,OAAO;YACL,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;YACzE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC;YAC9D,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;SAC3D,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;QACnC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;QAChF,UAAU,EAAE,IAAI;QAChB,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;KACjE,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAAiC;IAEjC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IAC1C,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,SAAS,mCAAmC,CAAC,CAAC;QAClH,CAAC;aAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC5B,GAAG,CAAC,0BAA0B,MAAM,CAAC,SAAS,0BAA0B,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;kBAC1C,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,MAAM,CAAC,SAAS,2BAA2B,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,GAAG,CAAC,qDAAqD,OAAO,KAAK;cACjE,8DAA8D,OAAO,oBAAoB,CAAC,CAAC;QAC/F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAAE,SAAS;QAClC,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,SAAS;QACxG,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/cli.d.ts
CHANGED
package/dist/cli.js
CHANGED
|
@@ -22,6 +22,7 @@ import { reloadCommand } from './commands/reload.js';
|
|
|
22
22
|
import { verifyCommand } from './commands/verify.js';
|
|
23
23
|
import { buildCommand } from './commands/build.js';
|
|
24
24
|
import { generateCommand } from './commands/generate.js';
|
|
25
|
+
import { characterCommand } from './commands/character.js';
|
|
25
26
|
import { assetsCommand } from './commands/assets.js';
|
|
26
27
|
import { levelsCommand } from './commands/levels.js';
|
|
27
28
|
import { themeCommand } from './commands/theme.js';
|
|
@@ -214,6 +215,7 @@ const rawCommands = {
|
|
|
214
215
|
verify: verifyCommand,
|
|
215
216
|
build: buildCommand,
|
|
216
217
|
generate: generateCommand,
|
|
218
|
+
character: characterCommand,
|
|
217
219
|
assets: assetsCommand,
|
|
218
220
|
levels: levelsCommand,
|
|
219
221
|
theme: themeCommand,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAA0B,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,6FAA6F;AAC7F,2FAA2F;AAC3F,+FAA+F;AAC/F,gGAAgG;AAChG,8FAA8F;AAC9F,4EAA4E;AAE5E,gGAAgG;AAChG,+FAA+F;AAC/F,iFAAiF;AACjF,MAAM,WAAW,GAAG,IAAI,OAAO,EAAU,CAAC;AAE1C;;;;;GAKG;AACH,SAAS,aAAa,CACpB,OAAsB;IAEtB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IACjC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IACxD,OAAO,IAA2C,CAAC;AACrD,CAAC;AAeD,MAAM,WAAW,GAAmB;IAClC,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,kBAAkB;IAC1B,eAAe,EAAE,qBAAqB;IACtC,GAAG,EAAE,IAAI,CAAC,GAAG;CACd,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,SAAS,iBAAiB,CACxB,OAAsB,EACtB,IAAyC,EACzC,IAAY;IAEZ,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACvD,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAoB,OAAsB;IAC9D,6FAA6F;IAC7F,8FAA8F;IAC9F,MAAM,IAAI,GAAY,OAAO,CAAC,IAAI,CAAC;IACnC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;IAC/C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,OAAsB,EACtB,OAAe,aAAa,CAAC,OAAO,CAAC,EACrC,OAAuB,WAAW;IAElC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAChC,MAAM,OAAO,GAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IAE9C,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;YACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAClF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,uFAAuF;YACvF,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,sFAAsF;YACtF,sEAAsE;YACtE,EAAE;YACF,yFAAyF;YACzF,wFAAwF;YACxF,uFAAuF;YACvF,0BAA0B;YAC1B,uFAAuF;YACvF,wFAAwF;YACxF,qFAAqF;YACrF,qFAAqF;YACrF,mDAAmD;YACnD,MAAM,QAAQ,GAAG,KAAK,EAAE,OAAoD,EAAE,EAAE;gBAC9E,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBACtG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7B,OAAO,MAAM,CAAC;YAChB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,kFAAkF;oBAClF,uFAAuF;oBACvF,uFAAuF;oBACvF,yDAAyD;oBACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC9E,CAAC;oBACD,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC;oBAC5F,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC/B,CAAC;gBACD,uFAAuF;gBACvF,yFAAyF;gBACzF,yCAAyC;gBACzC,MAAM,QAAQ,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC1E,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAC;QACF,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,8FAA8F;IAC9F,+FAA+F;IAC/F,+FAA+F;IAC/F,8FAA8F;IAC9F,yFAAyF;IACzF,iFAAiF;IACjF,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CACtC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAC1G,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAA4B;IACnE,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACvE,CAAC;AAED,4FAA4F;AAC5F,+FAA+F;AAC/F,+DAA+D;AAC/D,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,YAAY;IACnB,MAAM,EAAE,aAAa;IACrB,eAAe,EAAE,mBAAmB;IACpC,MAAM,EAAE,aAAa;IACrB,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,YAAY;IACnB,SAAS,EAAE,gBAAgB;IAC3B,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,aAAa;IACrB,0FAA0F;IAC1F,+FAA+F;IAC/F,2DAA2D;IAC3D,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,cAAc;IACvB,aAAa,EAAE,iBAAiB;IAChC,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,QAAQ,EAAE,eAAe;IACzB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,cAAc;IACvB,GAAG,EAAE,UAAU;IACf,KAAK,EAAE,YAAY;CACpB,CAAC;AAIF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,WAAW,CAA+C,CAAC,GAAG,CAC5E,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC5D,CAC0C,CAAC;AAE9C,iGAAiG;AACjG,8FAA8F;AAC9F,uFAAuF;AACvF,4FAA4F;AAC5F,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAC;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,WAAW,EAAE,gDAAgD;KAC9D;IACD,WAAW;CACZ,CAAC,CAAC;AAEH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;GAKG;AACH,SAAS,WAAW,CAAC,IAAY,EAAE,OAAgB;IACjD,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QACjD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC/D,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChG,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,OAAiB,EAAE,OAAgB;IAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC;QACjD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;gBAAE,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAED,uGAAuG;AACvG,SAAS,cAAc,CACrB,IAAyC,EACzC,IAAY;IAEZ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACxC,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACtC,MAAM,IAAI,GAAY,GAAG,CAAC,IAAI,CAAC;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC5D,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,CAAC;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4FAA4F;AAC5F,SAAS,aAAa,CAAC,IAAyC;IAC9D,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE;QAClB,MAAM,IAAI,GAAY,GAAG,CAAC,IAAI,CAAC;QAC/B,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAK,IAA6B,CAAC,MAAM,KAAK,IAAI,CAAC;IACrG,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAiB,EACjB,OAA4B,IAA2B;IAEvD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,SAAS,GAAG,OAAO,CAAC;IACxB,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1B,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtE,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAY,CAAC,CAAC;QAC1E,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAW,CAAC;QACxC,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO,CACL,oBAAoB,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI;gBAC3E,cAAc,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACjD,qBAAqB,MAAM,IAAI,IAAI,2CAA2C;gBAC9E,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,KAAK,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type CharacterSearchRecord } from '../project/character-search.js';
|
|
2
|
+
import { type CharacterArgs } from '../generate/character-body.js';
|
|
3
|
+
/**
|
|
4
|
+
* What `bitmagic character add` will ask for, from its flags and the cached search.
|
|
5
|
+
*
|
|
6
|
+
* Pure, and separated from the command so the branch that matters — which of the
|
|
7
|
+
* two forms was asked for, and whether the cache can answer it — is testable
|
|
8
|
+
* without a project, a token or a network. It returns the character args rather
|
|
9
|
+
* than a body so the shared `buildCharacterBody` still owns the wire shape.
|
|
10
|
+
*/
|
|
11
|
+
export declare function resolveAddRequest(args: {
|
|
12
|
+
name: string;
|
|
13
|
+
id?: string;
|
|
14
|
+
prompt?: string;
|
|
15
|
+
applyToPlayer?: boolean;
|
|
16
|
+
record: CharacterSearchRecord | null;
|
|
17
|
+
}): CharacterArgs;
|
|
18
|
+
export declare const characterCommand: import("citty").CommandDef<import("citty").ArgsDef>;
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `bitmagic character` — make one, look through the ready-made ones, or add one.
|
|
3
|
+
*
|
|
4
|
+
* Its own noun group rather than three flags on `bitmagic generate character`,
|
|
5
|
+
* because the shelf and the forge are two different requests that happened to
|
|
6
|
+
* share a command:
|
|
7
|
+
*
|
|
8
|
+
* generate costs sparks, makes a new body, may substitute a close stored one
|
|
9
|
+
* search free, read-only, shows what the shelf has and how close it is
|
|
10
|
+
* add free, puts a stored body in the game, never forges
|
|
11
|
+
*
|
|
12
|
+
* The old surface expressed "add" as `generate character --library-only`, a
|
|
13
|
+
* command that generates nothing, and it carried two flags that existed only to
|
|
14
|
+
* be refused on that path (`--head-scale` was accepted, reported and dropped;
|
|
15
|
+
* `--mesh-model` was rejected outright). Both refusals disappear here, because a
|
|
16
|
+
* command that never forges simply does not offer the flags that pick how a
|
|
17
|
+
* forge runs.
|
|
18
|
+
*
|
|
19
|
+
* `search` exists because no similarity floor can do this job. Measured against
|
|
20
|
+
* the live index, genuine matches score 0.624-0.831 while humanoid prompts the
|
|
21
|
+
* shelf cannot answer score 0.552-0.698 — overlapping, so a threshold that keeps
|
|
22
|
+
* the good ones keeps "a humanoid bee" for "a beekeeper" too. A person reading
|
|
23
|
+
* three captions settles in a second what a number cannot settle at all.
|
|
24
|
+
*/
|
|
25
|
+
import { defineCommand } from 'citty';
|
|
26
|
+
import { CliError } from '../errors.js';
|
|
27
|
+
import { createOutput } from '../output.js';
|
|
28
|
+
import { apiGet } from '../http/client.js';
|
|
29
|
+
import { resolveArtStyle } from '../project/art-style.js';
|
|
30
|
+
import { findCachedCandidate, readCharacterSearch, writeCharacterSearch, } from '../project/character-search.js';
|
|
31
|
+
import { ORIGINAL_PROMPT_FLAG, withParent } from '../telemetry/creator-prompt.js';
|
|
32
|
+
import { JSON_FLAG, resolveRun, runAssetGeneration } from './generate.js';
|
|
33
|
+
import { APPLY_TO_PLAYER_ARG, buildCharacterBody, defaultVoxelizeForProject, FRESH_ARG, HEAD_SCALE_ARG, LIBRARY_ARG, MESH_MODEL_ARG, NAME_ARG, PROMPT_ARG, VOXELIZE_ARG, } from '../generate/character-body.js';
|
|
34
|
+
const generateCommand = defineCommand({
|
|
35
|
+
meta: {
|
|
36
|
+
name: 'generate',
|
|
37
|
+
description: 'Forge a new rigged character and add it to world.json assets. Costs sparks.',
|
|
38
|
+
},
|
|
39
|
+
args: {
|
|
40
|
+
name: NAME_ARG,
|
|
41
|
+
prompt: PROMPT_ARG,
|
|
42
|
+
'apply-to-player': APPLY_TO_PLAYER_ARG,
|
|
43
|
+
'head-scale': HEAD_SCALE_ARG,
|
|
44
|
+
fresh: FRESH_ARG,
|
|
45
|
+
library: LIBRARY_ARG,
|
|
46
|
+
voxelize: VOXELIZE_ARG,
|
|
47
|
+
'mesh-model': MESH_MODEL_ARG,
|
|
48
|
+
'original-prompt': ORIGINAL_PROMPT_FLAG,
|
|
49
|
+
json: JSON_FLAG,
|
|
50
|
+
},
|
|
51
|
+
async run({ args }) {
|
|
52
|
+
const body = buildCharacterBody({
|
|
53
|
+
name: args.name,
|
|
54
|
+
prompt: args.prompt,
|
|
55
|
+
applyToPlayer: args['apply-to-player'],
|
|
56
|
+
headScale: args['head-scale'],
|
|
57
|
+
fresh: args.fresh,
|
|
58
|
+
library: args.library,
|
|
59
|
+
voxelize: args.voxelize ?? defaultVoxelizeForProject(),
|
|
60
|
+
meshModel: args['mesh-model'],
|
|
61
|
+
});
|
|
62
|
+
await runAssetGeneration('character', 'character', withParent(body), args.json === true);
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
/** `62%` — the only form a similarity is ever shown in, so the table lines up. */
|
|
66
|
+
function percent(value) {
|
|
67
|
+
return `${Math.round(value * 100)}%`;
|
|
68
|
+
}
|
|
69
|
+
function renderCandidates(candidates, threshold, log) {
|
|
70
|
+
const width = Math.max(2, ...candidates.map((row) => row.sid.length));
|
|
71
|
+
log('');
|
|
72
|
+
log(` # ${'id'.padEnd(width)} match auto description`);
|
|
73
|
+
candidates.forEach((row, index) => {
|
|
74
|
+
// The "auto" column is why the floor is reported rather than applied: it
|
|
75
|
+
// says which of these automatic substitution would have taken, so a creator
|
|
76
|
+
// can see both that a body cleared the bar and that a weaker one exists.
|
|
77
|
+
const auto = row.similarity >= threshold ? ' yes' : ' -';
|
|
78
|
+
const label = row.subject ?? row.description ?? '';
|
|
79
|
+
log(` ${String(index + 1).padStart(1)} ${row.sid.padEnd(width)} ${percent(row.similarity).padStart(5)} ${auto} ${label.slice(0, 60)}`);
|
|
80
|
+
});
|
|
81
|
+
log('');
|
|
82
|
+
}
|
|
83
|
+
const searchCommand = defineCommand({
|
|
84
|
+
meta: {
|
|
85
|
+
name: 'search',
|
|
86
|
+
description: 'List the ready-made characters closest to a description. Free; changes nothing.',
|
|
87
|
+
},
|
|
88
|
+
args: {
|
|
89
|
+
prompt: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
required: true,
|
|
92
|
+
description: 'What the character should look like.',
|
|
93
|
+
},
|
|
94
|
+
limit: {
|
|
95
|
+
type: 'string',
|
|
96
|
+
description: 'How many candidates to list, 1-16. Default 5.',
|
|
97
|
+
},
|
|
98
|
+
representation: {
|
|
99
|
+
type: 'string',
|
|
100
|
+
description: "Which shelf to search: 'voxel' or 'lowpoly'. Omit to follow the project's art style.",
|
|
101
|
+
},
|
|
102
|
+
json: JSON_FLAG,
|
|
103
|
+
},
|
|
104
|
+
async run({ args }) {
|
|
105
|
+
const json = args.json === true;
|
|
106
|
+
const { output, runDeps, context, environment, token } = await resolveRun(json);
|
|
107
|
+
const representation = (() => {
|
|
108
|
+
const asked = args.representation;
|
|
109
|
+
// `resolveArtStyle` also reports a game.json value that is neither word,
|
|
110
|
+
// which is the same note every other art-style-aware command prints.
|
|
111
|
+
if (asked === undefined)
|
|
112
|
+
return resolveArtStyle(context.root, output.info) === 'low-poly' ? 'lowpoly' : 'voxel';
|
|
113
|
+
if (asked !== 'voxel' && asked !== 'lowpoly') {
|
|
114
|
+
throw new CliError("--representation must be 'voxel' or 'lowpoly'.", 1, 'invalid_flag');
|
|
115
|
+
}
|
|
116
|
+
return asked;
|
|
117
|
+
})();
|
|
118
|
+
const query = new URLSearchParams({
|
|
119
|
+
gameId: context.metadata.gameId,
|
|
120
|
+
prompt: args.prompt,
|
|
121
|
+
representation,
|
|
122
|
+
});
|
|
123
|
+
if (args.limit !== undefined)
|
|
124
|
+
query.set('limit', args.limit);
|
|
125
|
+
const response = await apiGet(environment, `/api/cli/v1/characters/search?${query.toString()}`, token, runDeps);
|
|
126
|
+
// Written even when empty: "the shelf has nothing like this" is a result a
|
|
127
|
+
// re-run should not have to rediscover, and an empty cache makes `add --id`
|
|
128
|
+
// say "search first" rather than "no such id".
|
|
129
|
+
writeCharacterSearch(context.root, {
|
|
130
|
+
prompt: response.prompt,
|
|
131
|
+
representation,
|
|
132
|
+
threshold: response.threshold,
|
|
133
|
+
searchedAt: new Date().toISOString(),
|
|
134
|
+
candidates: response.candidates,
|
|
135
|
+
});
|
|
136
|
+
if (response.candidates.length === 0) {
|
|
137
|
+
const nearest = response.topSimilarity !== undefined
|
|
138
|
+
? ` The closest was ${percent(response.topSimilarity)}, which had no usable file.`
|
|
139
|
+
: '';
|
|
140
|
+
output.info(`No ready-made ${representation} character matches "${response.prompt}".${nearest}`);
|
|
141
|
+
output.info(`Forge one instead: bitmagic character generate --name <name> --prompt "${response.prompt}"`);
|
|
142
|
+
output.result({ ok: true, kind: 'character search', representation, threshold: response.threshold, candidates: [], ...(response.reason ? { reason: response.reason } : {}) });
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
output.info(`${response.candidates.length} ready-made ${representation} character(s) for "${response.prompt}":`);
|
|
146
|
+
renderCandidates(response.candidates, response.threshold, output.info);
|
|
147
|
+
const best = response.candidates[0];
|
|
148
|
+
if (best.similarity < response.threshold) {
|
|
149
|
+
// Said plainly rather than hidden: on this corpus a confident-looking
|
|
150
|
+
// caption can still be the wrong character, and the creator is the only
|
|
151
|
+
// one who can tell.
|
|
152
|
+
output.info(`None clears the ${percent(response.threshold)} bar automatic substitution requires — read the captions before adding one.`);
|
|
153
|
+
}
|
|
154
|
+
output.info(`Add one: bitmagic character add --id ${best.sid} --name <name>`);
|
|
155
|
+
output.result({
|
|
156
|
+
ok: true,
|
|
157
|
+
kind: 'character search',
|
|
158
|
+
representation,
|
|
159
|
+
threshold: response.threshold,
|
|
160
|
+
candidates: response.candidates,
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
/**
|
|
165
|
+
* What `bitmagic character add` will ask for, from its flags and the cached search.
|
|
166
|
+
*
|
|
167
|
+
* Pure, and separated from the command so the branch that matters — which of the
|
|
168
|
+
* two forms was asked for, and whether the cache can answer it — is testable
|
|
169
|
+
* without a project, a token or a network. It returns the character args rather
|
|
170
|
+
* than a body so the shared `buildCharacterBody` still owns the wire shape.
|
|
171
|
+
*/
|
|
172
|
+
export function resolveAddRequest(args) {
|
|
173
|
+
if (args.id === undefined) {
|
|
174
|
+
if (args.prompt === undefined) {
|
|
175
|
+
throw new CliError('Pass --id (from `bitmagic character search`) or --prompt to take the closest match.', 1, 'invalid_flag');
|
|
176
|
+
}
|
|
177
|
+
// The no-id form: the server searches with no floor and adds the best usable
|
|
178
|
+
// body, or fails without charging. Deliberately still available — "any of
|
|
179
|
+
// these will do" is a real request, and it is one call rather than two.
|
|
180
|
+
return {
|
|
181
|
+
name: args.name,
|
|
182
|
+
prompt: args.prompt,
|
|
183
|
+
applyToPlayer: args.applyToPlayer,
|
|
184
|
+
libraryOnly: true,
|
|
185
|
+
voxelize: defaultVoxelizeForProject(),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
if (args.record === null) {
|
|
189
|
+
throw new CliError('No character search to pick from. Run `bitmagic character search --prompt "..."` first.', 1, 'no_search');
|
|
190
|
+
}
|
|
191
|
+
const candidate = findCachedCandidate(args.record, args.id);
|
|
192
|
+
if (candidate === null) {
|
|
193
|
+
const known = args.record.candidates.map((row) => row.sid).join(', ');
|
|
194
|
+
throw new CliError(`"${args.id}" was not in the last character search`
|
|
195
|
+
+ (known === '' ? ' (it found nothing).' : `. It offered: ${known}.`)
|
|
196
|
+
+ ' Run `bitmagic character search` again to pick from a fresh list.', 1, 'unknown_candidate');
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
name: args.name,
|
|
200
|
+
// The CREATOR's brief, not the library row's own caption: this is what a
|
|
201
|
+
// regeneration re-drives, so it must describe what they asked for.
|
|
202
|
+
prompt: args.prompt ?? args.record.prompt,
|
|
203
|
+
applyToPlayer: args.applyToPlayer,
|
|
204
|
+
libraryPick: {
|
|
205
|
+
sid: candidate.sid,
|
|
206
|
+
assetUrl: candidate.assetUrl,
|
|
207
|
+
similarity: candidate.similarity,
|
|
208
|
+
...(candidate.description ? { description: candidate.description } : {}),
|
|
209
|
+
},
|
|
210
|
+
// The shelf that produced the row decides the medium, not the project's art
|
|
211
|
+
// style at the moment of adding: mixing them would hand a low-poly game a
|
|
212
|
+
// pile of cubes.
|
|
213
|
+
voxelize: args.record.representation === 'voxel',
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
const addCommand = defineCommand({
|
|
217
|
+
meta: {
|
|
218
|
+
name: 'add',
|
|
219
|
+
description: 'Add a ready-made character from the library to world.json assets. Free; never forges.',
|
|
220
|
+
},
|
|
221
|
+
args: {
|
|
222
|
+
name: NAME_ARG,
|
|
223
|
+
id: {
|
|
224
|
+
type: 'string',
|
|
225
|
+
description: 'The id of a candidate from `bitmagic character search`. Omit to take the closest match to --prompt.',
|
|
226
|
+
},
|
|
227
|
+
prompt: {
|
|
228
|
+
type: 'string',
|
|
229
|
+
description: 'What the character should look like. Required without --id; with --id it defaults to the search that found it.',
|
|
230
|
+
},
|
|
231
|
+
'apply-to-player': APPLY_TO_PLAYER_ARG,
|
|
232
|
+
'original-prompt': ORIGINAL_PROMPT_FLAG,
|
|
233
|
+
json: JSON_FLAG,
|
|
234
|
+
},
|
|
235
|
+
async run({ args }) {
|
|
236
|
+
const json = args.json === true;
|
|
237
|
+
const { context } = await resolveRun(json);
|
|
238
|
+
const output = createOutput(json);
|
|
239
|
+
// Only the --id form consults the cache; the --prompt form is a fresh ask.
|
|
240
|
+
const record = args.id === undefined ? null : readCharacterSearch(context.root);
|
|
241
|
+
const request = resolveAddRequest({
|
|
242
|
+
name: args.name,
|
|
243
|
+
id: args.id,
|
|
244
|
+
prompt: args.prompt,
|
|
245
|
+
applyToPlayer: args['apply-to-player'],
|
|
246
|
+
record,
|
|
247
|
+
});
|
|
248
|
+
if (request.libraryPick) {
|
|
249
|
+
// The search's own date, not an expiry: age is worth seeing, and the
|
|
250
|
+
// catalogue only changes when somebody promotes to it.
|
|
251
|
+
output.info(`Adding ${request.libraryPick.sid} (${percent(request.libraryPick.similarity)} match`
|
|
252
|
+
+ `${record?.searchedAt ? `, from the search on ${record.searchedAt.slice(0, 10)}` : ''}).`);
|
|
253
|
+
}
|
|
254
|
+
await runAssetGeneration('character', 'character', withParent(buildCharacterBody(request)), json);
|
|
255
|
+
},
|
|
256
|
+
});
|
|
257
|
+
export const characterCommand = defineCommand({
|
|
258
|
+
meta: {
|
|
259
|
+
name: 'character',
|
|
260
|
+
description: 'Forge a character, search the ready-made ones, or add one to your game.',
|
|
261
|
+
},
|
|
262
|
+
subCommands: {
|
|
263
|
+
generate: generateCommand,
|
|
264
|
+
search: searchCommand,
|
|
265
|
+
add: addCommand,
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
//# sourceMappingURL=character.js.map
|