@playdrop/playdrop-cli 0.17.4 → 0.17.14

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.
Files changed (81) hide show
  1. package/README.md +12 -0
  2. package/config/client-meta.json +4 -4
  3. package/dist/apps/build.d.ts +2 -1
  4. package/dist/apps/build.js +6 -2
  5. package/dist/apps/index.d.ts +2 -3
  6. package/dist/apps/index.js +17 -49
  7. package/dist/apps/loadCheck.d.ts +3 -1
  8. package/dist/apps/loadCheck.js +123 -64
  9. package/dist/apps/publishingRuntime.d.ts +18 -0
  10. package/dist/apps/publishingRuntime.js +111 -0
  11. package/dist/apps/runtimeSyntax.d.ts +7 -0
  12. package/dist/apps/runtimeSyntax.js +154 -0
  13. package/dist/apps/serverBuild.d.ts +3 -3
  14. package/dist/apps/serverBuild.js +8 -43
  15. package/dist/apps/serverSdk.d.ts +23 -0
  16. package/dist/apps/serverSdk.js +157 -0
  17. package/dist/apps/upload.d.ts +9 -3
  18. package/dist/apps/upload.js +71 -25
  19. package/dist/apps/validate.d.ts +2 -1
  20. package/dist/apps/validate.js +3 -1
  21. package/dist/assetSpecs.js +2 -0
  22. package/dist/commandContext.js +34 -10
  23. package/dist/commands/build.js +3 -1
  24. package/dist/commands/create.js +35 -16
  25. package/dist/commands/dev.js +11 -0
  26. package/dist/commands/devGameServer.d.ts +8 -0
  27. package/dist/commands/devGameServer.js +12 -9
  28. package/dist/commands/devServer.d.ts +1 -0
  29. package/dist/commands/devServer.js +21 -3
  30. package/dist/commands/source.d.ts +11 -3
  31. package/dist/commands/source.js +82 -14
  32. package/dist/commands/taskCaptureSession.d.ts +1 -1
  33. package/dist/commands/taskCaptureSession.js +1 -1
  34. package/dist/commands/upload-content.js +15 -12
  35. package/dist/commands/upload.d.ts +2 -9
  36. package/dist/commands/upload.js +5 -21
  37. package/dist/commands/validate.js +1 -1
  38. package/dist/commands/worker/classification.d.ts +1 -0
  39. package/dist/commands/worker/classification.js +57 -0
  40. package/dist/commands/worker/game-server-infra.d.ts +6 -0
  41. package/dist/commands/worker/game-server-infra.js +10 -0
  42. package/dist/commands/worker/game-source-git.d.ts +9 -1
  43. package/dist/commands/worker/game-source-git.js +65 -19
  44. package/dist/commands/worker/generation.d.ts +4 -0
  45. package/dist/commands/worker/generation.js +70 -7
  46. package/dist/commands/worker.d.ts +1 -1
  47. package/dist/commands/worker.js +57 -17
  48. package/dist/environment.d.ts +1 -0
  49. package/dist/environment.js +7 -0
  50. package/dist/index.js +10 -2
  51. package/dist/playwright.d.ts +6 -4
  52. package/dist/playwright.js +24 -9
  53. package/dist/proceduralValidation.d.ts +16 -0
  54. package/dist/proceduralValidation.js +227 -0
  55. package/dist/proceduralValidationBrowser.d.mts +3 -0
  56. package/dist/proceduralValidationBrowser.mjs +67 -0
  57. package/node_modules/@playdrop/api-client/dist/domains/apps.d.ts.map +1 -1
  58. package/node_modules/@playdrop/api-client/dist/domains/apps.js +11 -1
  59. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts +6 -1
  60. package/node_modules/@playdrop/api-client/dist/domains/chat.d.ts.map +1 -1
  61. package/node_modules/@playdrop/api-client/dist/domains/chat.js +13 -1
  62. package/node_modules/@playdrop/config/client-meta.json +4 -4
  63. package/node_modules/@playdrop/procedural/dist/index.d.ts +201 -0
  64. package/node_modules/@playdrop/procedural/dist/index.d.ts.map +1 -0
  65. package/node_modules/@playdrop/procedural/dist/index.js +763 -0
  66. package/node_modules/@playdrop/procedural/package.json +36 -0
  67. package/node_modules/@playdrop/types/dist/agent-task-classification.d.ts +68 -0
  68. package/node_modules/@playdrop/types/dist/agent-task-classification.d.ts.map +1 -0
  69. package/node_modules/@playdrop/types/dist/agent-task-classification.js +96 -0
  70. package/node_modules/@playdrop/types/dist/api.d.ts +39 -4
  71. package/node_modules/@playdrop/types/dist/api.d.ts.map +1 -1
  72. package/node_modules/@playdrop/types/dist/chat.d.ts +7 -1
  73. package/node_modules/@playdrop/types/dist/chat.d.ts.map +1 -1
  74. package/node_modules/@playdrop/types/dist/index.d.ts +1 -0
  75. package/node_modules/@playdrop/types/dist/index.d.ts.map +1 -1
  76. package/node_modules/@playdrop/types/dist/index.js +2 -0
  77. package/node_modules/@playdrop/types/dist/social.d.ts +20 -0
  78. package/node_modules/@playdrop/types/dist/social.d.ts.map +1 -1
  79. package/node_modules/@playdrop/types/dist/version.d.ts +2 -0
  80. package/node_modules/@playdrop/types/dist/version.d.ts.map +1 -1
  81. package/package.json +7 -4
