Is it possible convert three js based Javascript, CSS, and HTML content into a interactive page?

I have a webapp that is based on three js.
The webapp let users place dots on sitemap and link them to images.
The web app uses Javascript, CSS, and HTML.

There are 2 phases 2 the webapp


While the user is editing the data he uses a rich set of functionalities to:

  • add dots on the sitemap and link them to images
  • edit the dots: move, delete, link momultiple images etc …
  • etc…

The editing of dots, e.g. adding / moving / deleting is done using all the good staff in three js: intersections, renderring, layering, etc…


When the user finishes editing the data for good, he gets a .zip file with the information that he created (sitemap, images, links between the sitemap and the images, etc…).
At this point, the interaction is much simpler. There is no editing mode and the user can only click on pre-existing dots to load up the related image (bu he can no longer edit the dots).

I want to change phase2.
Instead of interacting with the webapp on the website, I want to “freeze” the webapp into some interactive page (e.g. interactive-pdf, epub, h5p) that can be played independently without the webapp.

There are multiple reasons that motivate to do this:

  • the webapp in editing mode is complex, so engaging with the webapp is prone to more errors.
    For example, if I could replace three js ray-intersection (to decide if the user clicked the dot) with simple html element with href that represents the dot,
    then the risks for a runtime error (e.g. due to bug in my code) is greatly reduced.
  • the interactive page can be browsed by variety of tools, potentially even when being offline.
  • the end product can be re-designed to appear more simple.

My questions:

  • is it possible to programatically convert the Javascript, CSS, and HTML content into some interactive page (e.g. interactive-pdf, epub, h5p)?
    Every user will have a different end product (e.g. by the number of dots, and their location in the sitemap) so having to manually create the interactive page every time is not practical.
  • are there mobile apps (e.g. on Apple Store, or Google Play) that can read interactive content locally, e.g. when the device is offline?