From dad6c8157eee7f07e0cefdb6e23c487d45505376 Mon Sep 17 00:00:00 2001 From: Taylan Bal Date: Tue, 18 Aug 2026 10:52:32 +0300 Subject: [PATCH] Fix asymmetric mujoco-assets/ prefix matching in buildZipCandidates --- src/lib/mujoco-asset-loader.ts | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/lib/mujoco-asset-loader.ts b/src/lib/mujoco-asset-loader.ts index cff4cf3..8daef65 100644 --- a/src/lib/mujoco-asset-loader.ts +++ b/src/lib/mujoco-asset-loader.ts @@ -26,19 +26,20 @@ function normalizeZipPath(path: string): string { function buildZipCandidates(assetPath: string): string[] { const normalized = normalizeZipPath(assetPath); - const withoutUnderscorePrefix = normalized.startsWith("mujoco_assets/") - ? normalized.slice("mujoco_assets/".length) - : normalized; - const withoutHyphenPrefix = normalized.startsWith("mujoco-assets/") - ? normalized.slice("mujoco-assets/".length) - : normalized; - const candidates = new Set(); + // Strip whichever known prefix is present to get a prefix-agnostic stem, + // so both prefix flavors resolve to the same candidate set. + let stem = normalized; + if (stem.startsWith("mujoco-assets/")) { + stem = stem.slice("mujoco-assets/".length); + } else if (stem.startsWith("mujoco_assets/")) { + stem = stem.slice("mujoco_assets/".length); + } + const candidates = new Set(); candidates.add(normalized); - candidates.add(withoutUnderscorePrefix); - candidates.add(withoutHyphenPrefix); - candidates.add(`mujoco-assets/${withoutUnderscorePrefix}`); - candidates.add(`mujoco_assets/${withoutUnderscorePrefix}`); + candidates.add(stem); + candidates.add(`mujoco-assets/${stem}`); + candidates.add(`mujoco_assets/${stem}`); return Array.from(candidates).filter(Boolean); }