Skip to content

Commit b2e7e70

Browse files
author
Yukimi Kazari
committed
Refactor metadata processing to handle vibe transfer defaults separately from director references. Introduce applyVibeTransferDefaults method to set default values when no director references are used, and ensure old vibe transfer parameters are removed when director references are present.
1 parent 1092b6b commit b2e7e70

File tree

1 file changed

+27
-4
lines changed

1 file changed

+27
-4
lines changed

src/metadata.ts

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,13 @@ export class MetadataProcessor {
8888
metadata.legacy_uc = metadata.legacy_uc ?? false;
8989
metadata.legacy = metadata.legacy ?? false;
9090
metadata.legacy_v3_extend = metadata.legacy_v3_extend ?? false;
91-
metadata.normalize_reference_strength_multiple =
92-
metadata.normalize_reference_strength_multiple ?? true;
93-
metadata.reference_image_multiple = metadata.reference_image_multiple ?? undefined;
94-
metadata.reference_strength_multiple = metadata.reference_strength_multiple ?? undefined;
9591

9692
// Handle director reference defaults
9793
this.applyDirectorReferenceDefaults(metadata);
9894

95+
// Handle vibe transfer defaults (only if director references are not used)
96+
this.applyVibeTransferDefaults(metadata);
97+
9998
metadata.stream = undefined;
10099
}
101100

@@ -469,6 +468,7 @@ export class MetadataProcessor {
469468
* Apply default values for director reference fields
470469
* Ensures arrays have consistent lengths when director_reference_images is provided
471470
* Removes all director reference parameters if no images are provided
471+
* When director references are used, removes old vibe transfer parameters and bypasses vibe encoding
472472
*
473473
* @param metadata - Metadata to update
474474
* @private
@@ -483,6 +483,12 @@ export class MetadataProcessor {
483483
return;
484484
}
485485

486+
// Director reference images are provided - remove old vibe transfer parameters and bypass vibe encoding
487+
delete metadata.reference_image_multiple;
488+
delete metadata.reference_information_extracted_multiple;
489+
delete metadata.reference_strength_multiple;
490+
delete metadata.normalize_reference_strength_multiple;
491+
486492
const imageCount = metadata.director_reference_images.length;
487493

488494
// Initialize arrays if not provided
@@ -521,6 +527,23 @@ export class MetadataProcessor {
521527
}
522528
}
523529

530+
/**
531+
* Apply default values for vibe transfer fields
532+
* Only applies when director references are not being used
533+
*
534+
* @param metadata - Metadata to update
535+
* @private
536+
*/
537+
private applyVibeTransferDefaults(metadata: Metadata): void {
538+
// Only apply vibe transfer defaults if director references are not being used
539+
if (!metadata.director_reference_images?.length) {
540+
metadata.normalize_reference_strength_multiple =
541+
metadata.normalize_reference_strength_multiple ?? true;
542+
metadata.reference_image_multiple = metadata.reference_image_multiple ?? undefined;
543+
metadata.reference_strength_multiple = metadata.reference_strength_multiple ?? undefined;
544+
}
545+
}
546+
524547
/**
525548
* Get width and height from a resolution preset
526549
*

0 commit comments

Comments
 (0)