Introducing 3DBug!

It was October 24, 2024 when we wrote here about a big top-secret project involving Joomla. After over 600 hours of development and promotional efforts we are pleased to announce that 3DBug is finally here and available on the Joomla Extensions Directory!

This is, of course, a huge achievement and an important milestone.

What is 3DBug?

3DBug is a component that you install on your Joomla website. It lets you use graphics of any sort to build a “world”. Within the world, you position “rooms”. Within the rooms, you position “assets”. Rooms and assets can be associated with various digital media, including 3D models and scans (a.k.a. “gaussian splats”). Furthermore it lets your world integrate with any content in Joomla.

Virtual tour with 3-D room view built with 3DBug Joomla component
Virtual tour with 3-D room view

The end result is a versatile multimedia display and navigation system which can be used for virtual tours, games, e-Learning, galleries, site maps, and e-commerce among other things. A more detailed description can be seen on the 3DBug website.

Why does it exist?

Over the years Confidant gained experience with a number of very interesting projects:

As time went on, a question began growing in my little brain: Is there any way I can combine all of this experience into a single product?

Screen shot showing a map using SVG graphics being displayed in the 3DBug component administration context
3DBug administration interface with an SVG map

The dreams became more vivid, and as plans began to take root there were other fortunate developments rapidly advancing in technology.

  1. The Joomla Component Builder tool released some major updates which supported the latest version of Joomla.
  2. A.I. was becoming a very useful tool for debugging and solving complex coding challenges.
  3. Gaussian splat technology has been rapidly advancing as the new standard in immersive 3-D web graphics.

The result of these three factors was that the project, which normally would require a large multi-disciplinary team, was streamlined into something which could be handled by a single person with spare hours over the course of about 18 months. So here we are celebrating!

3DBug combines 3D graphics with your shopping cart system
Integration with shopping cart

What does the future hold?

It seems that this was an interesting enough project that Allan was accepted to be a speaker at the Joomla World Conference 2026 in Potsdam, Germany. Leading up to that time we will be very busy enhancing documentation, securing development and/or marketing funding, and doing promotional activity. It remains to be seen whether 3DBug itself will be a profitable long-term business or simply a nice portfolio piece.

If you have any need for this tool or have a custom application idea, please get in touch. We’ll be happy to explore a solution for you!

Triggering Haxe functions from within OpenFL TextField HTML links

It’s been a while since I posted anything useful (not sure if I ever have) but anyway here’s a tip for the Haxe / OpenFL coders out there.

Sometimes you need to have responsive, flowing text in your application and still use it to trigger functions, just like a webpage. So here is the solution. This works with a regular OpenFL text field, or a Label in FeathersUI.

var walkThruText = new TextField(); //or new Label();
walkThruText.htmlText = 'Want a walkthrough on how to use the tool?<br /><font color="#0000ff"><a href="event:tutorialClick">Watch this short tutorial</a></font> to become an expert.';

walkThruText.addEventListener(TextEvent.LINK, (linkEvent:TextEvent)->{
	switch (linkEvent.text){
		case "tutorialClick":
			trace("You clicked the link!");
	}
});

So the secret is to add an event with a name as the href on the <a> tag, then listen for the TextEvent when it gets clicked.

Bonus tip: text formatting within a TextField can be applied by either using the “setTextFormat” method on a text field and providing a start/end range, or you can use various html tags as listed here.

I hope this helps someone!

Adobe: Why no AS3/HTML5 solution for Flash?

Every time Adobe does an article about the Flash IDE’s ability to do HTML5, I am very interested and I check it out. I am always disappointed when they get back to the fact that you have to use JavaScript.

I really cannot understand why Adobe has not endorsed or offered a method to compile Actionscript (or a better language) to JavaScript from within the Flash IDE. Actionscript 3 is clearly superior to JavaScript. Why should we have to re-write everything when we’re in the same IDE? Why are they taking a step backwards?

I would consider Haxe to be the ultimate solution, but Adobe could even use Jangaroo or similar technology to target HTML5—maybe even bundle Google Swiffy. If they did, I’m sure developers would be happy to be able to create both Adobe AIR apps and HTML5 apps from the same code base without needing to install other tools. Those of us using Haxe are already basking in the glory of that.

Perhaps Adobe thinks such a move would eat away at their AIR platform’s popularity. I just don’t know why they bother with JavaScript tools within Flash, when better tools exist. As it stands, I expect that more developers will be doing like I did and begin switching to Haxe with OpenFL, which is a more advanced language than AS3 and can compile to SWF/AIR, HTML5, and a host of other desktop, console and mobile platforms.