# ! Rushabh | Linux Shill - quick question: do we... Channel: #contributor Source: https://discord.com/channels/1233487248129921135/1525230063379812405 Started: 2026-07-10T19:59:45.340000+00:00 Last activity: 2026-07-10T20:41:11.615000+00:00 ## ! Rushabh | Linux Shill — 2026-07-10T19:59:44.514000+00:00 quick question: do we need to add add `poppygl` to `@tscircuit/internal-dynamic-import` ## ! Rushabh | Linux Shill — 2026-07-10T20:00:16.922000+00:00 <@757706909351411845> <@778624824875941908> ## shibo — 2026-07-10T20:00:55.220000+00:00 did you face an issue? ## ! Rushabh | Linux Shill — 2026-07-10T20:01:02.551000+00:00 yeah ## ! Rushabh | Linux Shill — 2026-07-10T20:01:37.568000+00:00 `circuit-json-to-3d-png` uses it in tscircui.com ## Seve — 2026-07-10T20:01:58.928000+00:00 yea i think that's fine, there's no issues with adding additional things to be dynamically imported i think ## ! Rushabh | Linux Shill — 2026-07-10T20:02:08.379000+00:00 ``` Error Downloading 3d PNG Error: Failed to download 3d PNG: TypeError: Failed to fetch dynamically imported module: https://jscdn.tscircuit.com/poppygl/latest/+esm ``` ## Seve — 2026-07-10T20:02:10.654000+00:00 no downside really as long as it's dynamically loaded in browsers only ## Seve — 2026-07-10T20:02:15.915000+00:00 oh hmm ## Seve — 2026-07-10T20:02:26.394000+00:00 that seems like an issue with the jscdn not poppygl ## Seve — 2026-07-10T20:02:33.039000+00:00 that's a jscdn issue ## Seve — 2026-07-10T20:02:45.571000+00:00 do you have access https://github.com/tscircuit/jscdn.tscircuit.com ## ! Rushabh | Linux Shill — 2026-07-10T20:03:00.370000+00:00 yeah ## ! Rushabh | Linux Shill — 2026-07-10T20:03:48.348000+00:00 i wanted to do something like this ```ts await Promise.all([ loadCircuitJsonConverter("circuit-json-to-gltf"), loadCircuitJsonConverter("poppygl"), ]) return loadCircuitJsonConverter( "circuit-json-to-3d-png", ) ``` ## ! Rushabh | Linux Shill — 2026-07-10T20:04:08.827000+00:00 but this does not make sense ## ! Rushabh | Linux Shill — 2026-07-10T20:04:14.997000+00:00 i am confused ## ! Rushabh | Linux Shill — 2026-07-10T20:05:01.254000+00:00 wait, lemm me cook ## ! Rushabh | Linux Shill — 2026-07-10T20:05:05.082000+00:00 will report later ## ! Rushabh | Linux Shill — 2026-07-10T20:10:01.710000+00:00 so, for step we do this ```ts const ensureCircuitJsonToGltfLoaded = async (): Promise => { return loadCircuitJsonConverter( "circuit-json-to-gltf", ) } export const loadCircuitJsonToStep = async (): Promise => { // circuit-json-to-step dynamically imports circuit-json-to-gltf at runtime. await ensureCircuitJsonToGltfLoaded() return loadCircuitJsonConverter( "circuit-json-to-step", ) } ``` we can do similar pr `poppygl` if it is in `@tscircuit/internal-dynamic-import` wdyt ## ! Rushabh | Linux Shill — 2026-07-10T20:16:45.028000+00:00 <@778624824875941908> ## shibo — 2026-07-10T20:17:56.921000+00:00 no idea, <@398467566588264449> I think has a better idea about this repo ## Abse — 2026-07-10T20:19:57.682000+00:00 <@757706909351411845> can you check this, don't know how jscdn work ## Seve — 2026-07-10T20:40:22.307000+00:00 hello ## Seve — 2026-07-10T20:40:50.453000+00:00 i think the fix is in the jscdn mostly ## Seve — 2026-07-10T20:41:11.615000+00:00 if you fix the underlying jscdn bug, you don't need to orchestrate installations IIUC