Files
healer-man/scripts/runewaker-pipeline/lib/rom-visual-uv-adaptations-file.mjs
T
2026-10-06 22:25:34 -04:00

23 lines
1.1 KiB
JavaScript

import { Document, NodeIO } from "@gltf-transform/core";
import { ALL_EXTENSIONS } from "@gltf-transform/extensions";
import { applyRunewakerVisualUvAdaptations } from "./rom-visual-uv-adaptations.mjs";
import { applyRunewakerSurfaceQualityPolicies } from "./rom-surface-quality-policies.mjs";
export async function applyRunewakerVisualUvAdaptationsToFile(file, options) {
const policyIds = options.policyIds ?? [];
const surfaceQualityPolicyIds = options.surfaceQualityPolicyIds ?? [];
if (!policyIds.length && !surfaceQualityPolicyIds.length) {
return applyRunewakerVisualUvAdaptations(new Document(), { ...options, policyIds: [] });
}
const io = new NodeIO().registerExtensions(ALL_EXTENSIONS);
const document = await io.read(file);
const visualUv = applyRunewakerVisualUvAdaptations(document, { ...options, policyIds });
const surfaceQuality = await applyRunewakerSurfaceQualityPolicies(document, {
dungeonId: options.dungeonId,
policyIds: surfaceQualityPolicyIds,
sourceReport: options.sourceReport,
});
await io.write(file, document);
return { ...visualUv, surfaceQuality };
}