<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 19, 2021 at 10:58 AM Nicola Mingotti <<a href="mailto:nmingotti@gmail.com">nmingotti@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  
    
  
  <div>
    <br>
    <font size="+1"><font face="monospace">Hi Juan, guys,<br>
        <br>
        I think I made a large step forward this weekend on "CuisJS" :)<br>
        <br>
        Please follow the instructions here:<br>
<a href="https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/wiki/Run-Cuis-in-the-Web-Browser.-(SqueakJS)" target="_blank">https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/wiki/Run-Cuis-in-the-Web-Browser.-(SqueakJS)</a><br>
        <br>
        Now there remains only to make the auto-update to make CuisJS
        reflect the <br>
        changes in Cuis-Smalltalk-Dev.<br>
        <br>
        let me know !<br>
        <br>
        Bye<br>
        Nicola</font></font></div></blockquote><div><br></div><div>Very nice! I'm impressed 😊</div><div><br></div><div>Older versions of Cuis used to run much faster on SqueakJS – guess the changes in the last few years added a bit of overhead that isn't noticeable on fast VMs.</div><div><br></div><div>As for long download times: SqueakJS supports a "virtual" template file system backed by a directory structure accessed via http. It's used for example in EtoysJS and ScratchJS.</div><div><br></div><div>Here's a screenshot showing these virtual files inside of Etoys. Notice that only the image and compressed sources have today's time stamp. These are the only files that were actually downloaded, all other files just have virtual meta data:</div><div><br></div><div><img src="cid:ii_kturnexk0" alt="image.png" width="562" height="317"><br></div><div><br></div><div>Only after I click a few of the files are they actually downloaded and from then on live locally:</div><div><br></div><div><img src="cid:ii_kturvfji1" alt="image.png" width="562" height="418"><br></div><div><br></div><div>If that's interesting to you I can tell you how to do it. I don't think I ever documented that part 😅</div><div><br></div><div>Basically it just looks up "sqindex.json" in a directory. E.g. this one is backed by:</div><div><br></div><div><a href="https://freudenbergs.de/vanessa/squeakjs/Etoys/sqindex.json">https://freudenbergs.de/vanessa/squeakjs/Etoys/sqindex.json</a><br></div><div><br></div><div>To create sqindex.json files for a whole directory hierarchy use this script:</div><div><br></div><div><a href="https://github.com/codefrau/SqueakJS/blob/main/utils/mksqindex.py">https://github.com/codefrau/SqueakJS/blob/main/utils/mksqindex.py</a><br></div><div><br></div><div>and then when running the VM pass a "templates" option as in </div><div><br></div><div><a href="https://github.com/codefrau/SqueakJS/blob/main/etoys/etoys.js#L38">https://github.com/codefrau/SqueakJS/blob/main/etoys/etoys.js#L38</a><br></div><div><br></div><div>Vanessa</div><div><br></div><div> </div></div></div>