firtoz / react-three-renderer

Render into a three.js canvas using React.
https://toxicfork.github.com/react-three-renderer-example/
MIT License
1.49k stars 155 forks source link

Update README.md #235

Closed toxicFork closed 5 years ago

toxicFork commented 5 years ago

A little status update on the project.

I took a day off my regular work today - I was having periodic bursts of headaches as I tried to sleep, and that combined with responsibilities like this project haunted me to cause some interesting nightmares but fortunately a bit of inspiration from that desperation. So after gathering a bit of energy via resting I have done a bit of thinking to consider what will involve cutting a new version for this project, and what can be done realistically.

The current status is: The fiber version is not completed yet. It's sort of usable but lacking in feature parity.

There are some problems with complex functionality that I envisioned, for example rendering elements into properties:

<mesh 
    geometry={<boxGeometry/>}
>

Similarly for "resources", shapes, modules/plugins e.g. mouse events, and so on.

While these are possible to implement, it does take a significant amount of scuba-diving into the context and mental capacity and resource gathering in order to be able to write a few lines of code on things like these. This is possibly because at my day job what I do is integrating a distributed computation + game development platform into game engines. While the concepts of that and this are somewhat similar to some minds, unfortunately it does take significant amount of effort for me to do the context switching.

So I am thinking of seeing what the features I would like to offer as a foundation for a compatible version, then build the enhancements after that.

TLDR: Feature creep infestation

Methuselah96 commented 5 years ago

@toxicFork I would like to continue helping work on this. I agree that working on complex functionality bogs things down. I spent a long time just trying to figure out what you were doing especially with 1) geometries that need to get recreated but have to remain the same object and 2) rendering elements in props. Recently I've been trying to get r3r-fiber to work with the new React context API so that it will work with the latest react-redux, but that's proving to be more difficult than I anticipated.

For geometries that need to get recreated but remain the same instance, have you thought about wrapping them in a wrapper object and then having the getPublicInstance() method return the geometry that's wrapped?

Anyway, if we could set some realistic goals for what a foundation would be, I would feel a lot more motivated to work on this.

toxicFork commented 5 years ago

@Methuselah96 thank you for your comment.

For the context difficulties, which aspects do you find troubling?

For the geometries I do something like that, I need to keep looking for a good way for that one, a hint may be "object proxies" or whatever they may be called.

For the realistic goals, I'll be thinking about this.