Skip to content

Commit 48c3029

Browse files
committed
refactor: ISC-only map runtime — drop the 287 legacy JSON IR maps
The compact .isc sources are the sole map format now (dist shrinks 713MB → 26MB). Everything that loaded /maps/*.json moves to ISC: worker + widget share mapStrategies() (ISC first), QuickBox/ MapPreview/ScriptMosaic preload ISC sources with parseIsc dependency walks, the /api SSR routes read ISC via a filesystem-backed fetchFn. The four .iml libraries (posix, unicode, var-Cyrl, var-kor) have no ISC form and stay as the only compiled JSON fallback behind the ISC strategies — without them every posix/unicode-dependent map (bgnpcgn-deu, moct-kor, …) breaks. Browser-mode German e2e covers the fallback path. Tests migrate to ISC loaders; the ISC engine must now reproduce each map's own embedded test vectors. Also clears pre-existing astro-check errors (asciidoc convert cast, api-playground null narrowing).
1 parent 86dbc33 commit 48c3029

302 files changed

Lines changed: 221 additions & 32198174 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

e2e/demo.spec.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,20 @@ test.describe("demo modes — API vs in-browser", () => {
162162
await expect(page.locator(".pane-result")).toContainText("Anton", { timeout: 10000 })
163163
})
164164

165+
test("browser mode handles library-dependent systems (German)", async ({ page }) => {
166+
await page.goto("/demo")
167+
168+
await page.getByTestId("mode-browser").click()
169+
const status = page.locator(".rail-status")
170+
await expect(status).toContainText("ready", { timeout: 30000 })
171+
172+
// bgnpcgn-deu depends on the posix library, which only ships as
173+
// compiled JSON behind the ISC strategy.
174+
await page.locator("select.field-input").selectOption("bgnpcgn-deu-Latn-Latn-2000")
175+
await page.locator("textarea.pane-body").fill("Tschüß!")
176+
await expect(page.locator(".pane-result")).toContainText("Tschueß!", { timeout: 15000 })
177+
})
178+
165179
test("both modes agree on Ukrainian", async ({ page }) => {
166180
await page.goto("/demo")
167181

0 commit comments

Comments
 (0)