feat: upgrade prologue exploration presentation

This commit is contained in:
2026-07-27 01:01:27 +09:00
parent 9beed0ac02
commit 40dca5321e
29 changed files with 2215 additions and 196 deletions

View File

@@ -117,11 +117,22 @@ function validateStoryManifestKeys(errors, storyBackgroundAssets, sourceKeys, al
function validatePortraitImages(errors, portraitAssets) {
const slugs = new Set();
for (const fileName of imageFiles(portraitDir)) {
const path = join(portraitDir, fileName);
validatePngFile(errors, path, expectedPortraitSize, 'portrait');
const files = assetFiles(portraitDir, /\.(?:png|webp)$/i);
const unexpectedFiles = assetFiles(portraitDir, /./)
.filter((fileName) => !/\.(?:png|webp)$/i.test(fileName));
unexpectedFiles.forEach((fileName) => {
errors.push(`${join(portraitDir, fileName)}: portraits must use PNG or WebP`);
});
const slug = fileName.replace(/\.png$/i, '');
for (const fileName of files) {
const path = join(portraitDir, fileName);
if (/\.webp$/i.test(fileName)) {
validateWebpFile(errors, path, expectedPortraitSize, 'portrait');
} else {
validatePngFile(errors, path, expectedPortraitSize, 'portrait');
}
const slug = fileName.replace(/\.(?:png|webp)$/i, '');
slugs.add(slug);
if (!portraitAssets[slug]) {
errors.push(`${path}: expected portraitAssets slug "${slug}"`);