Local development with lightship-maps module?

My team has an 8th Wall Pro account. Is it possible to do local development of an 8th Wall project utilizing modules - specifically the lightship-maps module? Our dev team would prefer local environments for long-term maintainability and workflow standardization w/ other projects, and to allow full use of npm ecosystem, etc., but our project is based around Lightship Maps - can this be done?

Hi @James_Kane yes, the Lightship Maps module is compatible with Self-Hosted projects, check the Compatibility section on the overview page for the module

Unlike Cloud Editor projects where a module is added inside the editor itself, for self-hosted projects there is a β€œModules” icon in the left navigation for your project:

Screenshot 2024-07-15 at 9.39.30 AM

Once you add the module to the self-hosted project in your 8th Wall account, there is a Copy Code button that generates the code/tags you’ll need to add into your self-hosted code.

Note that you can’t actually self-host the module code itself - you are simply pulling it in via external URL (like you would with other third party libraries like Google Analytics, etc)

See documentation for Importing Modules into a Self-Hosted Project

2 Likes

Thank you! I’d missed that documentation, that is great.

As a follow-up, am I correct that the lightship-maps module is exclusively for use in A-Frame projects? Our studio is defaulting more and more to react-three/fiber, but it seems like the module documentation is solely for A-Frame. If so, is there any chance that could change in the future to support more frameworks? Also, is there an A-Frame version lock-in w/ the lightship-maps module? A few of the examples are on A-Frame 1.4.1, for instance - would we run into errors on the latest version?

There is a three.js section in the Maps readme if you scroll down further. Hope this helps!

Thanks @TonyT - I noticed that section of the docs but just assumed those three.js methods were for use within A-Frame components.

So are you confirming we could import the module and create/build the map in a pure three.js (maybe even on a newer version), without the A-Frame abstraction? Or am I misunderstanding?

Yes, that’s correct. You can use the module with either AFrame projects, or pure three.js projects.

@TonyT awesome, thanks. If we did that, would we still be locked into the super-three three.js fork of r137 that lightship-maps uses, correct? Our initial attempts to upgrade that failed. Any chance you all would maintain or update that over time?