<div dir="ltr">I haven&#39;t looked at translating Director across, but for what it&#39;s worth I have made a pretty reliable engine for porting AS3 across to TypeScript using the PixiJS framework. The basic principle was to make an interstitial layer of classes that mimic the AS3 library (DisplayObjectContainer, DisplayObject, BitmapData etc) but translate all the concepts across to Pixi. Then we simply transpiled our AS3 code into TypeScript, calling these classes. So as far as our original code is concerned, it still &quot;thinks&quot; it&#39;s running in Flash. I&#39;d probably handle a project like this in much the same way</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, 25 Jan 2026 at 17:24, Erik Loyer &lt;<a href="mailto:erikcloyer@gmail.com">erikcloyer@gmail.com</a>&gt; 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>Hi all,<div><br></div><div>Great to see this thread. I\u2019ve been taking a similar approach in trying to update my Shockwave site Lair of the Marrow Monkey from back in the day. Google\u2019s AI IDE Antigravity has been my tool of choice lately, it\u2019s forked from the same editor VS Code is based on so familiar to me. I have access to the original .dir files for the project, and so manually extracted the script files using an <a href="https://infinitemac.org" target="_blank">Infinite Mac</a> emulator and created a CSV of the cast that identifies the type and content of each element. Then, I kicked off the process with a prompt that tried to explain the project and a little bit about Director. It\u2019s taken a fair amount of iteration, but I\u2019ve had good results in recreating a piece in the \u201csingle frame script-based\u201d style. I\u2019ve enclosed the prompt below in case it\u2019s helpful for anyone \u2014 would be great if we could create something standardized that explained Director to the LLM and that could be reused for multiple projects. My prompt includes a lot of specifics about this particular piece, but hopefully still useful. Happy to provide more details if helpful.<div><br></div><div>-Erik</div><div><br></div><div>\u2014\u2014</div><div><br></div><div>Prompt:</div><div><br></div><div>In this project, I am updating a 1998 Shockwave-based website called &quot;The Lair of the Marrow Monkey&quot; to modern web standards. The website contained various pages with Shockwave player embeds, and I want to focus on porting those embeds before rebuilding the website itself. I&#39;ve created a folder called &quot;archive&quot; which will contain artifacts from the old project, which was created in Macromedia Director 6. I&#39;d like to start with an embed called &quot;02&quot;. The &quot;02&quot; folder in &quot;archive&quot; contains a CSV which describes the contents of the &quot;Cast,&quot; which was the name for a media and script library in Director. Each row corresponds to a single &quot;cast member,&quot; and columns indicate related content and metadata, unique to each cast member type. For text and script cast members, the content can be found in the &quot;02files&quot; folder, in files with the same name. The &quot;Data&quot; file contains data powering the piece, while all of the other text files are scripts written in the Lingo programming language. Director files contained a &quot;Score&quot; where media and scripts would be placed. &quot;Init Script&quot; is the first script to be executed in the score, so let&#39;s focus on porting it first, with display and layout handled in HTML and CSS as a baseline, and Javascript used for dynamic elements. I&#39;ve created a &quot;ports&quot; folder, and a &quot;02&quot; folder inside of that, that is where we&#39;ll assemble the ported version.</div><div><br></div><div>[This resulted in a detailed implementation plan which I was prompted to approve, and things proceeded from there...]</div><div><br id="m_-499027875281710300lineBreakAtBeginningOfMessage">
<div><br><blockquote type="cite"><div>On Jan 25, 2026, at 7:51\u202fAM, Robert Gordon &lt;<a href="mailto:rob@article19.com" target="_blank">rob@article19.com</a>&gt; wrote:</div><br><div><div>I don\u2019t have many Director projects of any value lying around that I hadn\u2019t already manually ported to Flash, then HTML5 (with CanvasJS) then HTML5 again (with PIXIJS) then again to a more native-in-the-browser implementation with lots of css.<div><br></div><div>For fun, I did ask ChatGTP the following:</div><div><br></div><div><font size="3">Translate the following macromedia director lingo code into javascript: </font></div><div><font size="3">on exitFrame </font></div><div><font size="3"><span style="white-space:pre-wrap">     </span>go to frame 7 </font></div><div><font size="3">end</font><br id="m_-499027875281710300lineBreakAtBeginningOfMessage"><div><span style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><br></span></div><div><span style="text-align:start;text-indent:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal">I was surprised and impressed at the response. It understands Director\u2019s use of a playback head and how to implement animation in JS. I wonder how many Directror/Lingo concepts it has a handle on. If you have access to all of the original media &amp; source code, then perhaps give up on decompiling the dir/dcr and focus on the code porting through ai with a different media management mindset (not sure how many of us were using sprite-sheets and texture-atlases back in the ole Director days\u2026).</span></div><div><span style="text-align:start;text-indent:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal"><br></span></div><div><span style="text-align:start;text-indent:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal">Good luck!</span></div><div>
<span style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><br>r o b</span><br style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><br style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><b style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px">Robert Gordon</b><br style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><span style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px">The Article 19 Group Inc.</span><br style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><span style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px">514.938.8512</span><br style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><span style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><a href="mailto:rob@article19.com" target="_blank">rob@article19.com</a></span><br style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><span style="font-family:Helvetica;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-variant-ligatures:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;line-height:normal;font-size:11px"><a href="http://www.article19.com" target="_blank">www.article19.com</a></span>
</div>
<div><br><blockquote type="cite"><div>On Jan 25, 2026, at 10:31\u202fAM, Paul Catanese &lt;<a href="mailto:catanese.paul@gmail.com" target="_blank">catanese.paul@gmail.com</a>&gt; wrote:</div><br><div><div dir="ltr">Dear Jim-<div>Just wanted to pipe up that I&#39;m fascinated and very interested in this direction; it would be great if it could bear fruit.  I don&#39;t have time to focus on this deeplyy, but I am cheering you on, and wanted you to know it, and wanted to share some thoughts. The idea that an old director project could be translated to html5 seems like a great dream. Would love to see it.</div><div><div>I was not aware of the projectorrays project - this certainly could be of interest.</div><div><br></div></div><div>I was also fascinated about Danny&#39;s comment about .dir&#39;s being.zip&#39;s - I didn&#39;t know that, but I had effectively shifted away from Director by around 2006.</div><div>Googling a bit, I did come across this post that speaks to the internal structure as an RIFX container. </div><div><a href="https://nosamu.medium.com/a-tour-of-the-adobe-director-file-format-e375d1e063c0" target="_blank">https://nosamu.medium.com/a-tour-of-the-adobe-director-file-format-e375d1e063c0</a></div><div>This direction is a bit lower-level than I&#39;d want to get mixed up in, but could be useful in thinking about what needs to be extracted.</div><div>There&#39;s a few references at the bottom of the document that may also be of interest, including the projectorrays project.</div><div><br></div><div>Please forgive some preaching to the choir, but wanted to jot down some general thoughts:</div><div>* Recalling that some projects used 1-frame loops w/parent-child scripts, some used &quot;timeline only&quot;, and majority used a hybrid approach e.g. approaches where instances carried behavioral scripts - I would suspect that these different authored-project architectures might require differing translation approaches for HTML5.   </div><div><div><div>* Large multi .dir projects would likely derive back down to one of those cases.  </div></div><div>* Functionalities provided by 3rd party xtras seem like another area of particular wrinkles to be unwound, as would some internal xtras like quicktime.</div></div><div>* webgl should certainly be robust enough to handle shockwave 3d scenegraph &amp; related functionalities </div><div><br></div><div><div><b>emulation?</b></div><div>In the net.art context, I had spoken with the Rhizome folks years ago, and their approach to preserving (flash) works was the emulation as a service model.  They also did some interesting preservation techniques for director CD-Rom&#39;s in which old hardware would run projects natively, and then results streamed to clients - but the costs were personally way out of reach. I&#39;m not even clear if they are still involved in anything like that. The approach you&#39;re talking about is a refreshing new angle for director works. That said, I did start to wonder what it would mean to have a software emulator, perhaps even a browser-based emulator that could run director projects, rather than converting them. </div></div><div><br></div><div><b>Bigger picture still</b></div><div>Jon Ippollito &amp; Richard Rinehart&#39;s book: Re-Collection offers another thought - that new media art projects might be better considered as notation based (e.g. like music or theatrical productions) - so that recreating media artworks with new tools is part of their nature. I was at the WRO art center in Poland a few weeks ago, and they had recreated pieces like Camille Utterback&#39;s &quot;text rain&quot;,  as well as an early Paul Sharits piece, and a rutt-etra style video rasterization demo, among others, that fit into this framework - <a href="https://wrocenter.pl/pl/mi/" target="_blank">check them out here</a>.  The guy who did the heavy lifting: Pawel Janicki might be interested in your project.  </div><div><br></div><div>-paul</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 24, 2026 at 7:46\u202fPM Jim Andrews &lt;<a href="mailto:jim@vispo.com" target="_blank">jim@vispo.com</a>&gt; 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"><u></u>

  
    
  
  <div><p>Hi Danny,</p><p>I expect you already know about ProjectorRays:
      <a href="https://github.com/ProjectorRays/ProjectorRays" target="_blank">https://github.com/ProjectorRays/ProjectorRays</a> . It isn&#39;t
      fantastic but it&#39;s something.</p><p>This friend of mine I mentioned says &quot;I never used copilot. I am
      in the IntelliJ ecosystem - WebStorm. They have in there &quot;junie&quot;
      coding agent, which as far as i know built on top of Claude
      model.&quot;</p><p>People are raving about Claude Code. Anyway, my friend seems to
      think that this sort of AI could well convert something like .dir
      files to HTML5. I&#39;m not sure he appreciates the difficulty of the
      problem--though he is a pro programmer. Maybe he does. </p><p>Anyway, I suspect that if we could get some specs and whatnot on
      Director, that would help in the process.</p><p>All of us spent eons creating work with Director. Anyone else
      interested or have info to share on this question??</p><p>ja</p>
    <div>On 2026-01-24 3:27 p.m., Danny Kodicek
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Adobe / Macromedia always insisted there was no way
        to decompile .dcrs (although that always sounded unlikely to
        me). But IIRC .dirs were like .docs - just zip files with a
        different name. Theoretically I think you should be able to
        rename them to .zip and open them up. That might only be true
        for later editions of Director, though - and it might not be
        true at all! Maybe I&#39;m just making it up...</div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Sat, 24 Jan 2026 at 21:50,
          Jim Andrews &lt;<a href="mailto:jim@vispo.com" target="_blank">jim@vispo.com</a>&gt;
          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">Hello
          dear Hopper folks,<br>
          <br>
          I have a question and issue to raise with you about conversion
          of <br>
          Director stuff to HTML5 (or other formats).<br>
          <br>
          I am a newbie at using AI in my programming practice--just
          started the <br>
          day before yesterday with Copilot in VSCode. So far so good.<br>
          <br>
          But a friend of mine is intent upon using more powerful AI
          tools to <br>
          convert the Arteroids (<a href="https://arteroids.vispo.com/" rel="noreferrer" target="_blank">https://arteroids.vispo.com</a>)
          source code .dir <br>
          into html5.<br>
          <br>
          Not surprisingly, the thing he&#39;s having problems with is the
          dir format. <br>
          There is a published format for SWF, and there&#39;s a decompiler
          for <br>
          Director, but I guess AIs are going to have big problems
          trying to <br>
          &#39;translate&#39; dir or dcr files.<br>
          <br>
          Has anyone approached Adobe about making some (at least)
          documentation <br>
          about Director public so we can try to salvage and convert the
          IMMENSE <br>
          work many of us did in creating Director work?<br>
          <br>
          And what is out there now, if anything at all?<br>
          <br>
          ja<br>
          <a href="https://vispo.com/" rel="noreferrer" target="_blank">https://vispo.com</a><br>
          <br>
          <br>
          _______________________________________________<br>
          Hopperxx mailing list<br>
          <a href="mailto:Hopperxx@vispo.com" target="_blank">Hopperxx@vispo.com</a><br>
          <a href="http://vispo.com/mailman/listinfo/hopperxx_vispo.com" rel="noreferrer" target="_blank">http://vispo.com/mailman/listinfo/hopperxx_vispo.com</a><br>
        </blockquote>
      </div>
      <br>
      <fieldset></fieldset>
      <pre>_______________________________________________
Hopperxx mailing list
<a href="mailto:Hopperxx@vispo.com" target="_blank">Hopperxx@vispo.com</a>
<a href="http://vispo.com/mailman/listinfo/hopperxx_vispo.com" target="_blank">http://vispo.com/mailman/listinfo/hopperxx_vispo.com</a>
</pre>
    </blockquote>
  </div>

_______________________________________________<br>
Hopperxx mailing list<br>
<a href="mailto:Hopperxx@vispo.com" target="_blank">Hopperxx@vispo.com</a><br>
<a href="http://vispo.com/mailman/listinfo/hopperxx_vispo.com" rel="noreferrer" target="_blank">http://vispo.com/mailman/listinfo/hopperxx_vispo.com</a><br>
</blockquote></div>
_______________________________________________<br>Hopperxx mailing list<br><a href="mailto:Hopperxx@vispo.com" target="_blank">Hopperxx@vispo.com</a><br><a href="http://vispo.com/mailman/listinfo/hopperxx_vispo.com" target="_blank">http://vispo.com/mailman/listinfo/hopperxx_vispo.com</a><br></div></blockquote></div><br></div></div>_______________________________________________<br>Hopperxx mailing list<br><a href="mailto:Hopperxx@vispo.com" target="_blank">Hopperxx@vispo.com</a><br><a href="http://vispo.com/mailman/listinfo/hopperxx_vispo.com" target="_blank">http://vispo.com/mailman/listinfo/hopperxx_vispo.com</a><br></div></blockquote></div><br></div></div></div>_______________________________________________<br>
Hopperxx mailing list<br>
<a href="mailto:Hopperxx@vispo.com" target="_blank">Hopperxx@vispo.com</a><br>
<a href="http://vispo.com/mailman/listinfo/hopperxx_vispo.com" rel="noreferrer" target="_blank">http://vispo.com/mailman/listinfo/hopperxx_vispo.com</a><br>
</blockquote></div>