@playdrop/playdrop-cli 0.4.2 → 0.5.1
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 +4 -4
- package/config/client-meta.json +7 -7
- package/dist/apps/upload.js +26 -0
- package/dist/captureRuntime.js +2 -8
- package/dist/catalogue.d.ts +18 -1
- package/dist/catalogue.js +198 -0
- package/dist/commands/changelog.d.ts +1 -0
- package/dist/commands/changelog.js +7 -0
- package/dist/commands/create.js +2 -0
- package/dist/commands/documentation.js +24 -4
- package/dist/commands/publicPages.d.ts +1 -0
- package/dist/commands/publicPages.js +32 -0
- package/dist/index.js +19 -6
- package/dist/sessionCookie.d.ts +18 -0
- package/dist/sessionCookie.js +103 -0
- package/dist/taskSelection.js +2 -0
- package/node_modules/@playdrop/ai-client/package.json +1 -1
- package/node_modules/@playdrop/api-client/dist/client.d.ts +43 -1
- package/node_modules/@playdrop/api-client/dist/client.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/client.js +6 -0
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts +7 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/admin.js +63 -0
- package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/domains/apps.js +13 -0
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts +42 -0
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.d.ts.map +1 -0
- package/node_modules/@playdrop/api-client/dist/domains/player-meta.js +123 -0
- package/node_modules/@playdrop/api-client/dist/index.d.ts +28 -1
- package/node_modules/@playdrop/api-client/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/api-client/dist/index.js +45 -0
- package/node_modules/@playdrop/api-client/package.json +1 -1
- package/node_modules/@playdrop/boxel-core/package.json +1 -1
- package/node_modules/@playdrop/boxel-three/package.json +1 -1
- package/node_modules/@playdrop/config/client-meta.json +7 -7
- package/node_modules/@playdrop/config/dist/tsconfig.tsbuildinfo +1 -1
- package/node_modules/@playdrop/config/package.json +1 -1
- package/node_modules/@playdrop/types/dist/api.d.ts +8 -1
- package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/index.d.ts +1 -0
- package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/index.js +1 -0
- package/node_modules/@playdrop/types/dist/player-meta.d.ts +212 -0
- package/node_modules/@playdrop/types/dist/player-meta.d.ts.map +1 -0
- package/node_modules/@playdrop/types/dist/player-meta.js +114 -0
- package/node_modules/@playdrop/types/dist/version.d.ts +20 -0
- package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
- package/node_modules/@playdrop/types/dist/version.js +31 -0
- package/node_modules/@playdrop/types/package.json +1 -1
- package/node_modules/@playdrop/vox-three/package.json +1 -1
- package/package.json +1 -1
- package/dist/commands/gettingStarted.d.ts +0 -1
- package/dist/commands/gettingStarted.js +0 -26
- package/node_modules/@playdrop/boxel-core/dist/test/entity-utils.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/entity-utils.test.js +0 -92
- package/node_modules/@playdrop/boxel-core/dist/test/entity-utils.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/greedy-mesher.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/greedy-mesher.test.js +0 -48
- package/node_modules/@playdrop/boxel-core/dist/test/greedy-mesher.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/humanoid/humanoid-builders.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/humanoid/humanoid-builders.test.js +0 -270
- package/node_modules/@playdrop/boxel-core/dist/test/humanoid/humanoid-builders.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/index.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/index.test.js +0 -48
- package/node_modules/@playdrop/boxel-core/dist/test/index.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/layer-mode.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/layer-mode.test.js +0 -67
- package/node_modules/@playdrop/boxel-core/dist/test/layer-mode.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/materials.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/materials.test.js +0 -55
- package/node_modules/@playdrop/boxel-core/dist/test/materials.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/palette-tools.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/palette-tools.test.js +0 -124
- package/node_modules/@playdrop/boxel-core/dist/test/palette-tools.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/serialization.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/serialization.test.js +0 -35
- package/node_modules/@playdrop/boxel-core/dist/test/serialization.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/textures.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/textures.test.js +0 -120
- package/node_modules/@playdrop/boxel-core/dist/test/textures.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/types.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/types.test.js +0 -32
- package/node_modules/@playdrop/boxel-core/dist/test/types.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/upscale.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/upscale.test.js +0 -100
- package/node_modules/@playdrop/boxel-core/dist/test/upscale.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/validation.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/validation.test.js +0 -61
- package/node_modules/@playdrop/boxel-core/dist/test/validation.test.js.map +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/voxels.test.d.ts +0 -1
- package/node_modules/@playdrop/boxel-core/dist/test/voxels.test.js +0 -51
- package/node_modules/@playdrop/boxel-core/dist/test/voxels.test.js.map +0 -1
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
|
-
const promises_1 = require("node:fs/promises");
|
|
8
|
-
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
-
const node_test_1 = __importDefault(require("node:test"));
|
|
10
|
-
const src_1 = require("../src");
|
|
11
|
-
const FIXTURES_DIR = node_path_1.default.resolve(process.cwd(), 'test/fixtures');
|
|
12
|
-
const loadEntity = async (file) => {
|
|
13
|
-
const raw = await (0, promises_1.readFile)(node_path_1.default.join(FIXTURES_DIR, file), 'utf8');
|
|
14
|
-
return JSON.parse(raw);
|
|
15
|
-
};
|
|
16
|
-
(0, node_test_1.default)('validateBoxel returns parsed boxel for valid fixture', async () => {
|
|
17
|
-
const candidate = await loadEntity('box_grass.json');
|
|
18
|
-
const { boxel, issues } = (0, src_1.validateBoxel)(candidate);
|
|
19
|
-
strict_1.default.ok(boxel, 'expected boxel to validate');
|
|
20
|
-
strict_1.default.equal(issues.length, 0);
|
|
21
|
-
strict_1.default.equal(boxel?.patterns.length, 3);
|
|
22
|
-
});
|
|
23
|
-
(0, node_test_1.default)('assertBoxel throws with aggregated issues for invalid payloads', () => {
|
|
24
|
-
const invalid = {
|
|
25
|
-
id: '',
|
|
26
|
-
geometry: {
|
|
27
|
-
id: 123,
|
|
28
|
-
root: {
|
|
29
|
-
id: 'root',
|
|
30
|
-
position: [0, 0],
|
|
31
|
-
children: 'not-an-array',
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
primitives: [{ id: 1, kind: 'plain_box', size: [1] }],
|
|
35
|
-
patterns: [],
|
|
36
|
-
materials: [],
|
|
37
|
-
textures: [],
|
|
38
|
-
animations: [],
|
|
39
|
-
};
|
|
40
|
-
try {
|
|
41
|
-
(0, src_1.assertBoxel)(invalid);
|
|
42
|
-
strict_1.default.fail('Expected validation to throw');
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
strict_1.default.ok(error instanceof src_1.BoxelValidationError);
|
|
46
|
-
strict_1.default.ok(error.issues.length >= 3, 'should surface multiple issues');
|
|
47
|
-
const paths = error.issues.map(issue => issue.path);
|
|
48
|
-
strict_1.default.ok(paths.some(path => path.includes('boxel.id')));
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
(0, node_test_1.default)('collectBoxelValidationIssues mirrors validateBoxel diagnostics', async () => {
|
|
52
|
-
const invalid = await loadEntity('box_grass.json');
|
|
53
|
-
// remove primitive reference to trigger issues
|
|
54
|
-
if (typeof invalid === 'object' && invalid && 'geometry' in invalid) {
|
|
55
|
-
invalid.geometry.root.mesh = 'missing';
|
|
56
|
-
}
|
|
57
|
-
const issues = (0, src_1.collectBoxelValidationIssues)(invalid);
|
|
58
|
-
strict_1.default.ok(issues.length >= 1);
|
|
59
|
-
strict_1.default.ok(issues[0].path.includes('boxel.geometry'));
|
|
60
|
-
});
|
|
61
|
-
//# sourceMappingURL=validation.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.test.js","sourceRoot":"","sources":["../../test/validation.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const strict_1 = __importDefault(require("node:assert/strict"));
|
|
7
|
-
const node_test_1 = __importDefault(require("node:test"));
|
|
8
|
-
const src_1 = require("../src");
|
|
9
|
-
const size = [2, 2, 2];
|
|
10
|
-
(0, node_test_1.default)('createFilledVoxelData produces expected volume', () => {
|
|
11
|
-
const voxels = (0, src_1.createFilledVoxelData)(size, 3);
|
|
12
|
-
strict_1.default.equal(voxels.length, 8);
|
|
13
|
-
strict_1.default.ok(voxels.every(value => value === 3));
|
|
14
|
-
});
|
|
15
|
-
(0, node_test_1.default)('validateVoxelData guards voxel arrays', () => {
|
|
16
|
-
const valid = (0, src_1.createFilledVoxelData)(size, 0);
|
|
17
|
-
strict_1.default.equal((0, src_1.validateVoxelData)(valid, size), true);
|
|
18
|
-
const invalid = valid.slice(0, 3);
|
|
19
|
-
strict_1.default.equal((0, src_1.validateVoxelData)(invalid, size), false);
|
|
20
|
-
});
|
|
21
|
-
(0, node_test_1.default)('setVoxelAt respects bounds', () => {
|
|
22
|
-
const voxels = (0, src_1.createFilledVoxelData)(size, 0);
|
|
23
|
-
(0, src_1.setVoxelAt)(voxels, size, { x: 1, y: 1, z: 1 }, 5);
|
|
24
|
-
strict_1.default.equal(voxels[(0, src_1.getVoxelIndex)(size, { x: 1, y: 1, z: 1 })], 5);
|
|
25
|
-
(0, src_1.setVoxelAt)(voxels, size, { x: 3, y: 0, z: 0 }, 7);
|
|
26
|
-
strict_1.default.equal(voxels.includes(7), false);
|
|
27
|
-
});
|
|
28
|
-
(0, node_test_1.default)('forEachVoxel iterates through every cell', () => {
|
|
29
|
-
const voxels = (0, src_1.createFilledVoxelData)(size, 0);
|
|
30
|
-
let count = 0;
|
|
31
|
-
const indices = [];
|
|
32
|
-
const voxelBox = {
|
|
33
|
-
id: 'voxel_box',
|
|
34
|
-
kind: 'voxel_box',
|
|
35
|
-
size,
|
|
36
|
-
palette: ['material_default'],
|
|
37
|
-
voxels,
|
|
38
|
-
};
|
|
39
|
-
(0, src_1.forEachVoxel)(voxelBox, info => {
|
|
40
|
-
count += 1;
|
|
41
|
-
indices.push(info);
|
|
42
|
-
});
|
|
43
|
-
strict_1.default.equal(count, 8);
|
|
44
|
-
strict_1.default.equal(indices[0].index, 0);
|
|
45
|
-
});
|
|
46
|
-
(0, node_test_1.default)('clampSizeAxis enforces expected range', () => {
|
|
47
|
-
strict_1.default.equal((0, src_1.clampSizeAxis)(0), 1);
|
|
48
|
-
strict_1.default.equal((0, src_1.clampSizeAxis)(10.8), 10);
|
|
49
|
-
strict_1.default.equal((0, src_1.clampSizeAxis)(128), 64);
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=voxels.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"voxels.test.js","sourceRoot":"","sources":["../../test/voxels.test.ts"],"names":[],"mappings":"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"}
|