gosling-lang / gosling.js

Grammar of Scalable Linked Interactive Nucleotide Graphics

Home Page:https://gosling.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Synchronous navigation of tracks seems broken

sehilyi opened this issue · comments

I found the issue in the GIVE example on the Editor (https://gosling.js.org/?example=GIVE) and also in the Gosling Designer that uses the most recent Gosling version.

I can reproduce this by zooming in (e.g., seeing a few hundred BPs), panning, and then zooming out quickly.

Screen.Recording.2024-02-22.at.8.48.26.AM.mov

I see the following error message:

Screenshot 2024-02-22 at 8 55 24 AM

Copied texts:

index-fdb53256.js:1668 Uncaught RangeError: Maximum call stack size exceeded
    at new MJt (index-fdb53256.js:1668:1241331)
    at index-fdb53256.js:1668:1264625
    at Array.forEach (<anonymous>)
    at _e.transformDataAndCreateModels (index-fdb53256.js:1668:1263708)
    at index-fdb53256.js:1668:1259473
    at Array.flatMap (<anonymous>)
    at _e.processAllTiles (index-fdb53256.js:1668:1259456)
    at Ie (index-fdb53256.js:1668:1256496)
    at _e.draw (index-fdb53256.js:1668:1256723)
    at _e.zoomed (index-fdb53256.js:1668:1258755)

The maximum call stack error is coming from the following code:

this.specComplete = structuredClone(spec);

Interesting! That line was added in this PR. I'll look into this.