@forgeax/engine-pack 0.1.3 → 0.1.6
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 +52 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/__tests__/owner-chain.integration.test.d.ts +2 -0
- package/dist/__tests__/owner-chain.integration.test.d.ts.map +1 -0
- package/dist/__tests__/package-finalizer.contract.test.d.ts +2 -0
- package/dist/__tests__/package-finalizer.contract.test.d.ts.map +1 -0
- package/dist/__tests__/runtime.browser.test.d.ts +2 -0
- package/dist/__tests__/runtime.browser.test.d.ts.map +1 -0
- package/dist/__tests__/scanner-inventory.contract.test.d.ts +2 -0
- package/dist/__tests__/scanner-inventory.contract.test.d.ts.map +1 -0
- package/dist/artifact-path.mjs +53 -0
- package/dist/artifact-path.mjs.map +1 -0
- package/dist/atlas/shelf-pack.d.ts.map +1 -1
- package/dist/build.d.ts +19 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.mjs +10168 -0
- package/dist/build.mjs.map +1 -0
- package/dist/builtin.d.ts +20 -0
- package/dist/builtin.d.ts.map +1 -1
- package/dist/builtin.mjs +141 -0
- package/dist/builtin.mjs.map +1 -0
- package/dist/catalog-builder.d.ts +43 -0
- package/dist/catalog-builder.d.ts.map +1 -0
- package/dist/catalog-delta.d.ts +11 -0
- package/dist/catalog-delta.d.ts.map +1 -0
- package/dist/catalog-projection.d.ts +91 -0
- package/dist/catalog-projection.d.ts.map +1 -0
- package/dist/cli-asset.mjs +231 -484
- package/dist/cli-asset.mjs.map +1 -1
- package/dist/index.mjs +83 -1
- package/dist/index.mjs.map +1 -1
- package/dist/material-cook.d.ts +2 -0
- package/dist/material-cook.d.ts.map +1 -0
- package/dist/material-cook.mjs +193 -0
- package/dist/material-cook.mjs.map +1 -0
- package/dist/mesh-bin-contract.mjs +96 -0
- package/dist/mesh-bin-contract.mjs.map +1 -0
- package/dist/native-cooker-registry.d.ts +19 -0
- package/dist/native-cooker-registry.d.ts.map +1 -1
- package/dist/native-cooker.mjs +37 -0
- package/dist/native-cooker.mjs.map +1 -1
- package/dist/package-finalizer.d.ts +121 -0
- package/dist/package-finalizer.d.ts.map +1 -0
- package/dist/resolve-asset-source.d.ts.map +1 -1
- package/dist/resolve-asset-source.mjs +16 -6
- package/dist/resolve-asset-source.mjs.map +1 -1
- package/dist/runtime-publication.d.ts +44 -0
- package/dist/runtime-publication.d.ts.map +1 -0
- package/dist/runtime.d.ts +8 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.mjs +7261 -0
- package/dist/runtime.mjs.map +1 -0
- package/dist/scanner.d.ts +87 -54
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.mjs +258 -454
- package/dist/scanner.mjs.map +1 -1
- package/dist/scriptable-pack-node.d.ts +3 -8
- package/dist/scriptable-pack-node.d.ts.map +1 -1
- package/dist/scriptable-pack-node.mjs +93 -9
- package/dist/scriptable-pack-node.mjs.map +1 -1
- package/dist/scriptable-pack-worker.mjs +1 -0
- package/dist/scriptable-pack-worker.mjs.map +1 -1
- package/dist/scriptable-pack.d.ts +33 -0
- package/dist/scriptable-pack.d.ts.map +1 -1
- package/dist/scriptable-pack.mjs +91 -2
- package/dist/scriptable-pack.mjs.map +1 -1
- package/dist/topology.d.ts +1 -1
- package/dist/topology.d.ts.map +1 -1
- package/package.json +27 -2
- package/src/__tests__/mesh-bin-consumer-surface.unit.test.ts +2 -1
- package/src/__tests__/owner-chain.integration.test.ts +78 -0
- package/src/__tests__/package-finalizer.contract.test.ts +105 -0
- package/src/__tests__/runtime.browser.test.ts +15 -0
- package/src/__tests__/scanner-inventory.contract.test.ts +167 -0
- package/src/__tests__/scanner-inventory.test.ts +16 -12
- package/src/__tests__/scriptable-pack.unit.test.ts +42 -0
- package/src/atlas/shelf-pack.ts +20 -24
- package/src/build.ts +139 -0
- package/src/builtin.ts +38 -0
- package/src/catalog-builder.ts +313 -0
- package/src/catalog-delta.ts +189 -0
- package/src/catalog-projection.ts +344 -0
- package/src/cli-asset.ts +1 -5
- package/src/index.ts +2 -2
- package/src/material-cook.ts +13 -0
- package/src/native-cooker-registry.ts +72 -0
- package/src/package-finalizer.ts +394 -0
- package/src/resolve-asset-source.ts +2 -7
- package/src/runtime-publication.ts +190 -0
- package/src/runtime.ts +23 -0
- package/src/scanner.ts +289 -290
- package/src/scriptable-pack-node.ts +27 -23
- package/src/scriptable-pack-worker.ts +2 -0
- package/src/scriptable-pack.ts +123 -1
- package/src/topology.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scriptable-pack-worker.ts"],"names":["resolve"],"mappings":"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","file":"scriptable-pack-worker.mjs","sourcesContent":["import { createHash } from 'node:crypto';\nimport { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { dirname, extname, join, resolve } from 'node:path';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { parentPort, workerData } from 'node:worker_threads';\nimport ts from 'typescript';\n\nif (parentPort === null) throw new Error('ScriptablePack worker requires a parent port');\n\nconst port = parentPort;\nconst workerMode = workerData as {\n readonly mode?: 'single' | 'reusable';\n readonly sourcePath?: string;\n readonly compileRoot?: string;\n};\nconst reusable = workerMode.mode === 'reusable';\nlet sourcePath = workerMode.sourcePath;\nlet compileRoot = workerMode.compileRoot;\ntype LoadedDefinition = {\n readonly schemaVersion?: unknown;\n readonly packageId?: unknown;\n readonly name?: unknown;\n readonly assets?: unknown;\n readonly externalAssets?: unknown;\n readonly build?: unknown;\n};\nlet definition: LoadedDefinition | undefined;\nlet nextReadId = 0;\nconst reads = new Map<number, (value: unknown) => void>();\n\nfunction failure(error: unknown): unknown {\n if (error === null || typeof error !== 'object') return error;\n const value = error as Record<string, unknown>;\n return {\n name: value.name,\n code: value.code,\n expected: value.expected,\n actual: value.actual,\n hint: value.hint,\n detail: value.detail,\n message: value.message,\n };\n}\n\nconst SOURCE_EXTENSIONS = ['.ts', '.tsx', '.mts', '.cts', '.js', '.mjs', '.cjs'] as const;\n\nfunction resolveRelativeImport(importer: string, specifier: string): string | undefined {\n if (!specifier.startsWith('.')) return undefined;\n const raw = resolve(dirname(importer), specifier);\n const candidates =\n extname(raw).length > 0\n ? [raw]\n : [\n raw,\n ...SOURCE_EXTENSIONS.map((extension) => `${raw}${extension}`),\n resolve(raw, 'index.ts'),\n ];\n return candidates.find((candidate) => existsSync(candidate));\n}\n\nfunction outputName(path: string): string {\n const digest = createHash('sha256').update(path).digest('hex').slice(0, 20);\n return `${digest}.mjs`;\n}\n\nfunction resolveBareImport(importer: string, specifier: string): string | undefined {\n const resolver = (\n import.meta as ImportMeta & {\n readonly resolve?: (specifier: string, parent?: string) => string;\n }\n ).resolve;\n if (resolver === undefined) return undefined;\n try {\n const resolved = resolver(specifier, pathToFileURL(importer).href);\n return resolved.startsWith('file:') ? fileURLToPath(resolved) : undefined;\n } catch {\n // Type-only or optional imports may not be installed in the game project.\n // Preserve them for TypeScript to erase or let Node report the real load\n // failure instead of guessing a workspace root.\n return undefined;\n }\n}\n\nfunction resolvedModuleSpecifier(\n target: string,\n sources: ReadonlyMap<string, string>,\n loadId?: number,\n): string {\n if (sources.has(target)) {\n return `./${outputName(target)}${loadId === undefined ? '' : `?load=${loadId}`}`;\n }\n return pathToFileURL(target).href;\n}\n\n/**\n * Node 22 does not execute `.ts` modules. Compile the trusted local module\n * closure into one disposable ESM directory before importing it. Bare package\n * imports are resolved by Node from the original source module and rewritten\n * to their canonical file URL; relative imports are rewritten to the compiled\n * closure by identity. This keeps unrelated nested node_modules directories\n * (for example Vite's cache) from changing package resolution.\n */\nfunction compileModuleClosure(entryPath: string, outputRoot: string, loadId?: number): string {\n const pending = [resolve(entryPath)];\n const sources = new Map<string, string>();\n const imports = new Map<string, ReadonlyMap<string, string>>();\n while (pending.length > 0) {\n const path = pending.pop();\n if (path === undefined || sources.has(path)) continue;\n const source = readFileSync(path, 'utf8');\n sources.set(path, source);\n const resolvedImports = new Map<string, string>();\n for (const imported of ts.preProcessFile(source, true, true).importedFiles) {\n const target = imported.fileName.startsWith('.')\n ? resolveRelativeImport(path, imported.fileName)\n : resolveBareImport(path, imported.fileName);\n if (target === undefined) continue;\n resolvedImports.set(imported.fileName, target);\n if (imported.fileName.startsWith('.') || /\\.(?:ts|tsx|mts|cts)$/.test(target)) {\n pending.push(target);\n }\n }\n imports.set(path, resolvedImports);\n }\n\n for (const [path, source] of sources) {\n const replacements = imports.get(path) ?? new Map<string, string>();\n const rewriteRelativeImports: ts.TransformerFactory<ts.SourceFile> = (context) => {\n const visit: ts.Visitor = (node) => {\n if (\n (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&\n node.moduleSpecifier !== undefined &&\n ts.isStringLiteral(node.moduleSpecifier)\n ) {\n const target = replacements.get(node.moduleSpecifier.text);\n if (target !== undefined) {\n const moduleSpecifier = ts.factory.createStringLiteral(\n resolvedModuleSpecifier(target, sources, loadId),\n );\n return ts.isImportDeclaration(node)\n ? ts.factory.updateImportDeclaration(\n node,\n node.modifiers,\n node.importClause,\n moduleSpecifier,\n node.attributes,\n )\n : ts.factory.updateExportDeclaration(\n node,\n node.modifiers,\n node.isTypeOnly,\n node.exportClause,\n moduleSpecifier,\n node.attributes,\n );\n }\n }\n if (\n ts.isCallExpression(node) &&\n node.expression.kind === ts.SyntaxKind.ImportKeyword &&\n node.arguments.length === 1 &&\n node.arguments[0] !== undefined &&\n ts.isStringLiteral(node.arguments[0])\n ) {\n const target = replacements.get(node.arguments[0].text);\n if (target !== undefined) {\n return ts.factory.updateCallExpression(node, node.expression, node.typeArguments, [\n ts.factory.createStringLiteral(resolvedModuleSpecifier(target, sources, loadId)),\n ]);\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n return (sourceFile) => ts.visitNode(sourceFile, visit) as ts.SourceFile;\n };\n const transpiled = ts.transpileModule(source, {\n fileName: path,\n compilerOptions: {\n target: ts.ScriptTarget.ES2022,\n module: ts.ModuleKind.ESNext,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n isolatedModules: true,\n sourceMap: false,\n },\n transformers: { before: [rewriteRelativeImports] },\n reportDiagnostics: true,\n });\n const errors =\n transpiled.diagnostics?.filter(\n (diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error,\n ) ?? [];\n if (errors.length > 0) {\n throw new Error(\n `ScriptablePack TypeScript transpile failed for ${path}: ${errors\n .map((diagnostic) => ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n .join('; ')}`,\n );\n }\n writeFileSync(join(outputRoot, outputName(path)), transpiled.outputText);\n }\n return join(outputRoot, outputName(resolve(entryPath)));\n}\n\nasync function loadDefinition(task: {\n readonly sourcePath: string;\n readonly compileRoot: string;\n readonly loadId?: number;\n}): Promise<void> {\n sourcePath = task.sourcePath;\n compileRoot = task.compileRoot;\n definition = undefined;\n reads.clear();\n const executablePath = SOURCE_EXTENSIONS.includes(\n extname(task.sourcePath) as (typeof SOURCE_EXTENSIONS)[number],\n )\n ? compileModuleClosure(task.sourcePath, task.compileRoot, task.loadId)\n : task.sourcePath;\n const loaded = (await import(\n `${pathToFileURL(executablePath).href}${reusable ? `?load=${task.loadId ?? 0}` : ''}`\n )) as {\n readonly default?: unknown;\n };\n definition = loaded.default as LoadedDefinition | undefined;\n port.postMessage({\n kind: 'loaded',\n ...(task.loadId === undefined ? {} : { loadId: task.loadId }),\n definition:\n definition === undefined\n ? undefined\n : {\n schemaVersion: definition.schemaVersion,\n packageId: definition.packageId,\n name: definition.name,\n assets: definition.assets,\n externalAssets: definition.externalAssets,\n },\n });\n}\n\nasync function handleMessage(message: unknown): Promise<void> {\n if (message === null || typeof message !== 'object') return;\n const value = message as Record<string, unknown>;\n if (value.kind === 'asset-result' && typeof value.readId === 'number') {\n reads.get(value.readId)?.(value.result);\n reads.delete(value.readId);\n return;\n }\n if (\n reusable &&\n value.kind === 'load' &&\n typeof value.sourcePath === 'string' &&\n typeof value.compileRoot === 'string' &&\n typeof value.loadId === 'number'\n ) {\n try {\n await loadDefinition({\n sourcePath: value.sourcePath,\n compileRoot: value.compileRoot,\n loadId: value.loadId,\n });\n } catch (error) {\n port.postMessage({ kind: 'load-threw', loadId: value.loadId, error: failure(error) });\n }\n return;\n }\n if (value.kind !== 'build' || typeof value.buildId !== 'number') return;\n if (typeof definition?.build !== 'function') {\n port.postMessage({\n kind: 'build-result',\n buildId: value.buildId,\n result: { ok: false, error: { message: 'default export has no build function' } },\n });\n return;\n }\n try {\n const result = await definition.build({\n readByGuid(guid: Uint8Array): Promise<unknown> {\n const readId = nextReadId++;\n port.postMessage({ kind: 'asset-read', buildId: value.buildId, readId, guid });\n return new Promise((resolve) => reads.set(readId, resolve));\n },\n });\n port.postMessage({\n kind: 'build-result',\n buildId: value.buildId,\n result:\n result !== null && typeof result === 'object' && 'ok' in result && !result.ok\n ? { ...result, error: failure(result.error) }\n : result,\n });\n } catch (error) {\n port.postMessage({ kind: 'build-threw', buildId: value.buildId, error: failure(error) });\n }\n}\n\nport.on('message', (message: unknown) => {\n void handleMessage(message);\n});\n\nif (!reusable && sourcePath !== undefined && compileRoot !== undefined) {\n try {\n await loadDefinition({ sourcePath, compileRoot });\n } catch (error) {\n port.postMessage({ kind: 'load-threw', error: failure(error) });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scriptable-pack-worker.ts"],"names":["resolve"],"mappings":"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","file":"scriptable-pack-worker.mjs","sourcesContent":["import { createHash } from 'node:crypto';\nimport { existsSync, readFileSync, writeFileSync } from 'node:fs';\nimport { dirname, extname, join, resolve } from 'node:path';\nimport { fileURLToPath, pathToFileURL } from 'node:url';\nimport { parentPort, workerData } from 'node:worker_threads';\nimport ts from 'typescript';\n\nif (parentPort === null) throw new Error('ScriptablePack worker requires a parent port');\n\nconst port = parentPort;\nconst workerMode = workerData as {\n readonly mode?: 'single' | 'reusable';\n readonly sourcePath?: string;\n readonly compileRoot?: string;\n};\nconst reusable = workerMode.mode === 'reusable';\nlet sourcePath = workerMode.sourcePath;\nlet compileRoot = workerMode.compileRoot;\ntype LoadedDefinition = {\n readonly schemaVersion?: unknown;\n readonly packageId?: unknown;\n readonly name?: unknown;\n readonly assets?: unknown;\n readonly sceneComponents?: unknown;\n readonly externalAssets?: unknown;\n readonly build?: unknown;\n};\nlet definition: LoadedDefinition | undefined;\nlet nextReadId = 0;\nconst reads = new Map<number, (value: unknown) => void>();\n\nfunction failure(error: unknown): unknown {\n if (error === null || typeof error !== 'object') return error;\n const value = error as Record<string, unknown>;\n return {\n name: value.name,\n code: value.code,\n expected: value.expected,\n actual: value.actual,\n hint: value.hint,\n detail: value.detail,\n message: value.message,\n };\n}\n\nconst SOURCE_EXTENSIONS = ['.ts', '.tsx', '.mts', '.cts', '.js', '.mjs', '.cjs'] as const;\n\nfunction resolveRelativeImport(importer: string, specifier: string): string | undefined {\n if (!specifier.startsWith('.')) return undefined;\n const raw = resolve(dirname(importer), specifier);\n const candidates =\n extname(raw).length > 0\n ? [raw]\n : [\n raw,\n ...SOURCE_EXTENSIONS.map((extension) => `${raw}${extension}`),\n resolve(raw, 'index.ts'),\n ];\n return candidates.find((candidate) => existsSync(candidate));\n}\n\nfunction outputName(path: string): string {\n const digest = createHash('sha256').update(path).digest('hex').slice(0, 20);\n return `${digest}.mjs`;\n}\n\nfunction resolveBareImport(importer: string, specifier: string): string | undefined {\n const resolver = (\n import.meta as ImportMeta & {\n readonly resolve?: (specifier: string, parent?: string) => string;\n }\n ).resolve;\n if (resolver === undefined) return undefined;\n try {\n const resolved = resolver(specifier, pathToFileURL(importer).href);\n return resolved.startsWith('file:') ? fileURLToPath(resolved) : undefined;\n } catch {\n // Type-only or optional imports may not be installed in the game project.\n // Preserve them for TypeScript to erase or let Node report the real load\n // failure instead of guessing a workspace root.\n return undefined;\n }\n}\n\nfunction resolvedModuleSpecifier(\n target: string,\n sources: ReadonlyMap<string, string>,\n loadId?: number,\n): string {\n if (sources.has(target)) {\n return `./${outputName(target)}${loadId === undefined ? '' : `?load=${loadId}`}`;\n }\n return pathToFileURL(target).href;\n}\n\n/**\n * Node 22 does not execute `.ts` modules. Compile the trusted local module\n * closure into one disposable ESM directory before importing it. Bare package\n * imports are resolved by Node from the original source module and rewritten\n * to their canonical file URL; relative imports are rewritten to the compiled\n * closure by identity. This keeps unrelated nested node_modules directories\n * (for example Vite's cache) from changing package resolution.\n */\nfunction compileModuleClosure(entryPath: string, outputRoot: string, loadId?: number): string {\n const pending = [resolve(entryPath)];\n const sources = new Map<string, string>();\n const imports = new Map<string, ReadonlyMap<string, string>>();\n while (pending.length > 0) {\n const path = pending.pop();\n if (path === undefined || sources.has(path)) continue;\n const source = readFileSync(path, 'utf8');\n sources.set(path, source);\n const resolvedImports = new Map<string, string>();\n for (const imported of ts.preProcessFile(source, true, true).importedFiles) {\n const target = imported.fileName.startsWith('.')\n ? resolveRelativeImport(path, imported.fileName)\n : resolveBareImport(path, imported.fileName);\n if (target === undefined) continue;\n resolvedImports.set(imported.fileName, target);\n if (imported.fileName.startsWith('.') || /\\.(?:ts|tsx|mts|cts)$/.test(target)) {\n pending.push(target);\n }\n }\n imports.set(path, resolvedImports);\n }\n\n for (const [path, source] of sources) {\n const replacements = imports.get(path) ?? new Map<string, string>();\n const rewriteRelativeImports: ts.TransformerFactory<ts.SourceFile> = (context) => {\n const visit: ts.Visitor = (node) => {\n if (\n (ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&\n node.moduleSpecifier !== undefined &&\n ts.isStringLiteral(node.moduleSpecifier)\n ) {\n const target = replacements.get(node.moduleSpecifier.text);\n if (target !== undefined) {\n const moduleSpecifier = ts.factory.createStringLiteral(\n resolvedModuleSpecifier(target, sources, loadId),\n );\n return ts.isImportDeclaration(node)\n ? ts.factory.updateImportDeclaration(\n node,\n node.modifiers,\n node.importClause,\n moduleSpecifier,\n node.attributes,\n )\n : ts.factory.updateExportDeclaration(\n node,\n node.modifiers,\n node.isTypeOnly,\n node.exportClause,\n moduleSpecifier,\n node.attributes,\n );\n }\n }\n if (\n ts.isCallExpression(node) &&\n node.expression.kind === ts.SyntaxKind.ImportKeyword &&\n node.arguments.length === 1 &&\n node.arguments[0] !== undefined &&\n ts.isStringLiteral(node.arguments[0])\n ) {\n const target = replacements.get(node.arguments[0].text);\n if (target !== undefined) {\n return ts.factory.updateCallExpression(node, node.expression, node.typeArguments, [\n ts.factory.createStringLiteral(resolvedModuleSpecifier(target, sources, loadId)),\n ]);\n }\n }\n return ts.visitEachChild(node, visit, context);\n };\n return (sourceFile) => ts.visitNode(sourceFile, visit) as ts.SourceFile;\n };\n const transpiled = ts.transpileModule(source, {\n fileName: path,\n compilerOptions: {\n target: ts.ScriptTarget.ES2022,\n module: ts.ModuleKind.ESNext,\n moduleResolution: ts.ModuleResolutionKind.Bundler,\n isolatedModules: true,\n sourceMap: false,\n },\n transformers: { before: [rewriteRelativeImports] },\n reportDiagnostics: true,\n });\n const errors =\n transpiled.diagnostics?.filter(\n (diagnostic) => diagnostic.category === ts.DiagnosticCategory.Error,\n ) ?? [];\n if (errors.length > 0) {\n throw new Error(\n `ScriptablePack TypeScript transpile failed for ${path}: ${errors\n .map((diagnostic) => ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'))\n .join('; ')}`,\n );\n }\n writeFileSync(join(outputRoot, outputName(path)), transpiled.outputText);\n }\n return join(outputRoot, outputName(resolve(entryPath)));\n}\n\nasync function loadDefinition(task: {\n readonly sourcePath: string;\n readonly compileRoot: string;\n readonly loadId?: number;\n}): Promise<void> {\n sourcePath = task.sourcePath;\n compileRoot = task.compileRoot;\n definition = undefined;\n reads.clear();\n const executablePath = SOURCE_EXTENSIONS.includes(\n extname(task.sourcePath) as (typeof SOURCE_EXTENSIONS)[number],\n )\n ? compileModuleClosure(task.sourcePath, task.compileRoot, task.loadId)\n : task.sourcePath;\n const loaded = (await import(\n `${pathToFileURL(executablePath).href}${reusable ? `?load=${task.loadId ?? 0}` : ''}`\n )) as {\n readonly default?: unknown;\n };\n definition = loaded.default as LoadedDefinition | undefined;\n port.postMessage({\n kind: 'loaded',\n ...(task.loadId === undefined ? {} : { loadId: task.loadId }),\n definition:\n definition === undefined\n ? undefined\n : {\n schemaVersion: definition.schemaVersion,\n packageId: definition.packageId,\n name: definition.name,\n assets: definition.assets,\n sceneComponents: definition.sceneComponents,\n externalAssets: definition.externalAssets,\n },\n });\n}\n\nasync function handleMessage(message: unknown): Promise<void> {\n if (message === null || typeof message !== 'object') return;\n const value = message as Record<string, unknown>;\n if (value.kind === 'asset-result' && typeof value.readId === 'number') {\n reads.get(value.readId)?.(value.result);\n reads.delete(value.readId);\n return;\n }\n if (\n reusable &&\n value.kind === 'load' &&\n typeof value.sourcePath === 'string' &&\n typeof value.compileRoot === 'string' &&\n typeof value.loadId === 'number'\n ) {\n try {\n await loadDefinition({\n sourcePath: value.sourcePath,\n compileRoot: value.compileRoot,\n loadId: value.loadId,\n });\n } catch (error) {\n port.postMessage({ kind: 'load-threw', loadId: value.loadId, error: failure(error) });\n }\n return;\n }\n if (value.kind !== 'build' || typeof value.buildId !== 'number') return;\n if (typeof definition?.build !== 'function') {\n port.postMessage({\n kind: 'build-result',\n buildId: value.buildId,\n result: { ok: false, error: { message: 'default export has no build function' } },\n });\n return;\n }\n try {\n const result = await definition.build({\n readByGuid(guid: Uint8Array): Promise<unknown> {\n const readId = nextReadId++;\n port.postMessage({ kind: 'asset-read', buildId: value.buildId, readId, guid });\n return new Promise((resolve) => reads.set(readId, resolve));\n },\n });\n port.postMessage({\n kind: 'build-result',\n buildId: value.buildId,\n result:\n result !== null && typeof result === 'object' && 'ok' in result && !result.ok\n ? { ...result, error: failure(result.error) }\n : result,\n });\n } catch (error) {\n port.postMessage({ kind: 'build-threw', buildId: value.buildId, error: failure(error) });\n }\n}\n\nport.on('message', (message: unknown) => {\n void handleMessage(message);\n});\n\nif (!reusable && sourcePath !== undefined && compileRoot !== undefined) {\n try {\n await loadDefinition({ sourcePath, compileRoot });\n } catch (error) {\n port.postMessage({ kind: 'load-threw', error: failure(error) });\n }\n}\n"]}
|
|
@@ -3,6 +3,14 @@ import type { Asset, AssetGuid, AssetPublicationEnvelope, Result } from '@forgea
|
|
|
3
3
|
export type ScriptablePackAssetKind = Asset['kind'];
|
|
4
4
|
/** Complete ordinary Asset kind vocabulary exposed by ScriptablePack discovery. */
|
|
5
5
|
export declare const SCRIPTABLE_PACK_ASSET_KINDS: readonly ["mesh", "material", "scene", "texture", "equirect", "sampler", "font", "render-pipeline", "tileset", "video", "skeleton", "skin", "animation-clip", "animation-graph", "audio", "particle-effect"];
|
|
6
|
+
/** Machine-readable producer/loader floor owned by engine-pack. */
|
|
7
|
+
export declare const SCRIPTABLE_PACK_CAPABILITY_MANIFEST: {
|
|
8
|
+
readonly assetKinds: readonly ["mesh", "material", "scene", "texture", "equirect", "sampler", "font", "render-pipeline", "tileset", "video", "skeleton", "skin", "animation-clip", "animation-graph", "audio", "particle-effect"];
|
|
9
|
+
readonly durablePayload: true;
|
|
10
|
+
readonly refs: true;
|
|
11
|
+
readonly artifacts: true;
|
|
12
|
+
readonly hostCapabilities: readonly ["audio-install", "video-play", "particle-execute"];
|
|
13
|
+
};
|
|
6
14
|
export declare function isScriptablePackAssetKind(value: string): value is ScriptablePackAssetKind;
|
|
7
15
|
export interface ScriptablePackAssetDeclaration<TKind extends ScriptablePackAssetKind = ScriptablePackAssetKind> {
|
|
8
16
|
readonly guid: AssetGuid;
|
|
@@ -11,6 +19,24 @@ export interface ScriptablePackAssetDeclaration<TKind extends ScriptablePackAsse
|
|
|
11
19
|
}
|
|
12
20
|
export type ScriptablePackAssetDeclarations = Readonly<Record<string, ScriptablePackAssetDeclaration>>;
|
|
13
21
|
export type ScriptablePackExternalAssets = Readonly<Record<string, AssetGuid>>;
|
|
22
|
+
/**
|
|
23
|
+
* Component-shaped input accepted by a ScriptablePack scene declaration.
|
|
24
|
+
* Engine component tokens satisfy this shape; plain `{ type }` rows keep the
|
|
25
|
+
* Pack contract independent of ECS and survive the isolated module worker.
|
|
26
|
+
*/
|
|
27
|
+
export interface ScriptablePackSceneComponentInput {
|
|
28
|
+
readonly name: string;
|
|
29
|
+
readonly fields: Readonly<Record<string, string | {
|
|
30
|
+
readonly type: string;
|
|
31
|
+
}>>;
|
|
32
|
+
}
|
|
33
|
+
/** Neutral scene schema projection owned by the Pack definition. */
|
|
34
|
+
export interface ScriptablePackSceneComponent {
|
|
35
|
+
readonly name: string;
|
|
36
|
+
readonly fields: Readonly<Record<string, string>>;
|
|
37
|
+
}
|
|
38
|
+
/** Derive the frozen, ECS-neutral schema used by scene output producers. */
|
|
39
|
+
export declare function projectScriptablePackSceneComponents(components: readonly ScriptablePackSceneComponentInput[] | undefined): readonly ScriptablePackSceneComponent[];
|
|
14
40
|
/** Pack-facing name for the shared Engine publication envelope. */
|
|
15
41
|
export type ScriptablePackPublicationEnvelope = AssetPublicationEnvelope;
|
|
16
42
|
/** Structured domain failure permitted to cross the isolated build-time AssetReader seam. */
|
|
@@ -47,9 +73,15 @@ export interface ScriptablePackDefinition<TAssets extends ScriptablePackAssetDec
|
|
|
47
73
|
readonly packageId: AssetGuid;
|
|
48
74
|
readonly name?: string;
|
|
49
75
|
readonly assets: TAssets;
|
|
76
|
+
/** Component tokens/schema rows used by scene ref externalization. */
|
|
77
|
+
readonly sceneComponents?: readonly ScriptablePackSceneComponentInput[];
|
|
50
78
|
readonly externalAssets: TExternal;
|
|
51
79
|
readonly build: (assetReader: AssetReader) => ScriptablePackBuildResult<TAssets, TError> | Promise<ScriptablePackBuildResult<TAssets, TError>>;
|
|
52
80
|
}
|
|
81
|
+
export interface ScriptablePackSourceClosureEntry {
|
|
82
|
+
readonly path: string;
|
|
83
|
+
readonly digest: string;
|
|
84
|
+
}
|
|
53
85
|
export interface ScriptablePackMetaJson {
|
|
54
86
|
readonly schemaVersion: '1.0.0';
|
|
55
87
|
readonly kind: 'external-asset-package';
|
|
@@ -520,6 +552,7 @@ export type ScriptablePackError = {
|
|
|
520
552
|
readonly incomingRefs?: readonly string[];
|
|
521
553
|
};
|
|
522
554
|
};
|
|
555
|
+
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
523
556
|
export declare function validateScriptablePackDefinition(value: unknown, sourcePath?: string): Result<Readonly<ScriptablePackDefinition>, ScriptablePackError>;
|
|
524
557
|
export declare function projectScriptablePackMeta(definition: ScriptablePackDefinition, source: string): ScriptablePackMetaJson;
|
|
525
558
|
//# sourceMappingURL=scriptable-pack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scriptable-pack.d.ts","sourceRoot":"","sources":["../src/scriptable-pack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scriptable-pack.d.ts","sourceRoot":"","sources":["../src/scriptable-pack.ts"],"names":[],"mappings":"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"}
|
package/dist/scriptable-pack.mjs
CHANGED
|
@@ -109,9 +109,32 @@ var SCRIPTABLE_PACK_ASSET_KINDS = [
|
|
|
109
109
|
"audio",
|
|
110
110
|
"particle-effect"
|
|
111
111
|
];
|
|
112
|
+
var SCRIPTABLE_PACK_CAPABILITY_MANIFEST = {
|
|
113
|
+
assetKinds: SCRIPTABLE_PACK_ASSET_KINDS,
|
|
114
|
+
durablePayload: true,
|
|
115
|
+
refs: true,
|
|
116
|
+
artifacts: true,
|
|
117
|
+
hostCapabilities: ["audio-install", "video-play", "particle-execute"]
|
|
118
|
+
};
|
|
112
119
|
function isScriptablePackAssetKind(value) {
|
|
113
120
|
return SCRIPTABLE_PACK_ASSET_KINDS.includes(value);
|
|
114
121
|
}
|
|
122
|
+
function sceneComponentFieldType(value) {
|
|
123
|
+
if (typeof value === "string") return value;
|
|
124
|
+
if (isRecord(value) && typeof value.type === "string") return value.type;
|
|
125
|
+
return void 0;
|
|
126
|
+
}
|
|
127
|
+
function projectScriptablePackSceneComponents(components) {
|
|
128
|
+
return (components ?? []).map((component) => ({
|
|
129
|
+
name: component.name,
|
|
130
|
+
fields: Object.fromEntries(
|
|
131
|
+
Object.entries(component.fields).map(([fieldName, field]) => [
|
|
132
|
+
fieldName,
|
|
133
|
+
sceneComponentFieldType(field)
|
|
134
|
+
])
|
|
135
|
+
)
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
115
138
|
function createScriptablePackAuthoringGateway(port, allocateGuid = AssetGuid.random) {
|
|
116
139
|
const requests = /* @__PURE__ */ new Map();
|
|
117
140
|
async function mutationResult(result) {
|
|
@@ -444,11 +467,20 @@ function freezeDefinition(definition) {
|
|
|
444
467
|
guid.slice()
|
|
445
468
|
])
|
|
446
469
|
);
|
|
470
|
+
const sceneComponents = definition.sceneComponents === void 0 ? void 0 : Object.freeze(
|
|
471
|
+
projectScriptablePackSceneComponents(definition.sceneComponents).map(
|
|
472
|
+
(component) => Object.freeze({
|
|
473
|
+
...component,
|
|
474
|
+
fields: Object.freeze({ ...component.fields })
|
|
475
|
+
})
|
|
476
|
+
)
|
|
477
|
+
);
|
|
447
478
|
return Object.freeze({
|
|
448
479
|
...definition,
|
|
449
480
|
packageId: definition.packageId.slice(),
|
|
450
481
|
assets: Object.freeze(assets),
|
|
451
|
-
externalAssets: Object.freeze(externalAssets)
|
|
482
|
+
externalAssets: Object.freeze(externalAssets),
|
|
483
|
+
...sceneComponents === void 0 ? {} : { sceneComponents }
|
|
452
484
|
});
|
|
453
485
|
}
|
|
454
486
|
function validateScriptablePackDefinition(value, sourcePath) {
|
|
@@ -479,6 +511,63 @@ function validateScriptablePackDefinition(value, sourcePath) {
|
|
|
479
511
|
sourcePath
|
|
480
512
|
);
|
|
481
513
|
}
|
|
514
|
+
if (value.sceneComponents !== void 0) {
|
|
515
|
+
if (!Array.isArray(value.sceneComponents)) {
|
|
516
|
+
return invalid(
|
|
517
|
+
"$.sceneComponents",
|
|
518
|
+
"an array of component tokens or neutral schema rows when present",
|
|
519
|
+
value.sceneComponents,
|
|
520
|
+
sourcePath
|
|
521
|
+
);
|
|
522
|
+
}
|
|
523
|
+
const componentNames = /* @__PURE__ */ new Set();
|
|
524
|
+
for (const [componentIndex, component] of value.sceneComponents.entries()) {
|
|
525
|
+
if (!isRecord(component)) {
|
|
526
|
+
return invalid(
|
|
527
|
+
`$.sceneComponents[${componentIndex}]`,
|
|
528
|
+
"a component token or neutral schema row",
|
|
529
|
+
component,
|
|
530
|
+
sourcePath
|
|
531
|
+
);
|
|
532
|
+
}
|
|
533
|
+
if (typeof component.name !== "string" || component.name.trim().length === 0) {
|
|
534
|
+
return invalid(
|
|
535
|
+
`$.sceneComponents[${componentIndex}].name`,
|
|
536
|
+
"a non-empty component name",
|
|
537
|
+
component.name,
|
|
538
|
+
sourcePath
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
if (componentNames.has(component.name)) {
|
|
542
|
+
return invalid(
|
|
543
|
+
`$.sceneComponents[${componentIndex}].name`,
|
|
544
|
+
"component names to be unique within one ScriptablePack",
|
|
545
|
+
component.name,
|
|
546
|
+
sourcePath
|
|
547
|
+
);
|
|
548
|
+
}
|
|
549
|
+
componentNames.add(component.name);
|
|
550
|
+
if (!isRecord(component.fields)) {
|
|
551
|
+
return invalid(
|
|
552
|
+
`$.sceneComponents[${componentIndex}].fields`,
|
|
553
|
+
"a field-name to schema-type object",
|
|
554
|
+
component.fields,
|
|
555
|
+
sourcePath
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
for (const [fieldName, field] of Object.entries(component.fields)) {
|
|
559
|
+
const type = sceneComponentFieldType(field);
|
|
560
|
+
if (fieldName.trim().length === 0 || type === void 0 || type.trim().length === 0) {
|
|
561
|
+
return invalid(
|
|
562
|
+
`$.sceneComponents[${componentIndex}].fields`,
|
|
563
|
+
"field names with non-empty string schema types",
|
|
564
|
+
field,
|
|
565
|
+
sourcePath
|
|
566
|
+
);
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
}
|
|
482
571
|
if (typeof value.build !== "function") {
|
|
483
572
|
return invalid("$.build", "a build(assetReader) function", value.build, sourcePath);
|
|
484
573
|
}
|
|
@@ -578,6 +667,6 @@ function projectScriptablePackMeta(definition, source) {
|
|
|
578
667
|
};
|
|
579
668
|
}
|
|
580
669
|
|
|
581
|
-
export { SCRIPTABLE_PACK_ASSET_KINDS, SOURCE_AUTHORING_OPERATION_DESCRIPTORS, createScriptablePackAuthoringGateway, isScriptablePackAssetKind, projectScriptablePackMeta, validateScriptablePackDefinition };
|
|
670
|
+
export { SCRIPTABLE_PACK_ASSET_KINDS, SCRIPTABLE_PACK_CAPABILITY_MANIFEST, SOURCE_AUTHORING_OPERATION_DESCRIPTORS, createScriptablePackAuthoringGateway, isRecord, isScriptablePackAssetKind, projectScriptablePackMeta, projectScriptablePackSceneComponents, validateScriptablePackDefinition };
|
|
582
671
|
//# sourceMappingURL=scriptable-pack.mjs.map
|
|
583
672
|
//# sourceMappingURL=scriptable-pack.mjs.map
|