@@ -0,0 +1,201 @@
1
+ import type * as THREE from "three";
2
+ export declare const PLAYDROP_PROCEDURAL_PROTOCOL: "playdrop-procedural@1";
3
+ export declare const PLAYDROP_PROCEDURAL_PACK_PROTOCOL: "playdrop-procedural-pack@1";
4
+ export declare const PLAYDROP_PROCEDURAL_MANIFEST_PROTOCOL: "playdrop-procedural-manifest@1";
5
+ export type ProceduralParameterValue = number | string | boolean | null;
6
+ export type ProceduralParameterValues = Record<string, ProceduralParameterValue>;
7
+ export interface ProceduralResolvedAssetV1 {
8
+ readonly reference: string;
9
+ readonly title: string;
10
+ readonly creator: string;
11
+ readonly category: "IMAGE" | "VIDEO" | "AUDIO" | "SPRITESHEET" | "MODEL_3D" | "CUSTOM";
12
+ readonly subcategory: string | null;
13
+ readonly format: string;
14
+ readonly assetSpec: string | null;
15
+ readonly previewUrl: string | null;
16
+ readonly primary: {
17
+ readonly url: string;
18
+ readonly contentType: string | null;
19
+ /** Parsed JSON for JSON-backed assets. Binary and media assets use url. */
20
+ readonly data?: unknown;
21
+ };
22
+ }
23
+ export declare const PROCEDURAL_PARAMETER_ICON_IDS: readonly ["adjust", "asset", "angle", "color", "count", "depth", "height", "length", "light", "material", "radius", "scale", "size", "toggle", "variation", "visibility", "width"];
24
+ export type ProceduralParameterIcon = (typeof PROCEDURAL_PARAMETER_ICON_IDS)[number];
25
+ export type ProceduralParameterAffects = "geometry" | "material" | "animation";
26
+ export type ProceduralParameterControl = "auto" | "slider" | "stepper" | "toggle" | "select" | "segmented" | "color" | "palette" | "asset";
27
+ export interface ProceduralParameterPresentation {
28
+ readonly icon?: ProceduralParameterIcon;
29
+ readonly control?: ProceduralParameterControl;
30
+ readonly unit?: string;
31
+ readonly precision?: number;
32
+ readonly order?: number;
33
+ }
34
+ interface ParameterBase<T extends ProceduralParameterValue> {
35
+ readonly label: string;
36
+ readonly default: T;
37
+ readonly description?: string;
38
+ readonly group?: string;
39
+ readonly affects?: ProceduralParameterAffects;
40
+ readonly presentation?: ProceduralParameterPresentation;
41
+ }
42
+ export interface NumberParameter extends ParameterBase<number> {
43
+ readonly type: "number";
44
+ readonly min: number;
45
+ readonly max: number;
46
+ readonly step: number;
47
+ }
48
+ export interface BooleanParameter extends ParameterBase<boolean> {
49
+ readonly type: "boolean";
50
+ }
51
+ export interface ColorParameter extends ParameterBase<string> {
52
+ readonly type: "color";
53
+ }
54
+ export interface ProceduralSelectOption {
55
+ readonly value: string;
56
+ readonly label: string;
57
+ readonly swatches?: readonly string[];
58
+ }
59
+ export interface SelectParameter extends ParameterBase<string> {
60
+ readonly type: "select";
61
+ readonly options: readonly (string | ProceduralSelectOption)[];
62
+ }
63
+ export interface AssetParameterAccepts {
64
+ readonly category?: ProceduralResolvedAssetV1["category"];
65
+ readonly subcategory?: string;
66
+ readonly formats?: readonly string[];
67
+ readonly assetSpec?: string;
68
+ }
69
+ export interface AssetParameter extends ParameterBase<string | null> {
70
+ readonly type: "asset";
71
+ readonly required?: boolean;
72
+ readonly accepts: AssetParameterAccepts;
73
+ }
74
+ export type ProceduralParameterDefinition = NumberParameter | BooleanParameter | ColorParameter | SelectParameter | AssetParameter;
75
+ export interface ProceduralAnimationDefinition {
76
+ readonly id: string;
77
+ readonly label: string;
78
+ readonly group?: string;
79
+ readonly duration: number;
80
+ readonly loop: boolean;
81
+ }
82
+ export type ProceduralPresentationScenePreset = "studio" | "light" | "dark" | "outdoor";
83
+ export type ProceduralPresentationCameraView = "perspective" | "front" | "side" | "top";
84
+ export interface ProceduralAssetPresentationV1 {
85
+ readonly parameters?: Partial<ProceduralParameterValues>;
86
+ readonly animation?: {
87
+ readonly id: string;
88
+ readonly time: number;
89
+ };
90
+ readonly scene?: ProceduralPresentationScenePreset;
91
+ readonly camera?: {
92
+ readonly view?: ProceduralPresentationCameraView;
93
+ /** Degrees clockwise around the asset from its front (+Z). */
94
+ readonly azimuth?: number;
95
+ /** Degrees above the floor. */
96
+ readonly elevation?: number;
97
+ /** Framing multiplier. Values above one add space around the asset. */
98
+ readonly padding?: number;
99
+ };
100
+ }
101
+ export interface ProceduralAssetInfoV1 {
102
+ readonly protocol: typeof PLAYDROP_PROCEDURAL_PROTOCOL;
103
+ readonly id: string;
104
+ readonly title: string;
105
+ readonly version: string;
106
+ readonly kind: "model" | "vfx" | "character";
107
+ readonly summary: string;
108
+ readonly tags: readonly string[];
109
+ readonly pack: {
110
+ readonly id: string;
111
+ readonly title: string;
112
+ readonly sourceProject: string;
113
+ };
114
+ readonly sourceEntry: string;
115
+ readonly distFile: string;
116
+ readonly requirements: {
117
+ readonly renderer: "webgl";
118
+ readonly three: "0.183.2";
119
+ };
120
+ /** Viewer-owned initial setup, also used to bake the catalogue thumbnail. */
121
+ readonly presentation?: ProceduralAssetPresentationV1;
122
+ readonly character?: {
123
+ readonly rig: string;
124
+ readonly skinProtocol: string;
125
+ readonly supportedTemplates: readonly string[];
126
+ readonly unitsPerMeter: number;
127
+ readonly boneCount: number;
128
+ };
129
+ }
130
+ export interface ProceduralControlsCapability {
131
+ readonly parameters: Readonly<Record<string, ProceduralParameterDefinition>>;
132
+ values(): Readonly<ProceduralParameterValues>;
133
+ configure(values: Partial<ProceduralParameterValues>): void;
134
+ }
135
+ export interface ProceduralSelectionCapability {
136
+ readonly parts: Readonly<Record<string, THREE.Object3D>>;
137
+ readonly sockets: Readonly<Record<string, THREE.Object3D>>;
138
+ }
139
+ export interface ProceduralTimelineCapability {
140
+ readonly animations: readonly ProceduralAnimationDefinition[];
141
+ play(id: string): void;
142
+ pause(): void;
143
+ seek(seconds: number): void;
144
+ }
145
+ export interface ProceduralCharacterCapability {
146
+ readonly rig: string;
147
+ readonly template: string;
148
+ readonly skinProtocol?: string;
149
+ readonly skinId?: string;
150
+ readonly unitsPerMeter: number;
151
+ readonly boneCount: number;
152
+ }
153
+ export interface ProceduralAssetCapabilities {
154
+ readonly controls?: ProceduralControlsCapability;
155
+ readonly selection?: ProceduralSelectionCapability;
156
+ readonly timeline?: ProceduralTimelineCapability;
157
+ readonly character?: ProceduralCharacterCapability;
158
+ }
159
+ export interface ProceduralAssetInstanceV1 {
160
+ readonly object: THREE.Object3D;
161
+ readonly capabilities?: ProceduralAssetCapabilities;
162
+ reset?(): void;
163
+ update?(deltaSeconds: number, elapsedSeconds: number): void;
164
+ dispose(): void;
165
+ }
166
+ export interface ProceduralAssetContextV1 {
167
+ readonly parameters?: Partial<ProceduralParameterValues>;
168
+ /** Host-provided access to assets referenced by typed asset parameters. */
169
+ readonly resolveAsset?: (reference: string) => ProceduralResolvedAssetV1 | null;
170
+ }
171
+ export interface ProceduralAssetModuleV1 {
172
+ readonly info: ProceduralAssetInfoV1;
173
+ create(context?: ProceduralAssetContextV1): ProceduralAssetInstanceV1;
174
+ }
175
+ export interface ProceduralManifestV1 extends ProceduralAssetInfoV1 {
176
+ readonly manifestProtocol: typeof PLAYDROP_PROCEDURAL_MANIFEST_PROTOCOL;
177
+ readonly platformAssetRef: string | null;
178
+ readonly parameters: Readonly<Record<string, ProceduralParameterDefinition>>;
179
+ readonly animations: readonly ProceduralAnimationDefinition[];
180
+ readonly parts: readonly string[];
181
+ readonly sockets: readonly string[];
182
+ readonly capabilities: {
183
+ readonly controls: boolean;
184
+ readonly selection: boolean;
185
+ readonly timeline: boolean;
186
+ readonly character: boolean;
187
+ };
188
+ }
189
+ export interface ProceduralValidationResult {
190
+ readonly valid: boolean;
191
+ readonly errors: readonly string[];
192
+ }
193
+ export declare function validateProceduralParameters(definitions: unknown, values: unknown): ProceduralValidationResult;
194
+ export declare function validateCompleteProceduralParameters(definitions: unknown, values: unknown): ProceduralValidationResult;
195
+ export declare function validateResolvedAssetParameter(definition: AssetParameter, asset: ProceduralResolvedAssetV1): ProceduralValidationResult;
196
+ export declare function requireResolvedAssetParameter(context: ProceduralAssetContextV1, id: string, definition: AssetParameter): ProceduralResolvedAssetV1;
197
+ export declare function validateProceduralManifest(value: unknown): ProceduralValidationResult;
198
+ /** Pass the publication manifest to also verify the viewer's advertised contract. */
199
+ export declare function validateProceduralModule(value: unknown, context?: ProceduralAssetContextV1, manifest?: ProceduralManifestV1): ProceduralValidationResult;
200
+ export {};
201
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}