@multitapio/multitap 0.0.8 → 0.0.9
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/dist/codegen/generator.d.ts +2 -0
- package/dist/codegen/generator.d.ts.map +1 -1
- package/dist/codegen/rust.d.ts +1 -0
- package/dist/codegen/rust.d.ts.map +1 -1
- package/dist/codegen/typescript.d.ts +1 -0
- package/dist/codegen/typescript.d.ts.map +1 -1
- package/dist/lib.js +1 -1
- package/dist/types/codegen/generator.d.ts +2 -0
- package/dist/types/codegen/generator.d.ts.map +1 -1
- package/dist/types/codegen/rust.d.ts +1 -0
- package/dist/types/codegen/rust.d.ts.map +1 -1
- package/dist/types/codegen/typescript.d.ts +1 -0
- package/dist/types/codegen/typescript.d.ts.map +1 -1
- package/dist/vite/index.js +12 -6
- package/package.json +1 -1
- package/dist/.stamp +0 -0
|
@@ -13,6 +13,8 @@ import type { CompiledStateSchema, CompiledInputSchema } from '../schema';
|
|
|
13
13
|
export interface GeneratorOptions {
|
|
14
14
|
/** Optional plugin name for prefixing (e.g., "physics") */
|
|
15
15
|
pluginName?: string;
|
|
16
|
+
/** Maximum number of participants (default: 8) */
|
|
17
|
+
maxParticipants?: number;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Code generator interface.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAM1E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAM1E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC;IAEzC;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAEnD;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAEnD;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC;CAC9E;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB9C;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CASpE;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD"}
|
package/dist/codegen/rust.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type { Generator, GeneratorOptions } from './generator';
|
|
|
14
14
|
export declare class RustGenerator implements Generator {
|
|
15
15
|
readonly language: "rust";
|
|
16
16
|
private opts;
|
|
17
|
+
private maxParticipants;
|
|
17
18
|
constructor(opts?: GeneratorOptions);
|
|
18
19
|
generateState(schema: CompiledStateSchema): string;
|
|
19
20
|
generateInput(schema: CompiledInputSchema): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/codegen/rust.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/codegen/rust.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA05C/D;;;GAGG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,GAAE,gBAAqB;IAKvC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA2ClD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA2BlD,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAe7E"}
|
|
@@ -14,6 +14,7 @@ import type { Generator, GeneratorOptions } from './generator';
|
|
|
14
14
|
export declare class TypeScriptGenerator implements Generator {
|
|
15
15
|
readonly language: "typescript";
|
|
16
16
|
private opts;
|
|
17
|
+
private maxParticipants;
|
|
17
18
|
constructor(opts?: GeneratorOptions);
|
|
18
19
|
generateState(schema: CompiledStateSchema): string;
|
|
19
20
|
generateInput(schema: CompiledInputSchema): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/codegen/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAMpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/codegen/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAMpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmlD/D;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAC1C,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,GAAE,gBAAqB;IAKvC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA0ClD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IAyClD,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAG7E"}
|
package/dist/lib.js
CHANGED
|
@@ -9523,7 +9523,7 @@ var MobaView = {
|
|
|
9523
9523
|
// src/react/views/AsteroidsView.ts
|
|
9524
9524
|
import { Quaternion as Quaternion14, Vector3 as Vector314 } from "three";
|
|
9525
9525
|
var DEFAULT_DISTANCE8 = 50;
|
|
9526
|
-
var DEFAULT_ANGLE3 =
|
|
9526
|
+
var DEFAULT_ANGLE3 = 0;
|
|
9527
9527
|
var DEFAULT_ROTATION_SENSITIVITY = 4;
|
|
9528
9528
|
var DEFAULT_FOLLOW_SPEED5 = 10;
|
|
9529
9529
|
var UP = new Vector314(0, 1, 0);
|
|
@@ -13,6 +13,8 @@ import type { CompiledStateSchema, CompiledInputSchema } from '../schema';
|
|
|
13
13
|
export interface GeneratorOptions {
|
|
14
14
|
/** Optional plugin name for prefixing (e.g., "physics") */
|
|
15
15
|
pluginName?: string;
|
|
16
|
+
/** Maximum number of participants (default: 8) */
|
|
17
|
+
maxParticipants?: number;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Code generator interface.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAM1E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/codegen/generator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAM1E;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC;IAEzC;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAEnD;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC;IAEnD;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAAC;CAC9E;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK7C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB9C;AAmBD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CASpE;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAYjD;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBnD"}
|
|
@@ -14,6 +14,7 @@ import type { Generator, GeneratorOptions } from './generator';
|
|
|
14
14
|
export declare class RustGenerator implements Generator {
|
|
15
15
|
readonly language: "rust";
|
|
16
16
|
private opts;
|
|
17
|
+
private maxParticipants;
|
|
17
18
|
constructor(opts?: GeneratorOptions);
|
|
18
19
|
generateState(schema: CompiledStateSchema): string;
|
|
19
20
|
generateInput(schema: CompiledInputSchema): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/codegen/rust.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"rust.d.ts","sourceRoot":"","sources":["../../../src/codegen/rust.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA05C/D;;;GAGG;AACH,qBAAa,aAAc,YAAW,SAAS;IAC7C,QAAQ,CAAC,QAAQ,EAAG,MAAM,CAAU;IACpC,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,GAAE,gBAAqB;IAKvC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA2ClD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA2BlD,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAe7E"}
|
|
@@ -14,6 +14,7 @@ import type { Generator, GeneratorOptions } from './generator';
|
|
|
14
14
|
export declare class TypeScriptGenerator implements Generator {
|
|
15
15
|
readonly language: "typescript";
|
|
16
16
|
private opts;
|
|
17
|
+
private maxParticipants;
|
|
17
18
|
constructor(opts?: GeneratorOptions);
|
|
18
19
|
generateState(schema: CompiledStateSchema): string;
|
|
19
20
|
generateInput(schema: CompiledInputSchema): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/codegen/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAMpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../../src/codegen/typescript.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EAMpB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmlD/D;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,SAAS;IACnD,QAAQ,CAAC,QAAQ,EAAG,YAAY,CAAU;IAC1C,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,eAAe,CAAS;gBAEpB,IAAI,GAAE,gBAAqB;IAKvC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IA0ClD,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IAyClD,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM;CAG7E"}
|
package/dist/vite/index.js
CHANGED
|
@@ -566,7 +566,7 @@ function fieldElemSize(field) {
|
|
|
566
566
|
}
|
|
567
567
|
return getElementSize(field.type);
|
|
568
568
|
}
|
|
569
|
-
function generateStateHeader(schema) {
|
|
569
|
+
function generateStateHeader(schema, maxParticipants) {
|
|
570
570
|
return `// TypeScript State Bindings
|
|
571
571
|
// Auto-generated - do not edit
|
|
572
572
|
// MaxEntities: ${schema.maxEntities}
|
|
@@ -586,6 +586,7 @@ export function stateView(state: Uint8Array): DataView {
|
|
|
586
586
|
// =============================================================================
|
|
587
587
|
|
|
588
588
|
export const MAX_ENTITIES = ${schema.maxEntities};
|
|
589
|
+
export const MAX_PARTICIPANTS = ${maxParticipants};
|
|
589
590
|
export const HEADER_SIZE = ${schema.headerSize};
|
|
590
591
|
export const ENTITY_TABLE_OFFSET = ${schema.entityTableOffset};
|
|
591
592
|
export const ENTITY_RECORD_SIZE = ${schema.entityRecordSize};
|
|
@@ -1937,11 +1938,13 @@ export function get${pascal}${argPascal}FromPayload(payload: Uint8Array): ${tsIn
|
|
|
1937
1938
|
var TypeScriptGenerator = class {
|
|
1938
1939
|
language = "typescript";
|
|
1939
1940
|
opts;
|
|
1941
|
+
maxParticipants;
|
|
1940
1942
|
constructor(opts = {}) {
|
|
1941
1943
|
this.opts = opts;
|
|
1944
|
+
this.maxParticipants = opts.maxParticipants ?? 8;
|
|
1942
1945
|
}
|
|
1943
1946
|
generateState(schema) {
|
|
1944
|
-
let out = generateStateHeader(schema);
|
|
1947
|
+
let out = generateStateHeader(schema, this.maxParticipants);
|
|
1945
1948
|
out += generateComponentOffsets(schema);
|
|
1946
1949
|
out += generateEntityHelpers();
|
|
1947
1950
|
out += generateIterationHelpers(schema);
|
|
@@ -2159,7 +2162,7 @@ function fieldElemSize2(field) {
|
|
|
2159
2162
|
}
|
|
2160
2163
|
return getElementSize(field.type);
|
|
2161
2164
|
}
|
|
2162
|
-
function generateStateHeader2(schema) {
|
|
2165
|
+
function generateStateHeader2(schema, maxParticipants) {
|
|
2163
2166
|
return `// Language: Rust
|
|
2164
2167
|
// MaxEntities: ${schema.maxEntities}
|
|
2165
2168
|
// TotalSize: ${schema.totalSize} bytes
|
|
@@ -2171,6 +2174,7 @@ use core::ptr;
|
|
|
2171
2174
|
// =============================================================================
|
|
2172
2175
|
|
|
2173
2176
|
pub const MAX_ENTITIES: u32 = ${schema.maxEntities};
|
|
2177
|
+
pub const MAX_PARTICIPANTS: u8 = ${maxParticipants};
|
|
2174
2178
|
pub const HEADER_SIZE: u32 = ${schema.headerSize};
|
|
2175
2179
|
pub const ENTITY_TABLE_OFFSET: u32 = ${schema.entityTableOffset};
|
|
2176
2180
|
pub const ENTITY_RECORD_SIZE: u32 = ${schema.entityRecordSize};
|
|
@@ -3358,11 +3362,13 @@ static ALLOC: HostAlloc = HostAlloc;
|
|
|
3358
3362
|
var RustGenerator = class {
|
|
3359
3363
|
language = "rust";
|
|
3360
3364
|
opts;
|
|
3365
|
+
maxParticipants;
|
|
3361
3366
|
constructor(opts = {}) {
|
|
3362
3367
|
this.opts = opts;
|
|
3368
|
+
this.maxParticipants = opts.maxParticipants ?? 8;
|
|
3363
3369
|
}
|
|
3364
3370
|
generateState(schema) {
|
|
3365
|
-
let out = generateStateHeader2(schema);
|
|
3371
|
+
let out = generateStateHeader2(schema, this.maxParticipants);
|
|
3366
3372
|
out += generateComponentOffsets2(schema);
|
|
3367
3373
|
out += generateMemoryHelpers();
|
|
3368
3374
|
out += generateInternalHelpers();
|
|
@@ -3953,7 +3959,7 @@ async function runCodegen(configPath, options) {
|
|
|
3953
3959
|
if (verbose) {
|
|
3954
3960
|
console.log(`[multitap] State buffer size: ${compiledState.totalSize} bytes`);
|
|
3955
3961
|
}
|
|
3956
|
-
const tsGen = new TypeScriptGenerator();
|
|
3962
|
+
const tsGen = new TypeScriptGenerator({ maxParticipants: merged.config.maxParticipants });
|
|
3957
3963
|
const tsCode = tsGen.generateGame(compiledState, compiledInput);
|
|
3958
3964
|
await mkdir(generatedDir, { recursive: true });
|
|
3959
3965
|
const tsPath = join2(generatedDir, "state.ts");
|
|
@@ -3961,7 +3967,7 @@ async function runCodegen(configPath, options) {
|
|
|
3961
3967
|
if (verbose) {
|
|
3962
3968
|
console.log(`[multitap] Generated ${tsPath}`);
|
|
3963
3969
|
}
|
|
3964
|
-
const rustGen = new RustGenerator();
|
|
3970
|
+
const rustGen = new RustGenerator({ maxParticipants: merged.config.maxParticipants });
|
|
3965
3971
|
const rustCode = rustGen.generateGame(compiledState, compiledInput);
|
|
3966
3972
|
for (const pluginPath of merged.pluginOrder) {
|
|
3967
3973
|
const rustDir = join2(pluginPath, "src");
|
package/package.json
CHANGED
package/dist/.stamp
DELETED
|
File without changes
|