Javis.jl icon indicating copy to clipboard operation
Javis.jl copied to clipboard

3D animations in Javis

Open braxtonowens opened this issue 2 years ago • 5 comments

Is there any plan to implement 3D animations in Javis? If this already exists, are there plans for an example?

braxtonowens avatar Aug 04 '21 16:08 braxtonowens

Hey, it's currently not planned in the near future but might be added when https://github.com/cormullion/Thebes.jl is improving further

Wikunia avatar Aug 04 '21 16:08 Wikunia

Hey @braxtonowens! Thanks for the interest in Javis.jl! As it stands right now, as @Wikunia says, we do not have it on our (working) roadmap that we are creating for a version 1 release of Javis. We do have some ideas about how to approach this somewhat one day (pinging @Sid-Bhatia-0 for some of his thoughts as well based on discussions from JuliaCon 2021) and it entails building out most likely a separate package called Javis3D which will part of an eventual larger Javis organization. But yes, Thebes.jl is a great package that could potentially make the backend to a Javis3D package. I've also been interested in MiniFB as that seems interesting and Meshes.jl with MeshViz.jl also seems processing for potentially some of the computational aspects of computation.

If you are interested in perhaps working on this, let me know! Happy to jump on a call with you @braxtonowens - you can find @Wikunia, me, and the rest of the Javis community over on Zulip. Thanks!

TheCedarPrince avatar Aug 04 '21 18:08 TheCedarPrince

I'll be honest - Thebes.jl was just a toy, and - although fun for me to play around with - wouldn't offer anything like a firm foundation for any 3D graphics, and I don't know if I'll do anything more with it. (Perhaps the docs make it look better than it is ? 😀) I don't think it's what you're looking for.

I remember there was an attempt to make a 3D version for Compose.jl (https://github.com/rohitvarkey/Compose3D.jl) - but that looks like it was abandoned too. Cairo3D doesn't look like it's a thing anywhere. I suppose everyone goes for GL-based code since all the basics have been optimized.

It would be a good project to design a 3D toolbox, but design it specifically for use as part of Javis's object system, rather than just focussing on the UI, like I did. Some maths required. 😀

cormullion avatar Aug 17 '21 08:08 cormullion

I think Thebes.jl is a good point to start though like you said there's isn't any firm foundation in that regard. I think makes a strong case for having a Javis-Makie bridge(not yet sure what all it would do or if it's possible or not, but 3D is one thing).

Or do you think Thebes can be improved if worked upon further. I am in for it.

but design it specifically for use as part of Javis's object system

The good part about javis's design (credits : @Wikunia @TheCedarPrince) is that it is very flexible and can easily accomodate different computational geometry backends. All it needs is a definition how will an object/geometry change(some handy functions for that eg: translate, rotate etc.).

Moving ahead the only essential thing is that it would be better if the 3D backend that we choose is on the lines of luxor to prevent writing an altogether new object, action and rendering system for 3D Javis

Sov-trotter avatar Aug 17 '21 09:08 Sov-trotter

It would a fun project, for sure. Needs some kind of software architect person to design a good, solid foundation designed with Javis visualizations in mind.

cormullion avatar Aug 17 '21 12:08 cormullion