@bitmagic/asset-core 0.2.19-dev.1 → 0.2.19-dev.10
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/art-style.d.ts +32 -0
- package/dist/art-style.d.ts.map +1 -0
- package/dist/art-style.js +42 -0
- package/dist/art-style.js.map +1 -0
- package/dist/cover-prompt.d.ts +26 -2
- package/dist/cover-prompt.d.ts.map +1 -1
- package/dist/cover-prompt.js +40 -4
- package/dist/cover-prompt.js.map +1 -1
- package/dist/forger-client.d.ts +14 -0
- package/dist/forger-client.d.ts.map +1 -1
- package/dist/forger-client.js +14 -1
- package/dist/forger-client.js.map +1 -1
- package/dist/generators/animation-from-video.d.ts +26 -0
- package/dist/generators/animation-from-video.d.ts.map +1 -1
- package/dist/generators/animation-from-video.js +32 -0
- package/dist/generators/animation-from-video.js.map +1 -1
- package/dist/generators/character.d.ts +33 -0
- package/dist/generators/character.d.ts.map +1 -1
- package/dist/generators/character.js +69 -8
- package/dist/generators/character.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/reference-prompt.d.ts +24 -2
- package/dist/reference-prompt.d.ts.map +1 -1
- package/dist/reference-prompt.js +10 -6
- package/dist/reference-prompt.js.map +1 -1
- package/dist/terminal-failure.d.ts +31 -7
- package/dist/terminal-failure.d.ts.map +1 -1
- package/dist/terminal-failure.js +11 -19
- package/dist/terminal-failure.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -1
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The game's declared art style — the one switch that says whether a 3D game is built from
|
|
3
|
+
* voxels or from low-poly meshes.
|
|
4
|
+
*
|
|
5
|
+
* It lives in `src/work/game.json` as `artStyle`, beside `physicsMode`, and is absent on every
|
|
6
|
+
* game made before it existed: absent means `voxel`, which is what every generator produced
|
|
7
|
+
* until now. The engine repeats the literal union in `game/src/types/game.ts` (it cannot import
|
|
8
|
+
* this package) and copies the field onto `GameData` in `mergeGameData`; a test here pins the
|
|
9
|
+
* two lists to each other through the generated world schema.
|
|
10
|
+
*
|
|
11
|
+
* What reads it: the cover and reference prompt builders (`cover-prompt.ts`,
|
|
12
|
+
* `reference-prompt.ts`), the character generator (`voxelize`), the CLI's asset defaults
|
|
13
|
+
* (`assets add`, `generate model|prop|character`), the judge's fallback art direction, and
|
|
14
|
+
* the engine's lighting/bloom presets. What does NOT: the web lane's planner, which still
|
|
15
|
+
* builds voxel games only — its agent has no way to author a low-poly level.
|
|
16
|
+
*
|
|
17
|
+
* Published as the `@bitmagic/asset-core/art-style` subpath so browser consumers can read
|
|
18
|
+
* the enum without the root barrel's generators. No network, no node APIs.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ART_STYLES: readonly ["voxel", "low-poly"];
|
|
21
|
+
export type ArtStyle = (typeof ART_STYLES)[number];
|
|
22
|
+
/** What an absent `artStyle` means — every game made before the field existed. */
|
|
23
|
+
export declare const DEFAULT_ART_STYLE: ArtStyle;
|
|
24
|
+
/** The exact member or `undefined`; never coerces, so a typo is visible to the caller. */
|
|
25
|
+
export declare function parseArtStyle(value: unknown): ArtStyle | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* The medium in a sentence, for a GAME-DESIGN.md `## Art direction` that nobody has written
|
|
28
|
+
* yet and for the judge when that heading is missing — so a low-poly game is never graded
|
|
29
|
+
* as "faceted" and a voxel game never as "blocky" by default.
|
|
30
|
+
*/
|
|
31
|
+
export declare function describeArtStyle(style: ArtStyle): string;
|
|
32
|
+
//# sourceMappingURL=art-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art-style.d.ts","sourceRoot":"","sources":["../src/art-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,UAAU,gCAAiC,CAAC;AACzD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,EAAE,QAAkB,CAAC;AAEnD,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAIlE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAOxD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The game's declared art style — the one switch that says whether a 3D game is built from
|
|
3
|
+
* voxels or from low-poly meshes.
|
|
4
|
+
*
|
|
5
|
+
* It lives in `src/work/game.json` as `artStyle`, beside `physicsMode`, and is absent on every
|
|
6
|
+
* game made before it existed: absent means `voxel`, which is what every generator produced
|
|
7
|
+
* until now. The engine repeats the literal union in `game/src/types/game.ts` (it cannot import
|
|
8
|
+
* this package) and copies the field onto `GameData` in `mergeGameData`; a test here pins the
|
|
9
|
+
* two lists to each other through the generated world schema.
|
|
10
|
+
*
|
|
11
|
+
* What reads it: the cover and reference prompt builders (`cover-prompt.ts`,
|
|
12
|
+
* `reference-prompt.ts`), the character generator (`voxelize`), the CLI's asset defaults
|
|
13
|
+
* (`assets add`, `generate model|prop|character`), the judge's fallback art direction, and
|
|
14
|
+
* the engine's lighting/bloom presets. What does NOT: the web lane's planner, which still
|
|
15
|
+
* builds voxel games only — its agent has no way to author a low-poly level.
|
|
16
|
+
*
|
|
17
|
+
* Published as the `@bitmagic/asset-core/art-style` subpath so browser consumers can read
|
|
18
|
+
* the enum without the root barrel's generators. No network, no node APIs.
|
|
19
|
+
*/
|
|
20
|
+
export const ART_STYLES = ['voxel', 'low-poly'];
|
|
21
|
+
/** What an absent `artStyle` means — every game made before the field existed. */
|
|
22
|
+
export const DEFAULT_ART_STYLE = 'voxel';
|
|
23
|
+
/** The exact member or `undefined`; never coerces, so a typo is visible to the caller. */
|
|
24
|
+
export function parseArtStyle(value) {
|
|
25
|
+
return typeof value === 'string' && ART_STYLES.includes(value)
|
|
26
|
+
? value
|
|
27
|
+
: undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The medium in a sentence, for a GAME-DESIGN.md `## Art direction` that nobody has written
|
|
31
|
+
* yet and for the judge when that heading is missing — so a low-poly game is never graded
|
|
32
|
+
* as "faceted" and a voxel game never as "blocky" by default.
|
|
33
|
+
*/
|
|
34
|
+
export function describeArtStyle(style) {
|
|
35
|
+
switch (style) {
|
|
36
|
+
case 'voxel':
|
|
37
|
+
return 'Voxel art: every object built from visible cubes, MagicaVoxel-style blocky geometry with crisp cube edges.';
|
|
38
|
+
case 'low-poly':
|
|
39
|
+
return 'Low-poly art: flat-shaded polygon meshes with clean facets and simple colour blocking; visible polygons and hard edges are the medium, not a defect.';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=art-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"art-style.js","sourceRoot":"","sources":["../src/art-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU,CAAC;AAGzD,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAa,OAAO,CAAC;AAEnD,0FAA0F;AAC1F,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,UAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnF,CAAC,CAAE,KAAkB;QACrB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe;IAC9C,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,4GAA4G,CAAC;QACtH,KAAK,UAAU;YACb,OAAO,sJAAsJ,CAAC;IAClK,CAAC;AACH,CAAC"}
|
package/dist/cover-prompt.d.ts
CHANGED
|
@@ -8,7 +8,13 @@
|
|
|
8
8
|
*
|
|
9
9
|
* No network, no credentials: this module composes strings. Each lane calls its
|
|
10
10
|
* own image generator with the result.
|
|
11
|
+
*
|
|
12
|
+
* The style is a parameter with `voxel` as its default: the web lane never
|
|
13
|
+
* passes one and keeps rendering exactly what it always has, while the CLI
|
|
14
|
+
* passes the project's `artStyle` (game.json) so a low-poly game's cover is
|
|
15
|
+
* not a cube-built picture of a mesh-built world.
|
|
11
16
|
*/
|
|
17
|
+
import { type ArtStyle } from './art-style.js';
|
|
12
18
|
/**
|
|
13
19
|
* Short voxel-geometry directive that OPENS every cover and reference prompt.
|
|
14
20
|
*
|
|
@@ -32,16 +38,34 @@ export declare const VOXEL_STYLE_LEAD = "Voxel art: every object built from visi
|
|
|
32
38
|
* away from blocky ones.
|
|
33
39
|
*/
|
|
34
40
|
export declare const PIXAR_VOXEL_STYLE: string;
|
|
41
|
+
/**
|
|
42
|
+
* The low-poly counterpart of `VOXEL_STYLE_LEAD`: same position, same job. It
|
|
43
|
+
* names what the geometry IS (flat-shaded facets) and what it is NOT (cubes),
|
|
44
|
+
* because the voxel lead trained every downstream prompt in this product and a
|
|
45
|
+
* model that has seen "Bitmagic" material will otherwise drift back to cubes.
|
|
46
|
+
*/
|
|
47
|
+
export declare const LOW_POLY_STYLE_LEAD = "Low-poly art: flat-shaded polygon meshes with clean facets and hard edges, simple colour blocking, no visible cubes, no voxels.";
|
|
48
|
+
/**
|
|
49
|
+
* The low-poly counterpart of `PIXAR_VOXEL_STYLE`: the same polished-render tail
|
|
50
|
+
* and the same wordless directive, with faceted vocabulary in place of cubic.
|
|
51
|
+
*/
|
|
52
|
+
export declare const PIXAR_LOW_POLY_STYLE: string;
|
|
53
|
+
/** The lead that opens a cover or reference prompt for this style. */
|
|
54
|
+
export declare function styleLead(style: ArtStyle): string;
|
|
55
|
+
/** The tail that closes a cover or reference prompt for this style. */
|
|
56
|
+
export declare function styleTail(style: ArtStyle): string;
|
|
57
|
+
/** The adjective the prompt bodies use for the scene: "a voxel game scene", "a low-poly world". */
|
|
58
|
+
export declare function styleNoun(style: ArtStyle): string;
|
|
35
59
|
/** How much of the design text reaches the image model; the rest is dropped. */
|
|
36
60
|
export declare const MAX_COVER_DESIGN_CHARS = 1500;
|
|
37
61
|
/**
|
|
38
62
|
* Compose the image prompt for a cover image from a game's design text
|
|
39
63
|
* (GAME-DESIGN.md content or, during planning, the pitch/plan doc). Falls back
|
|
40
|
-
* to a generic
|
|
64
|
+
* to a generic scene in the style when none is present.
|
|
41
65
|
*
|
|
42
66
|
* The game name is deliberately NEVER injected — naming the game makes image
|
|
43
67
|
* models render the title as on-image text. We describe a wordless scene and
|
|
44
68
|
* append a strong no-text directive.
|
|
45
69
|
*/
|
|
46
|
-
export declare function buildCoverArtPrompt(gameDesign: string): string;
|
|
70
|
+
export declare function buildCoverArtPrompt(gameDesign: string, artStyle?: ArtStyle): string;
|
|
47
71
|
//# sourceMappingURL=cover-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cover-prompt.d.ts","sourceRoot":"","sources":["../src/cover-prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cover-prompt.d.ts","sourceRoot":"","sources":["../src/cover-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,qHACuF,CAAC;AAErH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,QAIsD,CAAC;AAErF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,oIACmG,CAAC;AAEpI;;;GAGG;AACH,eAAO,MAAM,oBAAoB,QAImD,CAAC;AAErF,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEjD;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEjD;AAED,mGAAmG;AACnG,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAEjD;AAED,gFAAgF;AAChF,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA4B,GAAG,MAAM,CAWtG"}
|
package/dist/cover-prompt.js
CHANGED
|
@@ -8,7 +8,13 @@
|
|
|
8
8
|
*
|
|
9
9
|
* No network, no credentials: this module composes strings. Each lane calls its
|
|
10
10
|
* own image generator with the result.
|
|
11
|
+
*
|
|
12
|
+
* The style is a parameter with `voxel` as its default: the web lane never
|
|
13
|
+
* passes one and keeps rendering exactly what it always has, while the CLI
|
|
14
|
+
* passes the project's `artStyle` (game.json) so a low-poly game's cover is
|
|
15
|
+
* not a cube-built picture of a mesh-built world.
|
|
11
16
|
*/
|
|
17
|
+
import { DEFAULT_ART_STYLE } from './art-style.js';
|
|
12
18
|
/**
|
|
13
19
|
* Short voxel-geometry directive that OPENS every cover and reference prompt.
|
|
14
20
|
*
|
|
@@ -35,22 +41,52 @@ export const PIXAR_VOXEL_STYLE = 'Voxel art built from visible small cubes: Magi
|
|
|
35
41
|
'rendered as a highly polished 3D scene with the craft of a Pixar-quality animated film, ' +
|
|
36
42
|
'cinematic lighting that fits the scene, soft ambient occlusion, rich detail and expressive composition. ' +
|
|
37
43
|
'Wordless illustration, no text, no title, no words, no letters, no logos, no UI.';
|
|
44
|
+
/**
|
|
45
|
+
* The low-poly counterpart of `VOXEL_STYLE_LEAD`: same position, same job. It
|
|
46
|
+
* names what the geometry IS (flat-shaded facets) and what it is NOT (cubes),
|
|
47
|
+
* because the voxel lead trained every downstream prompt in this product and a
|
|
48
|
+
* model that has seen "Bitmagic" material will otherwise drift back to cubes.
|
|
49
|
+
*/
|
|
50
|
+
export const LOW_POLY_STYLE_LEAD = 'Low-poly art: flat-shaded polygon meshes with clean facets and hard edges, simple colour blocking, no visible cubes, no voxels.';
|
|
51
|
+
/**
|
|
52
|
+
* The low-poly counterpart of `PIXAR_VOXEL_STYLE`: the same polished-render tail
|
|
53
|
+
* and the same wordless directive, with faceted vocabulary in place of cubic.
|
|
54
|
+
*/
|
|
55
|
+
export const PIXAR_LOW_POLY_STYLE = 'Low-poly art with flat-shaded facets and hard edges on every object, no cubes, no voxels, ' +
|
|
56
|
+
'rendered as a highly polished 3D scene with the craft of a Pixar-quality animated film, ' +
|
|
57
|
+
'cinematic lighting that fits the scene, soft ambient occlusion, rich detail and expressive composition. ' +
|
|
58
|
+
'Wordless illustration, no text, no title, no words, no letters, no logos, no UI.';
|
|
59
|
+
/** The lead that opens a cover or reference prompt for this style. */
|
|
60
|
+
export function styleLead(style) {
|
|
61
|
+
return style === 'low-poly' ? LOW_POLY_STYLE_LEAD : VOXEL_STYLE_LEAD;
|
|
62
|
+
}
|
|
63
|
+
/** The tail that closes a cover or reference prompt for this style. */
|
|
64
|
+
export function styleTail(style) {
|
|
65
|
+
return style === 'low-poly' ? PIXAR_LOW_POLY_STYLE : PIXAR_VOXEL_STYLE;
|
|
66
|
+
}
|
|
67
|
+
/** The adjective the prompt bodies use for the scene: "a voxel game scene", "a low-poly world". */
|
|
68
|
+
export function styleNoun(style) {
|
|
69
|
+
return style === 'low-poly' ? 'low-poly' : 'voxel';
|
|
70
|
+
}
|
|
38
71
|
/** How much of the design text reaches the image model; the rest is dropped. */
|
|
39
72
|
export const MAX_COVER_DESIGN_CHARS = 1500;
|
|
40
73
|
/**
|
|
41
74
|
* Compose the image prompt for a cover image from a game's design text
|
|
42
75
|
* (GAME-DESIGN.md content or, during planning, the pitch/plan doc). Falls back
|
|
43
|
-
* to a generic
|
|
76
|
+
* to a generic scene in the style when none is present.
|
|
44
77
|
*
|
|
45
78
|
* The game name is deliberately NEVER injected — naming the game makes image
|
|
46
79
|
* models render the title as on-image text. We describe a wordless scene and
|
|
47
80
|
* append a strong no-text directive.
|
|
48
81
|
*/
|
|
49
|
-
export function buildCoverArtPrompt(gameDesign) {
|
|
82
|
+
export function buildCoverArtPrompt(gameDesign, artStyle = DEFAULT_ART_STYLE) {
|
|
50
83
|
const excerpt = gameDesign.trim().slice(0, MAX_COVER_DESIGN_CHARS);
|
|
84
|
+
const lead = styleLead(artStyle);
|
|
85
|
+
const tail = styleTail(artStyle);
|
|
86
|
+
const noun = styleNoun(artStyle);
|
|
51
87
|
if (!excerpt) {
|
|
52
|
-
return `${
|
|
88
|
+
return `${lead} A charming, inviting ${noun} adventure game scene, colorful and full of character. ${tail}`;
|
|
53
89
|
}
|
|
54
|
-
return `${
|
|
90
|
+
return `${lead}\nA ${noun} game scene based on this game design:\n${excerpt}\n\nDepict the world and atmosphere as a single illustrated scene. ${tail}`;
|
|
55
91
|
}
|
|
56
92
|
//# sourceMappingURL=cover-prompt.js.map
|
package/dist/cover-prompt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cover-prompt.js","sourceRoot":"","sources":["../src/cover-prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cover-prompt.js","sourceRoot":"","sources":["../src/cover-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,gBAAgB,CAAC;AAElE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAC3B,kHAAkH,CAAC;AAErH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,qHAAqH;IACrH,0FAA0F;IAC1F,0GAA0G;IAC1G,kFAAkF,CAAC;AAErF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC9B,iIAAiI,CAAC;AAEpI;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,4FAA4F;IAC5F,0FAA0F;IAC1F,0GAA0G;IAC1G,kFAAkF,CAAC;AAErF,sEAAsE;AACtE,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;AACvE,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACzE,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;AACrD,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,WAAqB,iBAAiB;IAC5F,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;IACnE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,yBAAyB,IAAI,0DAA0D,IAAI,EAAE,CAAC;IAC9G,CAAC;IAED,OAAO,GAAG,IAAI,OAAO,IAAI,2CAA2C,OAAO,sEAAsE,IAAI,EAAE,CAAC;AAC1J,CAAC"}
|
package/dist/forger-client.d.ts
CHANGED
|
@@ -9,6 +9,20 @@ export interface AssetForgerCredentials {
|
|
|
9
9
|
username: string;
|
|
10
10
|
password: string;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* How long a forge job may run before the client stops waiting.
|
|
14
|
+
*
|
|
15
|
+
* Raised from 8 to 20 minutes when the Meshy 6 mesh model was added: that lane
|
|
16
|
+
* measured 283s end to end (mesh 247s, Uthana rigging 32s, Blender 2.6s) and
|
|
17
|
+
* Runware's own spread runs to 6m19s for the mesh alone, so the old ceiling
|
|
18
|
+
* could abandon a job that was still running and already billed. Characters and
|
|
19
|
+
* props (`hq-asset-jobs`) poll on this default rather than naming their own.
|
|
20
|
+
*
|
|
21
|
+
* The cost is that a genuinely wedged forge now hangs a caller for 20 minutes
|
|
22
|
+
* instead of 8. Generators that know their own ceiling still set it explicitly
|
|
23
|
+
* via `JobWaitOptions` — `video.ts` caps itself at 10 minutes.
|
|
24
|
+
*/
|
|
25
|
+
export declare const DEFAULT_JOB_TIMEOUT_MS: number;
|
|
12
26
|
export declare class AssetForgerClient implements ForgerClient {
|
|
13
27
|
private readonly baseUrl;
|
|
14
28
|
private readonly credentials;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forger-client.d.ts","sourceRoot":"","sources":["../src/forger-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"forger-client.d.ts","sourceRoot":"","sources":["../src/forger-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE3E;;;;;GAKG;AAEH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAKD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AAErD,qBAAa,iBAAkB,YAAW,YAAY;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiF;IACzG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgC;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,MAAM,EAAE,UAAU;IAgBvB,cAAc,IAAI,OAAO;IAIzB,4BAA4B,IAAI,MAAM;IAI7C,OAAO,CAAC,UAAU;YAMJ,QAAQ;IAgCtB;;;;;;;;;;;;;;;OAeG;IACU,GAAG,CAAC,CAAC,GAAG,OAAO,EAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EAC5D,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IA2Bb;;;;;;;OAOG;IACU,IAAI,CAAC,CAAC,GAAG,OAAO,EAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC;IAMb;;;;;;;;;OASG;IACU,cAAc,CAAC,CAAC,GAAG,OAAO,EACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;CA+Ed"}
|
package/dist/forger-client.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
/** How long a GET may hang before the caller gets its budget back. */
|
|
2
2
|
const GET_TIMEOUT_MS = 15000;
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* How long a forge job may run before the client stops waiting.
|
|
5
|
+
*
|
|
6
|
+
* Raised from 8 to 20 minutes when the Meshy 6 mesh model was added: that lane
|
|
7
|
+
* measured 283s end to end (mesh 247s, Uthana rigging 32s, Blender 2.6s) and
|
|
8
|
+
* Runware's own spread runs to 6m19s for the mesh alone, so the old ceiling
|
|
9
|
+
* could abandon a job that was still running and already billed. Characters and
|
|
10
|
+
* props (`hq-asset-jobs`) poll on this default rather than naming their own.
|
|
11
|
+
*
|
|
12
|
+
* The cost is that a genuinely wedged forge now hangs a caller for 20 minutes
|
|
13
|
+
* instead of 8. Generators that know their own ceiling still set it explicitly
|
|
14
|
+
* via `JobWaitOptions` — `video.ts` caps itself at 10 minutes.
|
|
15
|
+
*/
|
|
16
|
+
export const DEFAULT_JOB_TIMEOUT_MS = 20 * 60 * 1000;
|
|
4
17
|
export class AssetForgerClient {
|
|
5
18
|
constructor(logger) {
|
|
6
19
|
this.baseUrl = process.env.ASSET_FORGER_URL || 'https://asset-forger.staging.bitmagic.cloud';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forger-client.js","sourceRoot":"","sources":["../src/forger-client.ts"],"names":[],"mappings":"AAcA,sEAAsE;AACtE,MAAM,cAAc,GAAG,KAAM,CAAC;AAE9B,MAAM,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"forger-client.js","sourceRoot":"","sources":["../src/forger-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,32 @@ export interface TrimAnalysisJobResult {
|
|
|
39
39
|
export declare const MIN_TRIM_KEPT_SECONDS = 2;
|
|
40
40
|
/** Uthana processing has no documented bound; 20 minutes covers a 60 s clip with margin. */
|
|
41
41
|
export declare const ANIMATION_FROM_VIDEO_TIMEOUT_MS: number;
|
|
42
|
+
/**
|
|
43
|
+
* Framing appended to a `--video-prompt` description before it is sent to the
|
|
44
|
+
* video generator, so the clip that comes back is something Uthana can read.
|
|
45
|
+
*
|
|
46
|
+
* Uthana wants one centred person, whole body visible, from a fixed camera
|
|
47
|
+
* (BitmagicLab/uthana.py:610). Video models default to cinema: they answer "a
|
|
48
|
+
* cartwheel" with a cropped hero shot, a dolly move and a cut. That footage is
|
|
49
|
+
* rejected as `upstream-failed` AFTER both legs have been paid for, so the
|
|
50
|
+
* steering is not a nicety — it is what makes the lane work. Measured 2026-09:
|
|
51
|
+
* with this wording, seedance-fast clips of a walk and a wave both produced
|
|
52
|
+
* usable Mixamo-rigged motion, arm-dominant for the wave and leg-dominant for
|
|
53
|
+
* the walk. Same reasoning as the product-shot framing forge-voxels adds.
|
|
54
|
+
*/
|
|
55
|
+
export declare const MOTION_SOURCE_FRAMING: string;
|
|
56
|
+
/**
|
|
57
|
+
* Uthana's floor, which is higher than the video lane's own 1 s minimum — a clip
|
|
58
|
+
* short enough for `generate-video` can still be too short to capture.
|
|
59
|
+
*/
|
|
60
|
+
export declare const MOTION_SOURCE_MIN_SECONDS = 2;
|
|
61
|
+
/** Long enough to hold a whole gesture; every extra second is billed. */
|
|
62
|
+
export declare const MOTION_SOURCE_DEFAULT_SECONDS = 5;
|
|
63
|
+
/**
|
|
64
|
+
* `"a person waving"` -> the same, plus the framing above. The description is
|
|
65
|
+
* kept first so the model reads the motion before the staging notes.
|
|
66
|
+
*/
|
|
67
|
+
export declare function buildMotionSourcePrompt(description: string): string;
|
|
42
68
|
export declare const animationFromVideoParamsSchema: z.ZodEffects<z.ZodObject<{
|
|
43
69
|
videoUrl: z.ZodString;
|
|
44
70
|
name: z.ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-from-video.d.ts","sourceRoot":"","sources":["../../src/generators/animation-from-video.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animation-from-video.d.ts","sourceRoot":"","sources":["../../src/generators/animation-from-video.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,38 @@ export const ANIMATION_TRIM_ANALYSIS_JOBS_ENDPOINT = '/ai/v1/analyse-motion-trim
|
|
|
31
31
|
export const MIN_TRIM_KEPT_SECONDS = 2;
|
|
32
32
|
/** Uthana processing has no documented bound; 20 minutes covers a 60 s clip with margin. */
|
|
33
33
|
export const ANIMATION_FROM_VIDEO_TIMEOUT_MS = 20 * 60 * 1000;
|
|
34
|
+
/**
|
|
35
|
+
* Framing appended to a `--video-prompt` description before it is sent to the
|
|
36
|
+
* video generator, so the clip that comes back is something Uthana can read.
|
|
37
|
+
*
|
|
38
|
+
* Uthana wants one centred person, whole body visible, from a fixed camera
|
|
39
|
+
* (BitmagicLab/uthana.py:610). Video models default to cinema: they answer "a
|
|
40
|
+
* cartwheel" with a cropped hero shot, a dolly move and a cut. That footage is
|
|
41
|
+
* rejected as `upstream-failed` AFTER both legs have been paid for, so the
|
|
42
|
+
* steering is not a nicety — it is what makes the lane work. Measured 2026-09:
|
|
43
|
+
* with this wording, seedance-fast clips of a walk and a wave both produced
|
|
44
|
+
* usable Mixamo-rigged motion, arm-dominant for the wave and leg-dominant for
|
|
45
|
+
* the walk. Same reasoning as the product-shot framing forge-voxels adds.
|
|
46
|
+
*/
|
|
47
|
+
export const MOTION_SOURCE_FRAMING = 'A single person, alone in frame, filmed head to toe '
|
|
48
|
+
+ 'with the whole body visible and centred. Locked-off static camera at eye level, no zoom, '
|
|
49
|
+
+ 'no pan, no cuts. Even bright lighting, plain uncluttered background. Realistic human '
|
|
50
|
+
+ 'proportions, ordinary clothing.';
|
|
51
|
+
/**
|
|
52
|
+
* Uthana's floor, which is higher than the video lane's own 1 s minimum — a clip
|
|
53
|
+
* short enough for `generate-video` can still be too short to capture.
|
|
54
|
+
*/
|
|
55
|
+
export const MOTION_SOURCE_MIN_SECONDS = 2;
|
|
56
|
+
/** Long enough to hold a whole gesture; every extra second is billed. */
|
|
57
|
+
export const MOTION_SOURCE_DEFAULT_SECONDS = 5;
|
|
58
|
+
/**
|
|
59
|
+
* `"a person waving"` -> the same, plus the framing above. The description is
|
|
60
|
+
* kept first so the model reads the motion before the staging notes.
|
|
61
|
+
*/
|
|
62
|
+
export function buildMotionSourcePrompt(description) {
|
|
63
|
+
const trimmed = description.trim().replace(/[.\s]+$/, '');
|
|
64
|
+
return `${trimmed}. ${MOTION_SOURCE_FRAMING}`;
|
|
65
|
+
}
|
|
34
66
|
export const animationFromVideoParamsSchema = z.object({
|
|
35
67
|
videoUrl: z.string().url()
|
|
36
68
|
.describe('Public URL of the uploaded video (mp4/mov/avi/webm, 2–60 s, one full-body person).'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-from-video.js","sourceRoot":"","sources":["../../src/generators/animation-from-video.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"animation-from-video.js","sourceRoot":"","sources":["../../src/generators/animation-from-video.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,13 +23,17 @@ export declare const characterParamsSchema: z.ZodObject<{
|
|
|
23
23
|
headScale: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
24
24
|
assetId: z.ZodOptional<z.ZodString>;
|
|
25
25
|
useLibrary: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
26
|
+
voxelize: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
27
|
+
meshModel: z.ZodOptional<z.ZodString>;
|
|
26
28
|
}, "strict", z.ZodTypeAny, {
|
|
27
29
|
name: string;
|
|
28
30
|
prompt: string;
|
|
29
31
|
applyToPlayer: boolean;
|
|
30
32
|
headScale: number;
|
|
31
33
|
useLibrary: boolean;
|
|
34
|
+
voxelize: boolean;
|
|
32
35
|
assetId?: string | undefined;
|
|
36
|
+
meshModel?: string | undefined;
|
|
33
37
|
}, {
|
|
34
38
|
name: string;
|
|
35
39
|
prompt: string;
|
|
@@ -37,6 +41,8 @@ export declare const characterParamsSchema: z.ZodObject<{
|
|
|
37
41
|
applyToPlayer?: boolean | undefined;
|
|
38
42
|
headScale?: number | undefined;
|
|
39
43
|
useLibrary?: boolean | undefined;
|
|
44
|
+
voxelize?: boolean | undefined;
|
|
45
|
+
meshModel?: string | undefined;
|
|
40
46
|
}>;
|
|
41
47
|
/**
|
|
42
48
|
* The schema's INPUT type — callers may omit the defaulted fields. The
|
|
@@ -60,5 +66,32 @@ export type CharacterResult = AssetResultBase & {
|
|
|
60
66
|
similarity: number;
|
|
61
67
|
};
|
|
62
68
|
};
|
|
69
|
+
/**
|
|
70
|
+
* The Asset Forger mesh model that forges a true low-poly body: an even remesh in
|
|
71
|
+
* an enforced A-pose rather than a decimated photoreal reconstruction.
|
|
72
|
+
*
|
|
73
|
+
* This is the DEFAULT for a low-poly character (`voxelize: false`) — see
|
|
74
|
+
* {@link meshModelFor}. It is deliberately not the default for a voxel one:
|
|
75
|
+
* there the body is rebuilt out of cubes, so the remesh, the A-pose and the
|
|
76
|
+
* texture are all discarded, and the money buys nothing.
|
|
77
|
+
*/
|
|
78
|
+
export declare const MESHY_MESH_MODEL = "runware-meshy-6";
|
|
79
|
+
/**
|
|
80
|
+
* Which mesh model forges this character.
|
|
81
|
+
*
|
|
82
|
+
* A low-poly game ships the textured rig itself, so the geometry is the product
|
|
83
|
+
* and Meshy is worth its price: an even remesh in an enforced A-pose, against a
|
|
84
|
+
* TRELLIS reconstruction that is only as low-poly as its concept image happened
|
|
85
|
+
* to be. A voxel game re-voxelizes the body, which throws all of that away.
|
|
86
|
+
*
|
|
87
|
+
* The cost is real and worth stating plainly: ~$0.80 and ~6 minutes per low-poly
|
|
88
|
+
* character, against fractions of a cent and ~40 s on the Forger default. An
|
|
89
|
+
* explicit `meshModel` overrides this in both directions — pass
|
|
90
|
+
* `unified-trellis` to opt a low-poly character back onto the cheap lane.
|
|
91
|
+
*/
|
|
92
|
+
export declare function meshModelFor(input: {
|
|
93
|
+
voxelize: boolean;
|
|
94
|
+
meshModel?: string;
|
|
95
|
+
}): string | undefined;
|
|
63
96
|
export declare function generateCharacter(params: CharacterParams, deps: GenerateDeps): Promise<CharacterResult>;
|
|
64
97
|
//# sourceMappingURL=character.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/generators/character.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAc,MAAM,aAAa,CAAC;AAK7E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAEzD;AAED,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/generators/character.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAc,MAAM,aAAa,CAAC;AAK7E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAEzD;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCvB,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C,CAAC;AAWF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAGjG;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,eAAe,CAAC,CA2K1B"}
|
|
@@ -45,8 +45,44 @@ export const characterParamsSchema = z.object({
|
|
|
45
45
|
.optional()
|
|
46
46
|
.default(true)
|
|
47
47
|
.describe('Search the ready-made rigged-character library first and use a close match instead of forging a new one (default). Set false to always forge. Ignored when headScale is not the default 150 — a library body has its head scale baked in.'),
|
|
48
|
+
voxelize: z.boolean()
|
|
49
|
+
.optional()
|
|
50
|
+
.default(true)
|
|
51
|
+
.describe('Voxelize the rigged body (default — the voxel house style). false keeps the textured low-poly rig the forger makes first, for a game whose artStyle is low-poly; the voxel-only library is skipped.'),
|
|
52
|
+
meshModel: z.string()
|
|
53
|
+
.min(1)
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("Asset Forger image-to-mesh model; the Forger default (unified-trellis) when absent. 'runware-meshy-6' forges a true low-poly body — an even remesh in an enforced A-pose rather than a decimated reconstruction — for ~$0.80 and ~5 minutes, so it is for hero characters, not bulk."),
|
|
48
56
|
}).strict();
|
|
49
57
|
const ENDPOINT = '/ai/v1/generate-rigged-character/jobs';
|
|
58
|
+
/**
|
|
59
|
+
* The Asset Forger mesh model that forges a true low-poly body: an even remesh in
|
|
60
|
+
* an enforced A-pose rather than a decimated photoreal reconstruction.
|
|
61
|
+
*
|
|
62
|
+
* This is the DEFAULT for a low-poly character (`voxelize: false`) — see
|
|
63
|
+
* {@link meshModelFor}. It is deliberately not the default for a voxel one:
|
|
64
|
+
* there the body is rebuilt out of cubes, so the remesh, the A-pose and the
|
|
65
|
+
* texture are all discarded, and the money buys nothing.
|
|
66
|
+
*/
|
|
67
|
+
export const MESHY_MESH_MODEL = 'runware-meshy-6';
|
|
68
|
+
/**
|
|
69
|
+
* Which mesh model forges this character.
|
|
70
|
+
*
|
|
71
|
+
* A low-poly game ships the textured rig itself, so the geometry is the product
|
|
72
|
+
* and Meshy is worth its price: an even remesh in an enforced A-pose, against a
|
|
73
|
+
* TRELLIS reconstruction that is only as low-poly as its concept image happened
|
|
74
|
+
* to be. A voxel game re-voxelizes the body, which throws all of that away.
|
|
75
|
+
*
|
|
76
|
+
* The cost is real and worth stating plainly: ~$0.80 and ~6 minutes per low-poly
|
|
77
|
+
* character, against fractions of a cent and ~40 s on the Forger default. An
|
|
78
|
+
* explicit `meshModel` overrides this in both directions — pass
|
|
79
|
+
* `unified-trellis` to opt a low-poly character back onto the cheap lane.
|
|
80
|
+
*/
|
|
81
|
+
export function meshModelFor(input) {
|
|
82
|
+
if (input.meshModel)
|
|
83
|
+
return input.meshModel;
|
|
84
|
+
return input.voxelize ? undefined : MESHY_MESH_MODEL;
|
|
85
|
+
}
|
|
50
86
|
export async function generateCharacter(params, deps) {
|
|
51
87
|
const { forger, logger, onProgress } = deps;
|
|
52
88
|
const parsed = characterParamsSchema.safeParse(params);
|
|
@@ -68,8 +104,23 @@ export async function generateCharacter(params, deps) {
|
|
|
68
104
|
// its head scale baked in, and silently ignoring a parameter the caller set is
|
|
69
105
|
// worse than forging. (zod fills the default, so "explicitly 150" and
|
|
70
106
|
// "omitted" are indistinguishable here — and identical in effect.)
|
|
107
|
+
//
|
|
108
|
+
// An unvoxelized request skips it too: every stored body is a voxel one, so the
|
|
109
|
+
// closest match would be in the wrong medium.
|
|
110
|
+
//
|
|
111
|
+
// An explicit meshModel suppresses it for the same reason a non-default
|
|
112
|
+
// headScale does: a library body was forged by whatever model made it, so
|
|
113
|
+
// handing one back would silently ignore the model the caller asked for --
|
|
114
|
+
// and on the Meshy lane that is the entire point of the request.
|
|
71
115
|
const libraryMode = getCharacterLibraryMode();
|
|
72
|
-
const librarySearchable = libraryMode !== 'off'
|
|
116
|
+
const librarySearchable = libraryMode !== 'off'
|
|
117
|
+
&& input.useLibrary
|
|
118
|
+
&& input.headScale === DEFAULT_HEAD_SCALE
|
|
119
|
+
&& input.voxelize
|
|
120
|
+
&& input.meshModel === undefined;
|
|
121
|
+
if (!input.voxelize && libraryMode !== 'off' && input.useLibrary) {
|
|
122
|
+
logger.info('[character] Library skipped: it holds voxel bodies only and this request keeps the low-poly rig');
|
|
123
|
+
}
|
|
73
124
|
if (librarySearchable) {
|
|
74
125
|
onProgress('Searching the character library…');
|
|
75
126
|
const outcome = await findLibraryCharacter(input.prompt, { forger, logger });
|
|
@@ -93,15 +144,20 @@ export async function generateCharacter(params, deps) {
|
|
|
93
144
|
// Proven recipe for an engine-ready character: rerigTarget 'default' => Mixamo
|
|
94
145
|
// Y-up rig the engine retarget drives correctly (NEVER 'ue5' — that rig renders
|
|
95
146
|
// mangled), voxelize => returns the rigged voxel GLB directly (no browser
|
|
96
|
-
// voxelization needed).
|
|
147
|
+
// voxelization needed). A low-poly game asks for voxelize:false and takes the
|
|
148
|
+
// textured rig the forger makes before voxelizing.
|
|
149
|
+
const meshModel = meshModelFor(input);
|
|
150
|
+
if (meshModel)
|
|
151
|
+
logger.info({ meshModel }, '[character] Forging with a non-default mesh model');
|
|
97
152
|
let forgeResult;
|
|
98
153
|
try {
|
|
99
154
|
forgeResult = await forger.postJobAndWait(ENDPOINT, {
|
|
100
155
|
prompt: input.prompt,
|
|
101
156
|
rerigTarget: 'default',
|
|
102
|
-
voxelize
|
|
103
|
-
|
|
104
|
-
|
|
157
|
+
...(input.voxelize
|
|
158
|
+
? { voxelize: true, voxelsTall: 80, voxelMode: 'blended' }
|
|
159
|
+
: { voxelize: false }),
|
|
160
|
+
...(meshModel ? { meshModel } : {}),
|
|
105
161
|
headScale: input.headScale,
|
|
106
162
|
...(characterMaterialClassesEnabled() ? { materialClasses: true } : {}),
|
|
107
163
|
}, 'CharacterGeneration');
|
|
@@ -120,9 +176,14 @@ export async function generateCharacter(params, deps) {
|
|
|
120
176
|
// variant sitting alongside it in the same bucket dir but not listed in the
|
|
121
177
|
// response. So: prefer an explicit variant URL; otherwise derive it from the
|
|
122
178
|
// returned URL's directory and probe `output-variant-N.glb`.
|
|
179
|
+
//
|
|
180
|
+
// Unvoxelized, the textured rig IS the deliverable: `output-low.glb` when the
|
|
181
|
+
// forger lists it, else whatever it returned — and never a voxel variant probe.
|
|
123
182
|
const outputs = forgeResult.data?.additionalOutputFileUrls ?? [];
|
|
124
|
-
let characterUrl = outputs.find((u) => /output-variant-\d+\.glb/i.test(u));
|
|
125
183
|
const baseUrl = outputs[0] ?? forgeResult.data?.fileUrl;
|
|
184
|
+
let characterUrl = input.voxelize
|
|
185
|
+
? outputs.find((u) => /output-variant-\d+\.glb/i.test(u))
|
|
186
|
+
: outputs.find((u) => /output-low\.glb/i.test(u)) ?? baseUrl;
|
|
126
187
|
if (!characterUrl && baseUrl) {
|
|
127
188
|
const dir = baseUrl.replace(/[^/]+$/, '');
|
|
128
189
|
const probes = await Promise.all([1, 2, 3, 4].map(async (n) => {
|
|
@@ -142,11 +203,11 @@ export async function generateCharacter(params, deps) {
|
|
|
142
203
|
}
|
|
143
204
|
if (!characterUrl) {
|
|
144
205
|
return {
|
|
145
|
-
...fail(
|
|
206
|
+
...fail(`Asset Forger returned no character URL. Ensure rerigTarget:"default" + voxelize:${input.voxelize} are supported by the configured ASSET_FORGER_URL.`),
|
|
146
207
|
billable,
|
|
147
208
|
};
|
|
148
209
|
}
|
|
149
|
-
logger.info({ characterUrl, outputs }, '[character] Resolved
|
|
210
|
+
logger.info({ characterUrl, outputs, voxelize: input.voxelize }, '[character] Resolved character URL');
|
|
150
211
|
// Classify + rename the mechanical colour groups the flag asked for, when
|
|
151
212
|
// the host can (model + storage — see `GenerateDeps.refineCharacterGlb`).
|
|
152
213
|
// Fail-soft: a refusal or failure serves the unclassified file, which
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/generators/character.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEvF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;SACb,GAAG,CAAC,CAAC,CAAC;SACN,KAAK,CAAC,yBAAyB,EAAE,2EAA2E,CAAC;SAC7G,QAAQ,CAAC,kEAAkE,CAAC;IAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;SACf,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;SACvB,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,iKAAiK,CAAC;IAC9K,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,OAAO,CAAC,kBAAkB,CAAC;SAC3B,QAAQ,CAAC,4HAA4H,CAAC;IACzI,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;SAChB,QAAQ,EAAE;SACV,QAAQ,CAAC,wKAAwK,CAAC;IACrL,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;SACpB,QAAQ,EAAE;SACV,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,2OAA2O,CAAC;
|
|
1
|
+
{"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/generators/character.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,10 +30,12 @@ export { generatePropVoxels, propVoxelParamsSchema, propVoxelGrids } from './gen
|
|
|
30
30
|
export type { PropVoxelParams, PropVoxelResult } from './generators/prop-voxel.js';
|
|
31
31
|
export { generateAnimationAsset, animationParamsSchema, getConfiguredAnimationModel, ANIMATION_MODEL_TEXT_TO_MOTION_3, ANIMATION_MODEL_TEXT_TO_MOTION_2, ANIMATION_MODEL_OLDER, } from './generators/animation.js';
|
|
32
32
|
export type { AnimationParams, AnimationResult } from './generators/animation.js';
|
|
33
|
-
export { generateAnimationFromVideoAsset, animationFromVideoParamsSchema, buildAnimationFromVideoPatch, buildAnimationFromVideoJobRequest, describeAnimationFromVideoFailure, describeAutoTrim, EDITING_ONLY_ASSET_FIELDS, stripEditingOnlyAssetFields, ANIMATION_FROM_VIDEO_JOBS_ENDPOINT, ANIMATION_TRIM_ANALYSIS_JOBS_ENDPOINT, ANIMATION_FROM_VIDEO_TIMEOUT_MS, MIN_TRIM_KEPT_SECONDS, VIDEO_TO_MOTION_MODELS, LOCOMOTION_STATES, } from './generators/animation-from-video.js';
|
|
33
|
+
export { generateAnimationFromVideoAsset, animationFromVideoParamsSchema, buildAnimationFromVideoPatch, buildAnimationFromVideoJobRequest, describeAnimationFromVideoFailure, describeAutoTrim, EDITING_ONLY_ASSET_FIELDS, stripEditingOnlyAssetFields, ANIMATION_FROM_VIDEO_JOBS_ENDPOINT, ANIMATION_TRIM_ANALYSIS_JOBS_ENDPOINT, ANIMATION_FROM_VIDEO_TIMEOUT_MS, MIN_TRIM_KEPT_SECONDS, VIDEO_TO_MOTION_MODELS, LOCOMOTION_STATES, MOTION_SOURCE_FRAMING, MOTION_SOURCE_MIN_SECONDS, MOTION_SOURCE_DEFAULT_SECONDS, buildMotionSourcePrompt, } from './generators/animation-from-video.js';
|
|
34
34
|
export type { AnimationFromVideoParams, AnimationFromVideoResult, AnimationFromVideoJobResult, AnimationFromVideoJobRequest, TrimAnalysisJobResult, VideoToMotionModel, LocomotionState, } from './generators/animation-from-video.js';
|
|
35
35
|
export { fetchContentLength } from './http.js';
|
|
36
|
-
export { PIXAR_VOXEL_STYLE, VOXEL_STYLE_LEAD, MAX_COVER_DESIGN_CHARS, buildCoverArtPrompt } from './cover-prompt.js';
|
|
36
|
+
export { LOW_POLY_STYLE_LEAD, PIXAR_LOW_POLY_STYLE, PIXAR_VOXEL_STYLE, VOXEL_STYLE_LEAD, MAX_COVER_DESIGN_CHARS, buildCoverArtPrompt, styleLead, styleTail, } from './cover-prompt.js';
|
|
37
|
+
export { ART_STYLES, DEFAULT_ART_STYLE, describeArtStyle, parseArtStyle } from './art-style.js';
|
|
38
|
+
export type { ArtStyle } from './art-style.js';
|
|
37
39
|
export { VOXEL_ART_IMAGE_MODEL } from './image-models.js';
|
|
38
40
|
export { MAX_REFERENCE_DESIGN_CHARS, buildReferenceImagePrompt } from './reference-prompt.js';
|
|
39
41
|
export { JUDGE_DIMENSIONS, deriveOverall, judgeModelResponseSchema, judgeScorecardSchema, } from './judge-scorecard.js';
|
|
@@ -45,5 +47,5 @@ export type { MaterialClassifierInput, MaterialVerdict, VoxelMaterialClassName,
|
|
|
45
47
|
export { TRIM_LABEL_MIN_FRACTION, formatTrimmedEnds, trimBadgeAt, trimNote, trimSegmentAt, trimSegments, } from './trim-layout.js';
|
|
46
48
|
export type { TrimInput, TrimSegment, TrimSegmentKind, } from './trim-layout.js';
|
|
47
49
|
export { TERMINAL_FAILURE_CODES, TERMINAL_FAILURE_VERSION, buildTerminalFailure, isTerminalFailureCode, legacyErrorTypeFor, parseTerminalFailure, } from './terminal-failure.js';
|
|
48
|
-
export type { BuildTerminalFailureInput, LegacyErrorType, TerminalFailure, TerminalFailureCode, TerminalFailureDetail, } from './terminal-failure.js';
|
|
50
|
+
export type { BuildTerminalFailureInput, LegacyErrorType, ProviderErrorFacts, TerminalFailure, TerminalFailureCode, TerminalFailureDetail, } from './terminal-failure.js';
|
|
49
51
|
//# 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
|
@@ -15,9 +15,11 @@ export { findLibraryCharacter, getCharacterLibraryMode, getCharacterLibraryThres
|
|
|
15
15
|
export { generateProp, propParamsSchema } from './generators/prop.js';
|
|
16
16
|
export { generatePropVoxels, propVoxelParamsSchema, propVoxelGrids } from './generators/prop-voxel.js';
|
|
17
17
|
export { generateAnimationAsset, animationParamsSchema, getConfiguredAnimationModel, ANIMATION_MODEL_TEXT_TO_MOTION_3, ANIMATION_MODEL_TEXT_TO_MOTION_2, ANIMATION_MODEL_OLDER, } from './generators/animation.js';
|
|
18
|
-
export { generateAnimationFromVideoAsset, animationFromVideoParamsSchema, buildAnimationFromVideoPatch, buildAnimationFromVideoJobRequest, describeAnimationFromVideoFailure, describeAutoTrim, EDITING_ONLY_ASSET_FIELDS, stripEditingOnlyAssetFields, ANIMATION_FROM_VIDEO_JOBS_ENDPOINT, ANIMATION_TRIM_ANALYSIS_JOBS_ENDPOINT, ANIMATION_FROM_VIDEO_TIMEOUT_MS, MIN_TRIM_KEPT_SECONDS, VIDEO_TO_MOTION_MODELS, LOCOMOTION_STATES, } from './generators/animation-from-video.js';
|
|
18
|
+
export { generateAnimationFromVideoAsset, animationFromVideoParamsSchema, buildAnimationFromVideoPatch, buildAnimationFromVideoJobRequest, describeAnimationFromVideoFailure, describeAutoTrim, EDITING_ONLY_ASSET_FIELDS, stripEditingOnlyAssetFields, ANIMATION_FROM_VIDEO_JOBS_ENDPOINT, ANIMATION_TRIM_ANALYSIS_JOBS_ENDPOINT, ANIMATION_FROM_VIDEO_TIMEOUT_MS, MIN_TRIM_KEPT_SECONDS, VIDEO_TO_MOTION_MODELS, LOCOMOTION_STATES, MOTION_SOURCE_FRAMING, MOTION_SOURCE_MIN_SECONDS, MOTION_SOURCE_DEFAULT_SECONDS, buildMotionSourcePrompt, } from './generators/animation-from-video.js';
|
|
19
19
|
export { fetchContentLength } from './http.js';
|
|
20
|
-
export { PIXAR_VOXEL_STYLE, VOXEL_STYLE_LEAD, MAX_COVER_DESIGN_CHARS, buildCoverArtPrompt } from './cover-prompt.js';
|
|
20
|
+
export { LOW_POLY_STYLE_LEAD, PIXAR_LOW_POLY_STYLE, PIXAR_VOXEL_STYLE, VOXEL_STYLE_LEAD, MAX_COVER_DESIGN_CHARS, buildCoverArtPrompt, styleLead, styleTail, } from './cover-prompt.js';
|
|
21
|
+
// Also published as the `@bitmagic/asset-core/art-style` subpath for browser consumers.
|
|
22
|
+
export { ART_STYLES, DEFAULT_ART_STYLE, describeArtStyle, parseArtStyle } from './art-style.js';
|
|
21
23
|
export { VOXEL_ART_IMAGE_MODEL } from './image-models.js';
|
|
22
24
|
export { MAX_REFERENCE_DESIGN_CHARS, buildReferenceImagePrompt } from './reference-prompt.js';
|
|
23
25
|
export { JUDGE_DIMENSIONS, deriveOverall, judgeModelResponseSchema, judgeScorecardSchema, } from './judge-scorecard.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5F,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAErF,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAO3C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEvG,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,gCAAgC,EAChC,gCAAgC,EAChC,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,iCAAiC,EACjC,iCAAiC,EACjC,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,qCAAqC,EACrC,+BAA+B,EAC/B,qBAAqB,EACrB,sBAAsB,EACtB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reference-image prompt composition — the concept shot of a game's WORLD that
|
|
3
|
+
* `bitmagic reference make` generates and, once the creator accepts one, every
|
|
4
|
+
* later image generation and world forge takes as its visual reference.
|
|
5
|
+
*
|
|
6
|
+
* Beside `cover-prompt.ts` on purpose: a reference and a cover are the two
|
|
7
|
+
* pictures a game is judged by, and they must read as the same product. Both
|
|
8
|
+
* therefore open with the style's lead and end in its tail (`VOXEL_STYLE_LEAD` /
|
|
9
|
+
* `PIXAR_VOXEL_STYLE` for a voxel game, the low-poly pair for a low-poly one), which
|
|
10
|
+
* also carries the no-text directive — a reference with a caption baked in would teach every skybox
|
|
11
|
+
* and block texture downstream to render letters.
|
|
12
|
+
*
|
|
13
|
+
* What differs is the framing. A cover is a composed illustration of the game
|
|
14
|
+
* (a hero, a moment, a mood). A reference is an ESTABLISHING SHOT of the place
|
|
15
|
+
* — the terrain, landmarks, vegetation, architecture, palette and weather —
|
|
16
|
+
* because that is what a skybox, a block texture and the world-forger's
|
|
17
|
+
* designer can actually take from it. Characters in focus would pull the
|
|
18
|
+
* img2img generators towards figures the assets do not want.
|
|
19
|
+
*
|
|
20
|
+
* No network, no credentials: this module composes strings.
|
|
21
|
+
*/
|
|
22
|
+
import { type ArtStyle } from './art-style.js';
|
|
1
23
|
/** How much of the design text reaches the image model; the rest is dropped. Same cap as covers. */
|
|
2
24
|
export declare const MAX_REFERENCE_DESIGN_CHARS = 1500;
|
|
3
25
|
/**
|
|
4
26
|
* Compose the image prompt for a reference image from a game's design text
|
|
5
27
|
* (GAME-DESIGN.md content or a one-off `--prompt`). Falls back to a generic
|
|
6
|
-
*
|
|
28
|
+
* world in the style when none is present.
|
|
7
29
|
*
|
|
8
30
|
* As with covers, the game NAME is never injected: image models render a name
|
|
9
31
|
* as on-image text.
|
|
10
32
|
*/
|
|
11
|
-
export declare function buildReferenceImagePrompt(gameDesign: string): string;
|
|
33
|
+
export declare function buildReferenceImagePrompt(gameDesign: string, artStyle?: ArtStyle): string;
|
|
12
34
|
//# sourceMappingURL=reference-prompt.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-prompt.d.ts","sourceRoot":"","sources":["../src/reference-prompt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reference-prompt.d.ts","sourceRoot":"","sources":["../src/reference-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAqB,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGlE,oGAAoG;AACpG,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAO/C;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,QAA4B,GAAG,MAAM,CAU5G"}
|
package/dist/reference-prompt.js
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
*
|
|
6
6
|
* Beside `cover-prompt.ts` on purpose: a reference and a cover are the two
|
|
7
7
|
* pictures a game is judged by, and they must read as the same product. Both
|
|
8
|
-
* therefore open with
|
|
8
|
+
* therefore open with the style's lead and end in its tail (`VOXEL_STYLE_LEAD` /
|
|
9
|
+
* `PIXAR_VOXEL_STYLE` for a voxel game, the low-poly pair for a low-poly one), which
|
|
9
10
|
* also carries the no-text directive — a reference with a caption baked in would teach every skybox
|
|
10
11
|
* and block texture downstream to render letters.
|
|
11
12
|
*
|
|
@@ -18,7 +19,8 @@
|
|
|
18
19
|
*
|
|
19
20
|
* No network, no credentials: this module composes strings.
|
|
20
21
|
*/
|
|
21
|
-
import {
|
|
22
|
+
import { DEFAULT_ART_STYLE } from './art-style.js';
|
|
23
|
+
import { styleLead, styleNoun, styleTail } from './cover-prompt.js';
|
|
22
24
|
/** How much of the design text reaches the image model; the rest is dropped. Same cap as covers. */
|
|
23
25
|
export const MAX_REFERENCE_DESIGN_CHARS = 1500;
|
|
24
26
|
const ESTABLISHING_SHOT = "Concept art: a wide establishing shot of the game's world — the place itself, seen from a " +
|
|
@@ -27,16 +29,18 @@ const ESTABLISHING_SHOT = "Concept art: a wide establishing shot of the game's w
|
|
|
27
29
|
/**
|
|
28
30
|
* Compose the image prompt for a reference image from a game's design text
|
|
29
31
|
* (GAME-DESIGN.md content or a one-off `--prompt`). Falls back to a generic
|
|
30
|
-
*
|
|
32
|
+
* world in the style when none is present.
|
|
31
33
|
*
|
|
32
34
|
* As with covers, the game NAME is never injected: image models render a name
|
|
33
35
|
* as on-image text.
|
|
34
36
|
*/
|
|
35
|
-
export function buildReferenceImagePrompt(gameDesign) {
|
|
37
|
+
export function buildReferenceImagePrompt(gameDesign, artStyle = DEFAULT_ART_STYLE) {
|
|
36
38
|
const excerpt = gameDesign.trim().slice(0, MAX_REFERENCE_DESIGN_CHARS);
|
|
39
|
+
const lead = styleLead(artStyle);
|
|
40
|
+
const tail = styleTail(artStyle);
|
|
37
41
|
if (!excerpt) {
|
|
38
|
-
return `${
|
|
42
|
+
return `${lead} ${ESTABLISHING_SHOT} A charming ${styleNoun(artStyle)} world full of character. ${tail}`;
|
|
39
43
|
}
|
|
40
|
-
return `${
|
|
44
|
+
return `${lead} ${ESTABLISHING_SHOT}\nThe game:\n${excerpt}\n\n${tail}`;
|
|
41
45
|
}
|
|
42
46
|
//# sourceMappingURL=reference-prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference-prompt.js","sourceRoot":"","sources":["../src/reference-prompt.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"reference-prompt.js","sourceRoot":"","sources":["../src/reference-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEpE,oGAAoG;AACpG,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,MAAM,iBAAiB,GACrB,4FAA4F;IAC5F,2FAA2F;IAC3F,sFAAsF,CAAC;AAEzF;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CAAC,UAAkB,EAAE,WAAqB,iBAAiB;IAClG,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEjC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,IAAI,iBAAiB,eAAe,SAAS,CAAC,QAAQ,CAAC,6BAA6B,IAAI,EAAE,CAAC;IAC3G,CAAC;IAED,OAAO,GAAG,IAAI,IAAI,iBAAiB,gBAAgB,OAAO,OAAO,IAAI,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -41,6 +41,32 @@
|
|
|
41
41
|
*/
|
|
42
42
|
export declare const TERMINAL_FAILURE_CODES: readonly ["spark_floor_reached", "spark_service_unavailable", "provider_rate_limited", "provider_unavailable", "context_overflow", "agent_timeout", "stream_malformed", "agent_internal_error", "agent_unavailable", "operation_not_found", "connection_lost", "setup_failed", "changes_rolled_back", "no_changes_applied", "required_work_incomplete", "user_cancelled"];
|
|
43
43
|
export type TerminalFailureCode = (typeof TERMINAL_FAILURE_CODES)[number];
|
|
44
|
+
/**
|
|
45
|
+
* What the upstream model provider actually said, when the failure arrived as
|
|
46
|
+
* an HTTP response.
|
|
47
|
+
*
|
|
48
|
+
* Every field is optional because a provider error may carry any subset of
|
|
49
|
+
* them, and every field is a bounded, sanitized projection of the response —
|
|
50
|
+
* never a header, never the request body, never a whole error object. The
|
|
51
|
+
* extractor that fills this in lives in
|
|
52
|
+
* `game-play-agent/src/mastra/middleware/terminal-failure.ts`; it is the only
|
|
53
|
+
* thing that should construct one, because it is the only thing that applies
|
|
54
|
+
* those bounds.
|
|
55
|
+
*
|
|
56
|
+
* Without these, a provider outage and a bug in our own code both landed as a
|
|
57
|
+
* bare `agent_internal_error` with a one-line message, and the outage read as
|
|
58
|
+
* an agent bug for as long as it lasted.
|
|
59
|
+
*/
|
|
60
|
+
export interface ProviderErrorFacts {
|
|
61
|
+
/** HTTP status, when the response had one. */
|
|
62
|
+
readonly statusCode?: number;
|
|
63
|
+
/** Host we called, e.g. `api.anthropic.com`. Host only — a URL can carry a key. */
|
|
64
|
+
readonly provider?: string;
|
|
65
|
+
/** The provider's own machine-readable code, e.g. `not_found_error`. */
|
|
66
|
+
readonly providerCode?: string;
|
|
67
|
+
/** A short, secret-redacted excerpt of the response body. */
|
|
68
|
+
readonly responseExcerpt?: string;
|
|
69
|
+
}
|
|
44
70
|
/**
|
|
45
71
|
* Structured facts about a failure, discriminated by the same `code` as the
|
|
46
72
|
* envelope. Only codes with facts worth acting on have an arm; the rest carry
|
|
@@ -56,15 +82,13 @@ export type TerminalFailureDetail = {
|
|
|
56
82
|
readonly code: 'spark_service_unavailable';
|
|
57
83
|
readonly failureCount: number;
|
|
58
84
|
readonly lastStatus?: number;
|
|
59
|
-
} | {
|
|
85
|
+
} | ({
|
|
60
86
|
readonly code: 'provider_rate_limited';
|
|
61
|
-
|
|
62
|
-
readonly provider?: string;
|
|
63
|
-
} | {
|
|
87
|
+
} & ProviderErrorFacts) | ({
|
|
64
88
|
readonly code: 'provider_unavailable';
|
|
65
|
-
|
|
66
|
-
readonly
|
|
67
|
-
} | {
|
|
89
|
+
} & ProviderErrorFacts) | ({
|
|
90
|
+
readonly code: 'agent_internal_error';
|
|
91
|
+
} & ProviderErrorFacts) | {
|
|
68
92
|
readonly code: 'agent_timeout';
|
|
69
93
|
readonly timeoutSec: number;
|
|
70
94
|
readonly extended: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-failure.d.ts","sourceRoot":"","sources":["../src/terminal-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,2WAwCzB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E
|
|
1
|
+
{"version":3,"file":"terminal-failure.d.ts","sourceRoot":"","sources":["../src/terminal-failure.ts"],"names":[],"mappings":"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"}
|
package/dist/terminal-failure.js
CHANGED
|
@@ -142,13 +142,13 @@ function isRecord(value) {
|
|
|
142
142
|
* string "undefined" in front of a user. Codes with no arm are absent.
|
|
143
143
|
*/
|
|
144
144
|
const REQUIRED_DETAIL_FIELDS = {
|
|
145
|
-
spark_floor_reached:
|
|
146
|
-
spark_service_unavailable:
|
|
147
|
-
agent_timeout:
|
|
148
|
-
agent_unavailable:
|
|
149
|
-
changes_rolled_back:
|
|
150
|
-
no_changes_applied:
|
|
151
|
-
required_work_incomplete:
|
|
145
|
+
spark_floor_reached: { balance: 'number', floor: 'number' },
|
|
146
|
+
spark_service_unavailable: { failureCount: 'number' },
|
|
147
|
+
agent_timeout: { timeoutSec: 'number', extended: 'boolean' },
|
|
148
|
+
agent_unavailable: { source: 'string' },
|
|
149
|
+
changes_rolled_back: { gate: 'string', errors: 'array' },
|
|
150
|
+
no_changes_applied: { subReason: 'string' },
|
|
151
|
+
required_work_incomplete: { deliverable: 'string', tool: 'string', reason: 'string' },
|
|
152
152
|
};
|
|
153
153
|
function detailMatchesCode(code, detail) {
|
|
154
154
|
if (detail.code !== code)
|
|
@@ -156,7 +156,7 @@ function detailMatchesCode(code, detail) {
|
|
|
156
156
|
const required = REQUIRED_DETAIL_FIELDS[code];
|
|
157
157
|
if (!required)
|
|
158
158
|
return true;
|
|
159
|
-
return required.every(([field, kind]) => kind === 'array' ? Array.isArray(detail[field]) : typeof detail[field] === kind);
|
|
159
|
+
return Object.entries(required).every(([field, kind]) => kind === 'array' ? Array.isArray(detail[field]) : typeof detail[field] === kind);
|
|
160
160
|
}
|
|
161
161
|
/**
|
|
162
162
|
* Parse an envelope received over the wire.
|
|
@@ -181,13 +181,12 @@ export function parseTerminalFailure(value, onDegraded) {
|
|
|
181
181
|
const version = typeof value.v === 'number' ? value.v : TERMINAL_FAILURE_VERSION;
|
|
182
182
|
if (!isTerminalFailureCode(value.code) || version !== TERMINAL_FAILURE_VERSION) {
|
|
183
183
|
onDegraded?.(`unrecognised terminal failure (code=${String(value.code)}, v=${String(value.v)}) — degrading to agent_internal_error`);
|
|
184
|
-
return {
|
|
185
|
-
v: TERMINAL_FAILURE_VERSION,
|
|
184
|
+
return buildTerminalFailure({
|
|
186
185
|
code: 'agent_internal_error',
|
|
187
186
|
operationId,
|
|
188
187
|
technical: technical || `Unrecognised failure code: ${String(value.code)}`,
|
|
189
188
|
at,
|
|
190
|
-
};
|
|
189
|
+
});
|
|
191
190
|
}
|
|
192
191
|
let detail;
|
|
193
192
|
if (isRecord(value.detail)) {
|
|
@@ -201,13 +200,6 @@ export function parseTerminalFailure(value, onDegraded) {
|
|
|
201
200
|
onDegraded?.(`terminal failure ${value.code} carried a malformed detail — dropping it`);
|
|
202
201
|
}
|
|
203
202
|
}
|
|
204
|
-
return {
|
|
205
|
-
v: TERMINAL_FAILURE_VERSION,
|
|
206
|
-
code: value.code,
|
|
207
|
-
operationId,
|
|
208
|
-
technical,
|
|
209
|
-
at,
|
|
210
|
-
...(detail ? { detail } : {}),
|
|
211
|
-
};
|
|
203
|
+
return buildTerminalFailure({ code: value.code, operationId, technical, at, detail });
|
|
212
204
|
}
|
|
213
205
|
//# sourceMappingURL=terminal-failure.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-failure.js","sourceRoot":"","sources":["../src/terminal-failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,2EAA2E;IAC3E,qBAAqB;IACrB,4EAA4E;IAC5E,2BAA2B;IAC3B,+CAA+C;IAC/C,uBAAuB;IACvB,8DAA8D;IAC9D,sBAAsB;IACtB,sEAAsE;IACtE,kBAAkB;IAClB,wCAAwC;IACxC,eAAe;IACf,0EAA0E;IAC1E,kBAAkB;IAClB,+EAA+E;IAC/E,sBAAsB;IACtB,4EAA4E;IAC5E,mBAAmB;IACnB,2DAA2D;IAC3D,qBAAqB;IACrB,mEAAmE;IACnE,iBAAiB;IACjB,0DAA0D;IAC1D,cAAc;IACd,iEAAiE;IACjE,qBAAqB;IACrB,sDAAsD;IACtD,oBAAoB;IACpB;;;;;;;OAOG;IACH,0BAA0B;IAC1B,8DAA8D;IAC9D,gBAAgB;CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-failure.js","sourceRoot":"","sources":["../src/terminal-failure.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -70,8 +70,9 @@ export interface CoreLogger {
|
|
|
70
70
|
export interface JobWaitOptions {
|
|
71
71
|
/**
|
|
72
72
|
* Give up after this many milliseconds of polling. Defaults to the client's
|
|
73
|
-
*
|
|
74
|
-
*
|
|
73
|
+
* 20-minute ceiling, sized for the slowest character forge (a Meshy 6 body);
|
|
74
|
+
* a generator that knows its own bound sets it here instead — `video.ts`
|
|
75
|
+
* tightens to 10 minutes.
|
|
75
76
|
*/
|
|
76
77
|
overallTimeoutMs?: number;
|
|
77
78
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjD,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAChE;AAED,wDAAwD;AACxD,MAAM,WAAW,cAAc;IAC7B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bitmagic/asset-core",
|
|
3
|
-
"version": "0.2.19-dev.
|
|
3
|
+
"version": "0.2.19-dev.10",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
5
5
|
"author": "Bitmagic Oy",
|
|
6
6
|
"type": "module",
|
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
"./publish-source": {
|
|
27
27
|
"types": "./dist/publish-source.d.ts",
|
|
28
28
|
"default": "./dist/publish-source.js"
|
|
29
|
+
},
|
|
30
|
+
"./art-style": {
|
|
31
|
+
"types": "./dist/art-style.d.ts",
|
|
32
|
+
"default": "./dist/art-style.js"
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
35
|
"files": [
|