Figma to BabylonJS plugin!

@jamessimo I just used your extension this week in a new BabylonJS based web application and it greatly reduced the amount of code we had to write. This is extremely impressive for an early version!

I’m starting to run into more advanced cases the extension isn’t ready to handle yet.

Having built some controls and improvements on GUI controls in the Babylon project, I have some ideas and feature requests I’d love to run by you.

How can I get in touch with you? Does this extension project have a public repo anywhere?

3 Likes

You can reply to the thread here or DM is best bet. Sorry didnt check email so missed this notification!

Hey guys! just a quick update;

I still want to get this project available for more people to contribute, but I am making a large change which is breaking some things but this will make working on this much better in the future.

The biggest issue I am working on is that I essentially handwrote all of the UI types by copying the BabylonJS code like this;

This is obviously not the best and does not lend itself well to growing with BabylonJS as a project. So what I’m doing now is I’m going to try to import parts of BabylonJS directly via NPM and replace all the handwritten mapping with actual BJS code so that if BJS makes a change, the code should be able to “just work” and allow for targeting older versions of BJS if needed.

This is also to hopefully springboard this to be able to target multiple codebases, however that is yet to be seen.

I use “peer dependencies” to let somebody else decide which version. It works pretty good, since the team strives for backwards compatibility.

2 Likes

Hello everyone!

Well first the good news, the good news is, the next version will have;

  • Focusable Buttons
  • Toggle Buttons
  • Grids
  • Radio buttons
  • Much better text controls
  • 100% accurate output
  • slightly smaller file sizes (hopefully)

The bad news
Development is blocked by a engine feature that I need to be implemented before I can complete this Ability to "skip" using Canvas when serializing Textblocks and other CSS dependent GUI Controls. · Issue #14949 · BabylonJS/Babylon.js · GitHub. As mentioned earlier, i am now importing babylonJS GUI into the Figma Plugin and using core babylon code to do a lot of the work. But when the plugin was fully ported over, I found that I can no longer serialize controls that had there CSS elements change s( Gradients, text sizes etc…) and i don’t want to publish any new versions that don’t use the BabylonJS code as it will just create more work for myself.

Ill keep you all posted, the plugin still works fine as is and it will have a huge improvement to it once I can continue working on it.

2 Likes