@ai-game-assets/core 0.1.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.
@@ -0,0 +1,21 @@
1
+ import type { AiAssetDefinition, AiAudioPlaybackSettings, AiAudioGenerationSettings, AiVoiceGenerationSettings, AiAssetGenerationSettings, AiAssetVersion } from "./types.js";
2
+ export type CreateVersionInput = {
3
+ name: string;
4
+ file: string;
5
+ prompt?: string;
6
+ model?: string;
7
+ revisedPrompt?: string;
8
+ settings?: AiAssetGenerationSettings;
9
+ audioSettings?: AiAudioGenerationSettings;
10
+ audioPlayback?: AiAudioPlaybackSettings;
11
+ voiceSettings?: AiVoiceGenerationSettings;
12
+ durationSeconds?: number;
13
+ parentVersion?: string;
14
+ notes?: string;
15
+ createdAt?: string;
16
+ };
17
+ export declare function createAiAssetVersion(asset: AiAssetDefinition, input: CreateVersionInput): AiAssetVersion;
18
+ export declare function addVersion(asset: AiAssetDefinition, versionName: string, version: AiAssetVersion, options?: {
19
+ activate?: boolean;
20
+ }): AiAssetDefinition;
21
+ //# sourceMappingURL=generation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation.d.ts","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CA4BhB;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,iBAAiB,EACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GACnC,iBAAiB,CASnB"}
@@ -0,0 +1,40 @@
1
+ export function createAiAssetVersion(asset, input) {
2
+ return {
3
+ name: input.name,
4
+ file: input.file,
5
+ prompt: input.prompt ?? asset.prompt,
6
+ createdAt: input.createdAt ?? new Date().toISOString(),
7
+ model: input.model ?? input.settings?.model ?? asset.settings?.model,
8
+ revisedPrompt: input.revisedPrompt,
9
+ settings: {
10
+ ...asset.settings,
11
+ ...input.settings
12
+ },
13
+ audioSettings: {
14
+ ...asset.audioSettings,
15
+ ...input.audioSettings
16
+ },
17
+ audioPlayback: {
18
+ ...asset.audioPlayback,
19
+ ...input.audioPlayback
20
+ },
21
+ voiceSettings: {
22
+ ...asset.voiceSettings,
23
+ ...input.voiceSettings
24
+ },
25
+ durationSeconds: input.durationSeconds ?? input.audioSettings?.durationSeconds,
26
+ parentVersion: input.parentVersion,
27
+ notes: input.notes
28
+ };
29
+ }
30
+ export function addVersion(asset, versionName, version, options = {}) {
31
+ return {
32
+ ...asset,
33
+ activeVersion: options.activate ? versionName : asset.activeVersion,
34
+ versions: {
35
+ ...asset.versions,
36
+ [versionName]: version
37
+ }
38
+ };
39
+ }
40
+ //# sourceMappingURL=generation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation.js","sourceRoot":"","sources":["../src/generation.ts"],"names":[],"mappings":"AAyBA,MAAM,UAAU,oBAAoB,CAClC,KAAwB,EACxB,KAAyB;IAEzB,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK;QACpE,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,GAAG,KAAK,CAAC,QAAQ;SAClB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,aAAa,EAAE;YACb,GAAG,KAAK,CAAC,aAAa;YACtB,GAAG,KAAK,CAAC,aAAa;SACvB;QACD,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,aAAa,EAAE,eAAe;QAC9E,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAwB,EACxB,WAAmB,EACnB,OAAuB,EACvB,UAAkC,EAAE;IAEpC,OAAO;QACL,GAAG,KAAK;QACR,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa;QACnE,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,QAAQ;YACjB,CAAC,WAAW,CAAC,EAAE,OAAO;SACvB;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { AiAssetAnimation, AiAssetAnimationFrameTiming, AiAssetBackground, AiAssetDefinition, AiAssetDimensions, AiAssetFormat, AiAssetFrameGrid, AiAssetGenerationSettings, AiAssetKind, AiAssetManifest, AiAssetQuality, AiAssetSelection, AiAudioFormat, AiAudioGenerationSettings, AiAudioKind, AiAudioPlaybackSettings, AiVoiceGenerationSettings, AiAssetStyleGuide, AiAssetStyleGuideImage, AiAssetVersion, ResolvedAiAsset } from "./types.js";
2
+ export { assertAsset, assertManifest, defineAiAsset, defineAiAssets, getActiveVersion, resolveAiAsset, withActiveVersion } from "./manifest.js";
3
+ export { addVersion, createAiAssetVersion } from "./generation.js";
4
+ export type { CreateVersionInput } from "./generation.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,yBAAyB,EACzB,WAAW,EACX,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,yBAAyB,EACzB,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { assertAsset, assertManifest, defineAiAsset, defineAiAssets, getActiveVersion, resolveAiAsset, withActiveVersion } from "./manifest.js";
2
+ export { addVersion, createAiAssetVersion } from "./generation.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwBA,OAAO,EACL,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,UAAU,EACV,oBAAoB,EACrB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { AiAssetDefinition, AiAssetManifest, AiAssetSelection, AiAssetStyleGuide, AiAssetVersion, ResolvedAiAsset } from "./types.js";
2
+ export declare function defineAiAsset(asset: AiAssetDefinition): AiAssetDefinition;
3
+ export declare function defineAiAssets(assets: Record<string, AiAssetDefinition>, options?: {
4
+ styleGuide?: AiAssetStyleGuide;
5
+ }): AiAssetManifest;
6
+ export declare function assertManifest(manifest: AiAssetManifest): void;
7
+ export declare function assertAsset(asset: AiAssetDefinition): void;
8
+ export declare function resolveAiAsset(manifest: AiAssetManifest, selection: AiAssetSelection | string): ResolvedAiAsset;
9
+ export declare function getActiveVersion(asset: AiAssetDefinition): AiAssetVersion;
10
+ export declare function withActiveVersion(asset: AiAssetDefinition, activeVersion: string): AiAssetDefinition;
11
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAGzE;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACzC,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAO,GAC/C,eAAe,CASjB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAqB9D;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CA4D1D;AAMD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,gBAAgB,GAAG,MAAM,GACnC,eAAe,CAwBjB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,cAAc,CAUzE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iBAAiB,EACxB,aAAa,EAAE,MAAM,GACpB,iBAAiB,CASnB"}
@@ -0,0 +1,144 @@
1
+ export function defineAiAsset(asset) {
2
+ assertAsset(asset);
3
+ return asset;
4
+ }
5
+ export function defineAiAssets(assets, options = {}) {
6
+ const manifest = {
7
+ schemaVersion: 1,
8
+ assets,
9
+ styleGuide: options.styleGuide
10
+ };
11
+ assertManifest(manifest);
12
+ return manifest;
13
+ }
14
+ export function assertManifest(manifest) {
15
+ if (manifest.schemaVersion !== 1) {
16
+ throw new Error(`Unsupported AI asset manifest schema: ${manifest.schemaVersion}`);
17
+ }
18
+ for (const [id, asset] of Object.entries(manifest.assets)) {
19
+ if (id !== asset.id) {
20
+ throw new Error(`Asset key "${id}" does not match asset id "${asset.id}".`);
21
+ }
22
+ assertAsset(asset);
23
+ }
24
+ if (manifest.styleGuide?.prompt !== undefined && !manifest.styleGuide.prompt.trim()) {
25
+ throw new Error("styleGuide.prompt must be non-empty when provided.");
26
+ }
27
+ for (const [index, image] of (manifest.styleGuide?.images ?? []).entries()) {
28
+ assertNonEmpty(image.name, `styleGuide.images.${index}.name`);
29
+ assertNonEmpty(image.file, `styleGuide.images.${index}.file`);
30
+ }
31
+ }
32
+ export function assertAsset(asset) {
33
+ assertNonEmpty(asset.id, "asset.id");
34
+ assertNonEmpty(asset.prompt, `${asset.id}.prompt`);
35
+ if (asset.dimensions) {
36
+ assertPositiveInteger(asset.dimensions.width, `${asset.id}.dimensions.width`);
37
+ assertPositiveInteger(asset.dimensions.height, `${asset.id}.dimensions.height`);
38
+ }
39
+ else if (!isAudioLikeAsset(asset.kind)) {
40
+ throw new Error(`${asset.id}.dimensions is required for graphical assets.`);
41
+ }
42
+ if (asset.audioSettings?.durationSeconds !== undefined) {
43
+ assertPositiveNumber(asset.audioSettings.durationSeconds, `${asset.id}.audioSettings.durationSeconds`);
44
+ }
45
+ if (asset.kind === "collection") {
46
+ if (Object.keys(asset.versions).length > 0) {
47
+ throw new Error(`Collection asset "${asset.id}" must not define versions.`);
48
+ }
49
+ }
50
+ else if (Object.keys(asset.versions).length === 0) {
51
+ if (asset.activeVersion) {
52
+ throw new Error(`Asset "${asset.id}" with no versions must use an empty activeVersion.`);
53
+ }
54
+ }
55
+ else if (!asset.versions[asset.activeVersion]) {
56
+ throw new Error(`Asset "${asset.id}" activeVersion "${asset.activeVersion}" is missing from versions.`);
57
+ }
58
+ if (asset.frameGrid) {
59
+ if (asset.frameGrid.frameCount !== undefined) {
60
+ assertPositiveInteger(asset.frameGrid.frameCount, `${asset.id}.frameGrid.frameCount`);
61
+ }
62
+ assertPositiveInteger(asset.frameGrid.frameWidth, `${asset.id}.frameGrid.frameWidth`);
63
+ assertPositiveInteger(asset.frameGrid.frameHeight, `${asset.id}.frameGrid.frameHeight`);
64
+ assertPositiveInteger(asset.frameGrid.columns, `${asset.id}.frameGrid.columns`);
65
+ assertPositiveInteger(asset.frameGrid.rows, `${asset.id}.frameGrid.rows`);
66
+ }
67
+ for (const [key, linkedAnimation] of Object.entries(asset.linkedAnimationAssets ?? {})) {
68
+ assertNonEmpty(key, `${asset.id}.linkedAnimationAssets key`);
69
+ assertNonEmpty(linkedAnimation.label, `${asset.id}.linkedAnimationAssets.${key}.label`);
70
+ assertNonEmpty(linkedAnimation.assetId, `${asset.id}.linkedAnimationAssets.${key}.assetId`);
71
+ }
72
+ for (const animation of asset.animations ?? []) {
73
+ assertNonEmpty(animation.key, `${asset.id}.animations.key`);
74
+ assertPositiveInteger(animation.frameRate, `${asset.id}.animations.${animation.key}.frameRate`);
75
+ for (const timing of animation.frameTimings ?? []) {
76
+ if (timing.delayMs !== undefined) {
77
+ assertPositiveInteger(timing.delayMs, `${asset.id}.animations.${animation.key}.frameTimings.delayMs`);
78
+ }
79
+ }
80
+ }
81
+ for (const [versionName, version] of Object.entries(asset.versions)) {
82
+ assertVersion(asset.id, versionName, version);
83
+ }
84
+ }
85
+ function isAudioLikeAsset(kind) {
86
+ return kind === "sound" || kind === "music" || kind === "voice" || kind === "voice-line";
87
+ }
88
+ export function resolveAiAsset(manifest, selection) {
89
+ const assetId = typeof selection === "string" ? selection : selection.assetId;
90
+ const versionName = typeof selection === "string" ? undefined : selection.versionName;
91
+ const asset = manifest.assets[assetId];
92
+ if (!asset) {
93
+ throw new Error(`Unknown AI asset "${assetId}".`);
94
+ }
95
+ const resolvedVersionName = versionName ?? asset.activeVersion;
96
+ const version = asset.versions[resolvedVersionName];
97
+ if (!version) {
98
+ throw new Error(`Unknown version "${resolvedVersionName}" for AI asset "${assetId}".`);
99
+ }
100
+ return {
101
+ asset,
102
+ versionName: resolvedVersionName,
103
+ version
104
+ };
105
+ }
106
+ export function getActiveVersion(asset) {
107
+ const version = asset.versions[asset.activeVersion];
108
+ if (!version) {
109
+ throw new Error(`Asset "${asset.id}" activeVersion "${asset.activeVersion}" is missing.`);
110
+ }
111
+ return version;
112
+ }
113
+ export function withActiveVersion(asset, activeVersion) {
114
+ if (!asset.versions[activeVersion]) {
115
+ throw new Error(`Cannot activate missing version "${activeVersion}" on "${asset.id}".`);
116
+ }
117
+ return {
118
+ ...asset,
119
+ activeVersion
120
+ };
121
+ }
122
+ function assertVersion(assetId, versionName, version) {
123
+ assertNonEmpty(versionName, `${assetId}.versions key`);
124
+ assertNonEmpty(version.name, `${assetId}.versions.${versionName}.name`);
125
+ assertNonEmpty(version.file, `${assetId}.versions.${versionName}.file`);
126
+ assertNonEmpty(version.prompt, `${assetId}.versions.${versionName}.prompt`);
127
+ assertNonEmpty(version.createdAt, `${assetId}.versions.${versionName}.createdAt`);
128
+ }
129
+ function assertNonEmpty(value, label) {
130
+ if (!value || value.trim().length === 0) {
131
+ throw new Error(`${label} must be a non-empty string.`);
132
+ }
133
+ }
134
+ function assertPositiveInteger(value, label) {
135
+ if (!Number.isInteger(value) || value <= 0) {
136
+ throw new Error(`${label} must be a positive integer.`);
137
+ }
138
+ }
139
+ function assertPositiveNumber(value, label) {
140
+ if (!Number.isFinite(value) || value <= 0) {
141
+ throw new Error(`${label} must be a positive number.`);
142
+ }
143
+ }
144
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ export type AiAssetKind = "image" | "spritesheet" | "animation" | "collection" | "sound" | "music" | "voice" | "voice-line";
2
+ export type AiAssetBackground = "transparent" | "opaque" | "auto";
3
+ export type AiAssetQuality = "low" | "medium" | "high" | "auto";
4
+ export type AiAssetFormat = "png" | "webp" | "jpg" | "svg";
5
+ export type AiAudioFormat = "mp3" | "wav" | "ogg" | "opus" | "pcm";
6
+ export type AiAudioKind = "sfx" | "music";
7
+ export type AiAssetDimensions = {
8
+ width: number;
9
+ height: number;
10
+ };
11
+ export type AiAssetFrameGrid = {
12
+ frameCount?: number;
13
+ frameWidth: number;
14
+ frameHeight: number;
15
+ columns: number;
16
+ rows: number;
17
+ margin?: number;
18
+ spacing?: number;
19
+ };
20
+ export type AiAssetAnimation = {
21
+ key: string;
22
+ frames: number[];
23
+ frameRate: number;
24
+ repeat?: number;
25
+ prompt?: string;
26
+ frameTimings?: AiAssetAnimationFrameTiming[];
27
+ };
28
+ export type AiAssetAnimationFrameTiming = {
29
+ delayMs?: number;
30
+ offsetX?: number;
31
+ offsetY?: number;
32
+ scaleX?: number;
33
+ scaleY?: number;
34
+ rotation?: number;
35
+ tag?: string;
36
+ };
37
+ export type AiAssetLinkedAnimation = {
38
+ label: string;
39
+ assetId: string;
40
+ };
41
+ export type AiAssetStyleGuideImage = {
42
+ name: string;
43
+ file: string;
44
+ mimeType?: string;
45
+ };
46
+ export type AiAssetStyleGuide = {
47
+ prompt?: string;
48
+ images?: AiAssetStyleGuideImage[];
49
+ };
50
+ export type AiAssetGenerationSettings = {
51
+ model?: string;
52
+ size?: string;
53
+ quality?: AiAssetQuality;
54
+ background?: AiAssetBackground;
55
+ format?: AiAssetFormat;
56
+ moderation?: "auto" | "low";
57
+ referenceAssetIds?: string[];
58
+ };
59
+ export type AiAudioGenerationSettings = {
60
+ provider?: "elevenlabs" | string;
61
+ model?: string;
62
+ format?: AiAudioFormat;
63
+ durationSeconds?: number;
64
+ loop?: boolean;
65
+ };
66
+ export type AiVoiceGenerationSettings = {
67
+ provider?: "elevenlabs" | string;
68
+ voiceAssetId?: string;
69
+ voiceId?: string;
70
+ generatedVoiceId?: string;
71
+ previewText?: string;
72
+ text?: string;
73
+ direction?: string;
74
+ model?: string;
75
+ loudness?: number;
76
+ seed?: number;
77
+ };
78
+ export type AiAudioPlaybackSettings = {
79
+ volume?: number;
80
+ trimStartSeconds?: number;
81
+ trimEndSeconds?: number;
82
+ playbackRate?: number;
83
+ pitchSemitones?: number;
84
+ loop?: boolean;
85
+ reverse?: boolean;
86
+ reverb?: {
87
+ enabled?: boolean;
88
+ amount?: number;
89
+ decaySeconds?: number;
90
+ };
91
+ delay?: {
92
+ enabled?: boolean;
93
+ timeSeconds?: number;
94
+ feedback?: number;
95
+ mix?: number;
96
+ };
97
+ filter?: {
98
+ type?: "none" | "lowpass" | "highpass";
99
+ frequencyHz?: number;
100
+ };
101
+ };
102
+ export type AiAssetVersion = {
103
+ name: string;
104
+ file: string;
105
+ prompt: string;
106
+ createdAt: string;
107
+ model?: string;
108
+ revisedPrompt?: string;
109
+ settings?: AiAssetGenerationSettings;
110
+ audioSettings?: AiAudioGenerationSettings;
111
+ audioPlayback?: AiAudioPlaybackSettings;
112
+ voiceSettings?: AiVoiceGenerationSettings;
113
+ durationSeconds?: number;
114
+ parentVersion?: string;
115
+ notes?: string;
116
+ };
117
+ export type AiAssetDefinition = {
118
+ id: string;
119
+ kind: AiAssetKind;
120
+ prompt: string;
121
+ negativePrompt?: string;
122
+ style?: string;
123
+ dimensions?: AiAssetDimensions;
124
+ frameGrid?: AiAssetFrameGrid;
125
+ animations?: AiAssetAnimation[];
126
+ settings?: AiAssetGenerationSettings;
127
+ audioSettings?: AiAudioGenerationSettings;
128
+ audioPlayback?: AiAudioPlaybackSettings;
129
+ voiceSettings?: AiVoiceGenerationSettings;
130
+ linkedAnimationAssets?: Record<string, AiAssetLinkedAnimation>;
131
+ activeVersion: string;
132
+ versions: Record<string, AiAssetVersion>;
133
+ tags?: string[];
134
+ };
135
+ export type AiAssetManifest = {
136
+ schemaVersion: 1;
137
+ assets: Record<string, AiAssetDefinition>;
138
+ styleGuide?: AiAssetStyleGuide;
139
+ assetPaths?: Record<string, string[]>;
140
+ };
141
+ export type AiAssetSelection = {
142
+ assetId: string;
143
+ versionName?: string;
144
+ };
145
+ export type ResolvedAiAsset = {
146
+ asset: AiAssetDefinition;
147
+ versionName: string;
148
+ version: AiAssetVersion;
149
+ };
150
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@ai-game-assets/core",
3
+ "version": "0.1.0",
4
+ "description": "Core manifest and runtime types for prompt-aware AI game assets.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "sideEffects": false,
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "publishConfig": {
18
+ "access": "public"
19
+ },
20
+ "scripts": {
21
+ "build": "tsc -p tsconfig.json",
22
+ "typecheck": "tsc -p tsconfig.json --noEmit"
23
+ }
24
+ }