@crowdedkingdoms/crowdyjs 8.15.0 → 8.16.0
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 +16 -1
- package/dist/crowdy-client.d.ts +12 -0
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +9 -0
- package/dist/domains/admin.d.ts +4 -0
- package/dist/domains/admin.d.ts.map +1 -1
- package/dist/domains/admin.js +1 -0
- package/dist/domains/apps.d.ts +28 -1
- package/dist/domains/apps.d.ts.map +1 -1
- package/dist/domains/apps.js +52 -1
- package/dist/domains/gameApps.d.ts +17 -1
- package/dist/domains/gameApps.d.ts.map +1 -1
- package/dist/domains/gameApps.js +29 -1
- package/dist/domains/marketplace.d.ts +137 -0
- package/dist/domains/marketplace.d.ts.map +1 -0
- package/dist/domains/marketplace.js +241 -0
- package/dist/domains/playerCompute.d.ts +85 -0
- package/dist/domains/playerCompute.d.ts.map +1 -0
- package/dist/domains/playerCompute.js +127 -0
- package/dist/domains/playerModel.d.ts +20 -0
- package/dist/domains/playerModel.d.ts.map +1 -0
- package/dist/domains/playerModel.js +54 -0
- package/dist/domains/playerWallet.d.ts +59 -0
- package/dist/domains/playerWallet.d.ts.map +1 -0
- package/dist/domains/playerWallet.js +106 -0
- package/dist/generated/graphql.d.ts +3357 -125
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +185 -1
- package/dist/index.d.ts +12 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/kit/npcs.d.ts.map +1 -1
- package/dist/kit/social.d.ts.map +1 -1
- package/dist/live-coding/live-coding-controller.d.ts +73 -0
- package/dist/live-coding/live-coding-controller.d.ts.map +1 -0
- package/dist/live-coding/live-coding-controller.js +140 -0
- package/dist/live-coding/mount.d.ts +26 -0
- package/dist/live-coding/mount.d.ts.map +1 -0
- package/dist/live-coding/mount.js +108 -0
- package/dist/live-coding/templates.d.ts +17 -0
- package/dist/live-coding/templates.d.ts.map +1 -0
- package/dist/live-coding/templates.js +59 -0
- package/dist/player-runtime/player-code-broker.d.ts +101 -0
- package/dist/player-runtime/player-code-broker.d.ts.map +1 -0
- package/dist/player-runtime/player-code-broker.js +251 -0
- package/dist/player-runtime/player-glue-worker.d.ts +62 -0
- package/dist/player-runtime/player-glue-worker.d.ts.map +1 -0
- package/dist/player-runtime/player-glue-worker.js +127 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -89,7 +89,16 @@ export { TeamsAPI } from './domains/teams.js';
|
|
|
89
89
|
export { UdpAPI } from './domains/udp.js';
|
|
90
90
|
export { GameModelAPI } from './domains/gameModel.js';
|
|
91
91
|
export { ComputeAPI, COMPUTE_SDK_VERSION, COMPUTE_ABI_VERSION, type DeployVersionOptions, type WaitForCompileOptions, } from './domains/compute.js';
|
|
92
|
-
export
|
|
93
|
-
export
|
|
94
|
-
export {
|
|
92
|
+
export { PlayerComputeAPI } from './domains/playerCompute.js';
|
|
93
|
+
export { PlayerWalletAPI } from './domains/playerWallet.js';
|
|
94
|
+
export { MarketplaceAPI } from './domains/marketplace.js';
|
|
95
|
+
export { PlayerModelAPI } from './domains/playerModel.js';
|
|
96
|
+
export { PlayerCodeBroker, type PlayerCodeBrokerOptions, type PlayerCodeGridBounds, type PlayerCodeHostCall, type PlayerCodeWorkerLike, type PlayerCodePresentation, } from './player-runtime/player-code-broker.js';
|
|
97
|
+
export { GLUE_HOST_FUNCTIONS, buildImportObject, parseFuelBudget, runWithWatchdog, type GlueInitMessage, type GlueDispatchResult, } from './player-runtime/player-glue-worker.js';
|
|
98
|
+
export { LiveCodingController, type LiveCodingControllerOptions, type LiveCodingStatus, type LiveCodingTarget, } from './live-coding/live-coding-controller.js';
|
|
99
|
+
export { mountLiveCoding, type MountLiveCodingOptions, type LiveCodingHandle, } from './live-coding/mount.js';
|
|
100
|
+
export { PLAYER_CODE_TEMPLATES, templateById, type PlayerCodeTemplate, } from './live-coding/templates.js';
|
|
101
|
+
export type { ChunkCoordinatesInput, VoxelCoordinatesInput, ActorUpdateRequestInput, VoxelUpdateRequestInput, ClientAudioPacketInput, ClientTextPacketInput, ClientEventNotificationInput, UdpProxyConnectionStatus, RealtimeConnectionEvent, GameClientBootstrap, PlayerWasmModule, PlayerWasmModuleVersion, DeployPlayerComputeInput, GridOwnership, AssignGridOwnershipInput, TransferGridOwnershipInput, UpdateGamertagInput, CreateActorInput, UpdateActorInput, ActorFilterInput, BatchActorLookupInput, CreateUserAppStateInput, UpdateUserStateInput, UpdateAvatarStateInput, UpdateActorStateInput, UpdateChunkStateInput, UpdateChunkLodsInput, ChunkUpdateInput, UpdateVoxelInput, RollbackVoxelUpdatesInput, GetChunkInput, GetChunkLodsInput, GetChunksByDistanceInput, GetVoxelListInput, ListVoxelsInput, ListVoxelUpdatesByDistanceInput, TeleportRequestInput, LodDataInput, VoxelStateInput, Chunk, ChunkLodsResponse, ChunksByDistanceResponse, ChunkVoxelResponse, ChunkVoxelUpdatesResponse, Voxel, VoxelUpdatesByDistanceResponse, VoxelUpdateHistoryEvent, RollbackVoxelEventResult, Actor, Avatar, AvatarDto, TeleportResponse, UserAppState, ServerStatus, GraphQlServer, ServerVersionInfo, VersionInfo, PageInfo, UdpNotificationsSubscription, GmContainer, GmContainerState, GmContainerType, GmPropertyDef, GmFunction, GmFunctionParam, GmFunctionMutation, GmSession, GmSessionParticipant, GmEdge, GmTraverseResult, GmInvokeResult, GmMutationApplied, GmEvent, GmTypeSchema, GmAppFeature, GmTierFeature, GmAppPolicy, GmSeedResult, UpsertContainerTypeInput, UpsertPropertyDefInput, UpsertFunctionInput, FunctionParamInput, FunctionMutationInput, SeedGameModelInput, SeedContainerInput, SeedContainerTypeInput, SeedPropertyDefInput, SeedFunctionInput, SeedEdgeInput, SeedPropertyInput, CreateSessionInput, JoinSessionInput, SetSessionTurnInput, CreateContainerInput, SetContainerPropertyInput, AddEdgeInput, InvokeFunctionInput, DefineAppFeatureInput, GrantTierFeatureInput, SetGameModelPolicyInput, Scalars, } from './generated/graphql.js';
|
|
102
|
+
export type { CreateAppInput, UpdateAppInput, CreateOrganizationInput, CreateOrgTokenInput, UpdateOrgTokenInput, InviteOrgMemberInput, CreateOrgRoleInput, UpdateOrgRoleInput, CreateAccessTierInput, UpdateAccessTierInput, GrantAppAccessInput, CreateCheckoutInput, CheckoutFilterInput, SetQuotaInput, AppCodeAdmission, AdmitAppCodeInput, } from './generated/graphql.js';
|
|
103
|
+
export { ServerState, AppVisibility, PlayerComputeTarget, GridOwnerKind, GridTenure, CodeAdmissionMode, CodeAdmissionSubjectKind, } from './generated/graphql.js';
|
|
95
104
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -92,4 +92,13 @@ export { TeamsAPI } from './domains/teams.js';
|
|
|
92
92
|
export { UdpAPI } from './domains/udp.js';
|
|
93
93
|
export { GameModelAPI } from './domains/gameModel.js';
|
|
94
94
|
export { ComputeAPI, COMPUTE_SDK_VERSION, COMPUTE_ABI_VERSION, } from './domains/compute.js';
|
|
95
|
-
export {
|
|
95
|
+
export { PlayerComputeAPI } from './domains/playerCompute.js';
|
|
96
|
+
export { PlayerWalletAPI } from './domains/playerWallet.js';
|
|
97
|
+
export { MarketplaceAPI } from './domains/marketplace.js';
|
|
98
|
+
export { PlayerModelAPI } from './domains/playerModel.js';
|
|
99
|
+
export { PlayerCodeBroker, } from './player-runtime/player-code-broker.js';
|
|
100
|
+
export { GLUE_HOST_FUNCTIONS, buildImportObject, parseFuelBudget, runWithWatchdog, } from './player-runtime/player-glue-worker.js';
|
|
101
|
+
export { LiveCodingController, } from './live-coding/live-coding-controller.js';
|
|
102
|
+
export { mountLiveCoding, } from './live-coding/mount.js';
|
|
103
|
+
export { PLAYER_CODE_TEMPLATES, templateById, } from './live-coding/templates.js';
|
|
104
|
+
export { ServerState, AppVisibility, PlayerComputeTarget, GridOwnerKind, GridTenure, CodeAdmissionMode, CodeAdmissionSubjectKind, } from './generated/graphql.js';
|
package/dist/kit/npcs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npcs.d.ts","sourceRoot":"","sources":["../../src/kit/npcs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,0EAA0E;AAC1E,MAAM,WAAW,cAAc;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,MAAM;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,qBAAa,OAAO;IAKhB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAE1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAP3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGjB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EACjC,SAAS,EAAE,YAAY,EACxC,OAAO,GAAE,cAAmB,EACX,OAAO,CAAC,EAAE,cAAc,YAAA;IAM3C;;;;;OAKG;IACH,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKnC;;;;;;;;;OASG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE;IAW/D,0EAA0E;IACpE,KAAK,CAAC,KAAK,EAAE;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB;;;;;;;;;;;IAuBD;;;;OAIG;IACG,IAAI,CAAC,OAAO,GAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAclF,gDAAgD;IAC1C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3C,8EAA8E;IACxE,MAAM,CAAC,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAInC;;;OAGG;IACG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQzD,6EAA6E;IACvE,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM;;;;;;;;;;;;sBA+
|
|
1
|
+
{"version":3,"file":"npcs.d.ts","sourceRoot":"","sources":["../../src/kit/npcs.ts"],"names":[],"mappings":"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"}
|
package/dist/kit/social.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../src/kit/social.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGvD,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;IAMlB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAT3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAGlB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EACjC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAC3B,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,QAAQ,EAAE,WAAW,EACtC,OAAO,GAAE,gBAAqB;IAOhC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,UAAU;IASlB,uDAAuD;YACzC,UAAU;IAuBxB,mDAAmD;YACrC,QAAQ;IAetB,sEAAsE;IACtE,QAAQ,CAAC,KAAK;QACZ,2EAA2E;uBACtD,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAAC;QAI1D,4BAA4B;qBACT,MAAM,KAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;QAIpE;;;WAGG;wBACmB,mBAAmB,UAAU,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;;;;;;;;
|
|
1
|
+
{"version":3,"file":"social.d.ts","sourceRoot":"","sources":["../../src/kit/social.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { PlayerComputeAPI } from '../domains/playerCompute.js';
|
|
2
|
+
import type { PlayerWalletAPI } from '../domains/playerWallet.js';
|
|
3
|
+
import { PlayerCodeBroker, type PlayerCodeBrokerOptions, type PlayerCodeGridBounds } from '../player-runtime/player-code-broker.js';
|
|
4
|
+
export type LiveCodingTarget = 'server' | 'client';
|
|
5
|
+
export interface LiveCodingStatus {
|
|
6
|
+
phase: 'idle' | 'deploying' | 'compiling' | 'compile_failed' | 'enabling' | 'running' | 'error';
|
|
7
|
+
target: LiveCodingTarget;
|
|
8
|
+
message?: string;
|
|
9
|
+
compileLog?: string | null;
|
|
10
|
+
/** Remaining-budget snapshot from playerComputeUsage, when loaded. */
|
|
11
|
+
usage?: {
|
|
12
|
+
hourUnitsUsed: string;
|
|
13
|
+
unitsPerHour: string | null;
|
|
14
|
+
compilesThisHour: number;
|
|
15
|
+
maxCompilesPerHour: number;
|
|
16
|
+
gateStatus: string;
|
|
17
|
+
gateReason: string | null;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface LiveCodingControllerOptions {
|
|
21
|
+
playerCompute: Pick<PlayerComputeAPI, 'deploy' | 'setEnabled' | 'usage' | 'runs' | 'logs' | 'versions' | 'artifactBytes'>;
|
|
22
|
+
playerWallet?: Pick<PlayerWalletAPI, 'balance'>;
|
|
23
|
+
/** BigInt scalars are strings on the wire (codegen). */
|
|
24
|
+
appId: string;
|
|
25
|
+
gridId: string;
|
|
26
|
+
grid: PlayerCodeGridBounds;
|
|
27
|
+
/** The platform glue worker asset URL for client deploys. */
|
|
28
|
+
workerUrl: string | URL;
|
|
29
|
+
/** Page-side host-call router for the broker (World Stores reads + owner effects). */
|
|
30
|
+
onHostCall: PlayerCodeBrokerOptions['onHostCall'];
|
|
31
|
+
onPresentation?: PlayerCodeBrokerOptions['onPresentation'];
|
|
32
|
+
onStatus?: (status: LiveCodingStatus) => void;
|
|
33
|
+
/** Poll interval for compile status (ms). */
|
|
34
|
+
pollMs?: number;
|
|
35
|
+
/** Injectable clock/sleep + broker factory for tests. */
|
|
36
|
+
sleep?: (ms: number) => Promise<void>;
|
|
37
|
+
brokerFactory?: (options: PlayerCodeBrokerOptions) => PlayerCodeBroker;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Headless driver for the live-coding deploy loop (08), shared by the DOM
|
|
41
|
+
* panel and any custom host UI. It owns the edit -> deploy -> compile-poll ->
|
|
42
|
+
* (server) enable / (client) fetch+respawn state machine, surfaces compile
|
|
43
|
+
* feedback and the quota/wallet meters, and manages the client broker
|
|
44
|
+
* lifecycle. All IO is injected so it is unit-testable without a browser.
|
|
45
|
+
*/
|
|
46
|
+
export declare class LiveCodingController {
|
|
47
|
+
private readonly options;
|
|
48
|
+
private broker;
|
|
49
|
+
private status;
|
|
50
|
+
constructor(options: LiveCodingControllerOptions);
|
|
51
|
+
getStatus(): LiveCodingStatus;
|
|
52
|
+
private set;
|
|
53
|
+
private sleep;
|
|
54
|
+
/** Refresh the quota/wallet meter for the panel. */
|
|
55
|
+
refreshUsage(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Deploy source and run it. For server targets: deploy -> poll compile ->
|
|
58
|
+
* enable. For client targets: deploy -> poll compile -> fetch bytes ->
|
|
59
|
+
* (re)spawn the broker worker. Draft mode suppresses server egress to other
|
|
60
|
+
* sessions while iterating.
|
|
61
|
+
*/
|
|
62
|
+
deploy(input: {
|
|
63
|
+
name: string;
|
|
64
|
+
target: LiveCodingTarget;
|
|
65
|
+
sourceFilesJson: string;
|
|
66
|
+
tickHz?: number;
|
|
67
|
+
draft?: boolean;
|
|
68
|
+
}): Promise<void>;
|
|
69
|
+
private pollCompile;
|
|
70
|
+
private runClient;
|
|
71
|
+
stop(): void;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=live-coding-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-coding-controller.d.ts","sourceRoot":"","sources":["../../src/live-coding/live-coding-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EAC1B,MAAM,yCAAyC,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EACD,MAAM,GACN,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,UAAU,GACV,SAAS,GACT,OAAO,CAAC;IACZ,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,sEAAsE;IACtE,KAAK,CAAC,EAAE;QACN,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,gBAAgB,EAAE,MAAM,CAAC;QACzB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,EAAE,IAAI,CACjB,gBAAgB,EAChB,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,eAAe,CACnF,CAAC;IACF,YAAY,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IAChD,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,oBAAoB,CAAC;IAC3B,6DAA6D;IAC7D,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC;IACxB,sFAAsF;IACtF,UAAU,EAAE,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAClD,cAAc,CAAC,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,gBAAgB,CAAC;CACxE;AAED;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAInB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,MAAM,CAAyD;gBAE1C,OAAO,EAAE,2BAA2B;IAEjE,SAAS,IAAI,gBAAgB;IAI7B,OAAO,CAAC,GAAG;IAKX,OAAO,CAAC,KAAK;IAMb,oDAAoD;IAC9C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBnC;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,gBAAgB,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,IAAI,CAAC;YA6CH,WAAW;YAoBX,SAAS;IA2BvB,IAAI,IAAI,IAAI;CAKb"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { PlayerCodeBroker, } from '../player-runtime/player-code-broker.js';
|
|
2
|
+
/**
|
|
3
|
+
* Headless driver for the live-coding deploy loop (08), shared by the DOM
|
|
4
|
+
* panel and any custom host UI. It owns the edit -> deploy -> compile-poll ->
|
|
5
|
+
* (server) enable / (client) fetch+respawn state machine, surfaces compile
|
|
6
|
+
* feedback and the quota/wallet meters, and manages the client broker
|
|
7
|
+
* lifecycle. All IO is injected so it is unit-testable without a browser.
|
|
8
|
+
*/
|
|
9
|
+
export class LiveCodingController {
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.options = options;
|
|
12
|
+
this.broker = null;
|
|
13
|
+
this.status = { phase: 'idle', target: 'server' };
|
|
14
|
+
}
|
|
15
|
+
getStatus() {
|
|
16
|
+
return this.status;
|
|
17
|
+
}
|
|
18
|
+
set(next) {
|
|
19
|
+
this.status = { ...this.status, ...next };
|
|
20
|
+
this.options.onStatus?.(this.status);
|
|
21
|
+
}
|
|
22
|
+
sleep(ms) {
|
|
23
|
+
return (this.options.sleep ?? ((d) => new Promise((r) => setTimeout(r, d))))(ms);
|
|
24
|
+
}
|
|
25
|
+
/** Refresh the quota/wallet meter for the panel. */
|
|
26
|
+
async refreshUsage() {
|
|
27
|
+
const usage = await this.options.playerCompute.usage({
|
|
28
|
+
appId: this.options.appId,
|
|
29
|
+
});
|
|
30
|
+
this.set({
|
|
31
|
+
usage: {
|
|
32
|
+
hourUnitsUsed: String(usage.hourUnitsUsed),
|
|
33
|
+
unitsPerHour: usage.unitsPerHour != null ? String(usage.unitsPerHour) : null,
|
|
34
|
+
compilesThisHour: usage.compilesThisHour,
|
|
35
|
+
maxCompilesPerHour: usage.maxCompilesPerHour,
|
|
36
|
+
gateStatus: usage.gateStatus,
|
|
37
|
+
gateReason: usage.gateReason ?? null,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Deploy source and run it. For server targets: deploy -> poll compile ->
|
|
43
|
+
* enable. For client targets: deploy -> poll compile -> fetch bytes ->
|
|
44
|
+
* (re)spawn the broker worker. Draft mode suppresses server egress to other
|
|
45
|
+
* sessions while iterating.
|
|
46
|
+
*/
|
|
47
|
+
async deploy(input) {
|
|
48
|
+
const { name, target } = input;
|
|
49
|
+
this.set({ phase: 'deploying', target, message: undefined, compileLog: null });
|
|
50
|
+
let version;
|
|
51
|
+
try {
|
|
52
|
+
version = await this.options.playerCompute.deploy({
|
|
53
|
+
appId: this.options.appId,
|
|
54
|
+
gridId: this.options.gridId,
|
|
55
|
+
name,
|
|
56
|
+
target: target === 'server' ? 'SERVER' : 'CLIENT',
|
|
57
|
+
sourceFilesJson: input.sourceFilesJson,
|
|
58
|
+
tickHz: input.tickHz,
|
|
59
|
+
draft: input.draft,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
// Compile-quota refusals and cap breaches surface here (P2 governor).
|
|
64
|
+
this.set({ phase: 'error', message: err.message });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const compiled = await this.pollCompile(name, version.versionId);
|
|
68
|
+
if (!compiled.ok) {
|
|
69
|
+
this.set({
|
|
70
|
+
phase: 'compile_failed',
|
|
71
|
+
message: 'compile failed',
|
|
72
|
+
compileLog: compiled.log,
|
|
73
|
+
});
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (target === 'server') {
|
|
77
|
+
this.set({ phase: 'enabling' });
|
|
78
|
+
await this.options.playerCompute.setEnabled({
|
|
79
|
+
appId: this.options.appId,
|
|
80
|
+
gridId: this.options.gridId,
|
|
81
|
+
name,
|
|
82
|
+
enabled: true,
|
|
83
|
+
});
|
|
84
|
+
this.set({ phase: 'running', message: 'server module live' });
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
await this.runClient(name);
|
|
88
|
+
}
|
|
89
|
+
await this.refreshUsage().catch(() => { });
|
|
90
|
+
}
|
|
91
|
+
async pollCompile(name, versionId) {
|
|
92
|
+
this.set({ phase: 'compiling' });
|
|
93
|
+
const pollMs = this.options.pollMs ?? 1500;
|
|
94
|
+
for (let i = 0; i < 60; i++) {
|
|
95
|
+
const versions = await this.options.playerCompute.versions({
|
|
96
|
+
appId: this.options.appId,
|
|
97
|
+
gridId: this.options.gridId,
|
|
98
|
+
name,
|
|
99
|
+
});
|
|
100
|
+
const v = versions.find((row) => row.versionId === versionId);
|
|
101
|
+
if (v?.compileStatus === 'succeeded')
|
|
102
|
+
return { ok: true, log: v.compileLog ?? null };
|
|
103
|
+
if (v?.compileStatus === 'failed')
|
|
104
|
+
return { ok: false, log: v.compileLog ?? null };
|
|
105
|
+
await this.sleep(pollMs);
|
|
106
|
+
}
|
|
107
|
+
return { ok: false, log: 'compile timed out' };
|
|
108
|
+
}
|
|
109
|
+
async runClient(name) {
|
|
110
|
+
const artifact = await this.options.playerCompute.artifactBytes({
|
|
111
|
+
appId: this.options.appId,
|
|
112
|
+
gridId: this.options.gridId,
|
|
113
|
+
name,
|
|
114
|
+
});
|
|
115
|
+
const options = {
|
|
116
|
+
workerUrl: this.options.workerUrl,
|
|
117
|
+
grid: this.options.grid,
|
|
118
|
+
artifactHash: artifact.artifactHash,
|
|
119
|
+
fuelPerDispatch: artifact.fuelPerDispatch,
|
|
120
|
+
onHostCall: this.options.onHostCall,
|
|
121
|
+
onPresentation: this.options.onPresentation,
|
|
122
|
+
};
|
|
123
|
+
const broker = this.options.brokerFactory?.(options) ?? new PlayerCodeBroker(options);
|
|
124
|
+
if (this.broker) {
|
|
125
|
+
await broker.start(artifact.bytes);
|
|
126
|
+
this.broker.stop();
|
|
127
|
+
this.broker = broker;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
await broker.start(artifact.bytes);
|
|
131
|
+
this.broker = broker;
|
|
132
|
+
}
|
|
133
|
+
this.set({ phase: 'running', message: 'client module live in the sandbox' });
|
|
134
|
+
}
|
|
135
|
+
stop() {
|
|
136
|
+
this.broker?.stop();
|
|
137
|
+
this.broker = null;
|
|
138
|
+
this.set({ phase: 'idle' });
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { LiveCodingController, type LiveCodingControllerOptions } from './live-coding-controller.js';
|
|
2
|
+
import { type PlayerCodeTemplate } from './templates.js';
|
|
3
|
+
export interface MountLiveCodingOptions extends Omit<LiveCodingControllerOptions, 'onStatus'> {
|
|
4
|
+
/** Module name to deploy under; defaults to a per-grid scratch name. */
|
|
5
|
+
moduleName?: string;
|
|
6
|
+
/** Templates offered in the picker; defaults to the built-in starter set. */
|
|
7
|
+
templates?: PlayerCodeTemplate[];
|
|
8
|
+
/** Deploy in draft mode by default (server egress suppressed while iterating). */
|
|
9
|
+
draftByDefault?: boolean;
|
|
10
|
+
}
|
|
11
|
+
export interface LiveCodingHandle {
|
|
12
|
+
controller: LiveCodingController;
|
|
13
|
+
destroy: () => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Mount the live-coding panel into a host element (08 option A). Deliberately
|
|
17
|
+
* dependency-free DOM: a textarea editor, target + template pickers, deploy /
|
|
18
|
+
* draft-deploy / stop buttons, a status+console line, and the quota/wallet
|
|
19
|
+
* meter. Games skin it via the returned nodes or their own CSS; a game that
|
|
20
|
+
* wants a custom UI can drive LiveCodingController directly instead.
|
|
21
|
+
*
|
|
22
|
+
* Safe to import in non-DOM contexts; mounting throws only if called without
|
|
23
|
+
* a document.
|
|
24
|
+
*/
|
|
25
|
+
export declare function mountLiveCoding(el: HTMLElement, options: MountLiveCodingOptions): LiveCodingHandle;
|
|
26
|
+
//# sourceMappingURL=mount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/live-coding/mount.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,KAAK,2BAA2B,EAEjC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAExB,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,2BAA2B,EAAE,UAAU,CAAC;IACrD,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACjC,kFAAkF;IAClF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,sBAAsB,GAC9B,gBAAgB,CAmFlB"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { LiveCodingController, } from './live-coding-controller.js';
|
|
2
|
+
import { PLAYER_CODE_TEMPLATES, } from './templates.js';
|
|
3
|
+
/**
|
|
4
|
+
* Mount the live-coding panel into a host element (08 option A). Deliberately
|
|
5
|
+
* dependency-free DOM: a textarea editor, target + template pickers, deploy /
|
|
6
|
+
* draft-deploy / stop buttons, a status+console line, and the quota/wallet
|
|
7
|
+
* meter. Games skin it via the returned nodes or their own CSS; a game that
|
|
8
|
+
* wants a custom UI can drive LiveCodingController directly instead.
|
|
9
|
+
*
|
|
10
|
+
* Safe to import in non-DOM contexts; mounting throws only if called without
|
|
11
|
+
* a document.
|
|
12
|
+
*/
|
|
13
|
+
export function mountLiveCoding(el, options) {
|
|
14
|
+
if (typeof document === 'undefined') {
|
|
15
|
+
throw new Error('mountLiveCoding requires a DOM document');
|
|
16
|
+
}
|
|
17
|
+
const templates = options.templates ?? PLAYER_CODE_TEMPLATES;
|
|
18
|
+
const moduleName = options.moduleName ?? 'scratch-mod';
|
|
19
|
+
const root = document.createElement('div');
|
|
20
|
+
root.className = 'ck-live-coding';
|
|
21
|
+
const targetSelect = document.createElement('select');
|
|
22
|
+
for (const t of ['server', 'client']) {
|
|
23
|
+
const opt = document.createElement('option');
|
|
24
|
+
opt.value = t;
|
|
25
|
+
opt.textContent = t;
|
|
26
|
+
targetSelect.appendChild(opt);
|
|
27
|
+
}
|
|
28
|
+
const templateSelect = document.createElement('select');
|
|
29
|
+
const editor = document.createElement('textarea');
|
|
30
|
+
editor.className = 'ck-live-coding-editor';
|
|
31
|
+
editor.rows = 20;
|
|
32
|
+
const refreshTemplates = () => {
|
|
33
|
+
templateSelect.innerHTML = '';
|
|
34
|
+
for (const t of templates.filter((t) => t.target === targetSelect.value)) {
|
|
35
|
+
const opt = document.createElement('option');
|
|
36
|
+
opt.value = t.id;
|
|
37
|
+
opt.textContent = t.title;
|
|
38
|
+
templateSelect.appendChild(opt);
|
|
39
|
+
}
|
|
40
|
+
const first = templates.find((t) => t.target === targetSelect.value);
|
|
41
|
+
if (first)
|
|
42
|
+
editor.value = first.sourceFilesJson;
|
|
43
|
+
};
|
|
44
|
+
templateSelect.addEventListener('change', () => {
|
|
45
|
+
const t = templates.find((t) => t.id === templateSelect.value);
|
|
46
|
+
if (t)
|
|
47
|
+
editor.value = t.sourceFilesJson;
|
|
48
|
+
});
|
|
49
|
+
targetSelect.addEventListener('change', refreshTemplates);
|
|
50
|
+
const deployBtn = button('Deploy');
|
|
51
|
+
const draftBtn = button('Deploy draft');
|
|
52
|
+
const stopBtn = button('Stop');
|
|
53
|
+
const status = document.createElement('pre');
|
|
54
|
+
status.className = 'ck-live-coding-status';
|
|
55
|
+
const meter = document.createElement('div');
|
|
56
|
+
meter.className = 'ck-live-coding-meter';
|
|
57
|
+
const controller = new LiveCodingController({
|
|
58
|
+
...options,
|
|
59
|
+
onStatus: (s) => renderStatus(status, meter, s),
|
|
60
|
+
});
|
|
61
|
+
const doDeploy = (draft) => void controller
|
|
62
|
+
.deploy({
|
|
63
|
+
name: moduleName,
|
|
64
|
+
target: targetSelect.value,
|
|
65
|
+
sourceFilesJson: editor.value,
|
|
66
|
+
draft: draft || options.draftByDefault,
|
|
67
|
+
})
|
|
68
|
+
.catch((err) => {
|
|
69
|
+
status.textContent = `error: ${err.message}`;
|
|
70
|
+
});
|
|
71
|
+
deployBtn.addEventListener('click', () => doDeploy(false));
|
|
72
|
+
draftBtn.addEventListener('click', () => doDeploy(true));
|
|
73
|
+
stopBtn.addEventListener('click', () => controller.stop());
|
|
74
|
+
const controls = document.createElement('div');
|
|
75
|
+
controls.className = 'ck-live-coding-controls';
|
|
76
|
+
controls.append(targetSelect, templateSelect, deployBtn, draftBtn, stopBtn);
|
|
77
|
+
root.append(controls, editor, status, meter);
|
|
78
|
+
el.appendChild(root);
|
|
79
|
+
refreshTemplates();
|
|
80
|
+
void controller.refreshUsage().catch(() => { });
|
|
81
|
+
return {
|
|
82
|
+
controller,
|
|
83
|
+
destroy: () => {
|
|
84
|
+
controller.stop();
|
|
85
|
+
root.remove();
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
function button(label) {
|
|
90
|
+
const b = document.createElement('button');
|
|
91
|
+
b.type = 'button';
|
|
92
|
+
b.textContent = label;
|
|
93
|
+
return b;
|
|
94
|
+
}
|
|
95
|
+
function renderStatus(status, meter, s) {
|
|
96
|
+
const parts = [`[${s.target}] ${s.phase}`];
|
|
97
|
+
if (s.message)
|
|
98
|
+
parts.push(s.message);
|
|
99
|
+
if (s.compileLog)
|
|
100
|
+
parts.push('\n' + s.compileLog);
|
|
101
|
+
status.textContent = parts.join(' ');
|
|
102
|
+
if (s.usage) {
|
|
103
|
+
const gate = s.usage.gateStatus === 'active'
|
|
104
|
+
? 'active'
|
|
105
|
+
: `${s.usage.gateStatus}${s.usage.gateReason ? ` (${s.usage.gateReason})` : ''}`;
|
|
106
|
+
meter.textContent = `units ${s.usage.hourUnitsUsed}/${s.usage.unitsPerHour ?? '∞'} · compiles ${s.usage.compilesThisHour}/${s.usage.maxCompilesPerHour} · gate ${gate}`;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Starter templates for the live-coding panel (08 §5). These are minimal,
|
|
3
|
+
* compile-ready single-file mods written against the public host surface —
|
|
4
|
+
* the panel seeds them and games (BWF) supply their own richer set. Each
|
|
5
|
+
* value is the JSON source map playerComputeDeploy expects.
|
|
6
|
+
*/
|
|
7
|
+
export interface PlayerCodeTemplate {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
target: 'server' | 'client';
|
|
11
|
+
description: string;
|
|
12
|
+
/** JSON string: { "Cargo.toml": "...", "src/lib.rs": "..." } */
|
|
13
|
+
sourceFilesJson: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const PLAYER_CODE_TEMPLATES: PlayerCodeTemplate[];
|
|
16
|
+
export declare function templateById(id: string): PlayerCodeTemplate | undefined;
|
|
17
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/live-coding/templates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAC;CACzB;AAoBD,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAiDrD,CAAC;AAEF,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEvE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
function cargo(name) {
|
|
2
|
+
return `[package]
|
|
3
|
+
name = "${name}"
|
|
4
|
+
version = "0.1.0"
|
|
5
|
+
edition = "2021"
|
|
6
|
+
|
|
7
|
+
[lib]
|
|
8
|
+
crate-type = ["cdylib"]
|
|
9
|
+
|
|
10
|
+
[dependencies]
|
|
11
|
+
crowdy-compute-sdk = "0.1.5"
|
|
12
|
+
`;
|
|
13
|
+
}
|
|
14
|
+
function src(name, lib) {
|
|
15
|
+
return JSON.stringify({ 'Cargo.toml': cargo(name), 'src/lib.rs': lib });
|
|
16
|
+
}
|
|
17
|
+
export const PLAYER_CODE_TEMPLATES = [
|
|
18
|
+
{
|
|
19
|
+
id: 'server-ticker',
|
|
20
|
+
title: 'Grid ticker (server)',
|
|
21
|
+
target: 'server',
|
|
22
|
+
description: 'A low-rate server tick you can grow into an auto-farm or spawner.',
|
|
23
|
+
sourceFilesJson: src('grid-ticker', `fn on_init() {}
|
|
24
|
+
fn on_tick(_dt: u32) {
|
|
25
|
+
// Runs on the server as the grid owner while someone is in the grid.
|
|
26
|
+
// Read/write only inside your grid; egress is grid-clamped.
|
|
27
|
+
}
|
|
28
|
+
fn on_invoke(_payload: &[u8]) -> Vec<u8> { Vec::new() }
|
|
29
|
+
crowdy_compute_sdk::register_module!(init: on_init, tick: on_tick, invoke: on_invoke);`),
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
id: 'server-invoke',
|
|
33
|
+
title: 'Invoke tool (server)',
|
|
34
|
+
target: 'server',
|
|
35
|
+
description: 'A callable export a client tool or automation can invoke as you.',
|
|
36
|
+
sourceFilesJson: src('invoke-tool', `fn on_init() {}
|
|
37
|
+
fn on_tick(_dt: u32) {}
|
|
38
|
+
fn on_invoke(_payload: &[u8]) -> Vec<u8> {
|
|
39
|
+
b"{\\"ok\\":true}".to_vec()
|
|
40
|
+
}
|
|
41
|
+
crowdy_compute_sdk::register_module!(init: on_init, tick: on_tick, invoke: on_invoke);`),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
id: 'client-hud',
|
|
45
|
+
title: 'Grid HUD (client)',
|
|
46
|
+
target: 'client',
|
|
47
|
+
description: 'A browser mod that draws a HUD panel for your grid via the presentation hook.',
|
|
48
|
+
sourceFilesJson: src('grid-hud', `fn on_init() {}
|
|
49
|
+
fn on_tick(_dt: u32) {
|
|
50
|
+
// Client-side, runs as you in the browser sandbox. Use the hud_set host
|
|
51
|
+
// call (via the SDK) to render into the game's mod HUD region.
|
|
52
|
+
}
|
|
53
|
+
fn on_invoke(_payload: &[u8]) -> Vec<u8> { Vec::new() }
|
|
54
|
+
crowdy_compute_sdk::register_module!(init: on_init, tick: on_tick, invoke: on_invoke);`),
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
export function templateById(id) {
|
|
58
|
+
return PLAYER_CODE_TEMPLATES.find((t) => t.id === id);
|
|
59
|
+
}
|