protongraph / environment

Contains the export templates and custom engine binaries necessary to export ConceptGraph
MIT License
5 stars 1 forks source link

Blocker encountered with Getting Started / Kicking the tires of the Protongraph Application #1

Closed token-cjg closed 3 years ago

token-cjg commented 3 years ago

Hello, I trust you have been keeping well πŸ™

References

Test repo cataloguing my current attempts to kick the tires of your system (still needs a readme): https://github.com/token-cjg/TestProtongraphProject

Context

I've been looking into trying to put Protongraph through its paces again, based on the hack that I used to build the Protongraph client for OSX here: https://github.com/protongraph/protongraph/issues/100#issuecomment-845467664.

I copied some information from an earlier tag of Protongraph (v0.5.0-alpha) and also copied the sync-godot addon into my test project. I was thinking of focusing on your SimpleTree example as that worked out of the box with the old Concept_Graph addon you created (before your rebrand), so I created a couple of Protongraph nodes and copied the relevant information from the simple_tree scene across.

I've created a repo here with my bumbling attempts: https://github.com/token-cjg/TestProtongraphProject

I then ran this Godot project side by side with the compiled Protongraph application running as a separate process.

Blocker

However, I have encountered a new blocker. I notice that in your sync-godot client, it polls for a connection to a local websocket server at ws://127.0.0.1:434743 which is not up. Also, in your Protongraph application, I see that you look for connections to a similar websocket server here for port 434743 or 636763.

At first I thought that the Protongraph application was supposed to have a websocketserver tagged on, but I think that there is supposed to be a node.js server mediating a WebSocketServer connection between both the client (the Godot game per my test repository above as an example) and your Protongraph application.

Question

If my assessment is correct then, and I am missing the third piece of the picture here, do you have any example code for what you had in mind for the node.js server bridging these two systems? I've had a brief look at the broader protongraph organisation and haven't been able to find anything particularly obvious.

Closing

I'm still endlessly impressed by this application that you've built and I would be very excited to have a chance to kick the tires per some pale shadow of the vision that you had in mind.

~ token-cjg

HungryProton commented 3 years ago

Hello! Thank you for the very detailed issue, I appreciate it!

You should have all the parts already, but keep in mind this is still experimental.

The GodotSync add-on allows you to drive ProtonGraph from the Godot editor, but it's optional, you can ignore it completely and simply export a tscn or gltf file from the standalone application. If you want to use it, the whole chain goes like this.

Execution flow

Troubleshooting

Now, if the add-on fails to connect to the local server, chances are it's not even up, in that case, starting ProtonGraph from a terminal should display a few errors about why the WebSocketServer didn't start.

I'm sorry you're facing all sorts of issue with this application. I'm trying to make it work on Godot 4 to finally get access to compute shaders and custom render devices. Since it's not stable and crashes very often, the development is kind of on hold for now as I wait for Godot to be more stable.

token-cjg commented 3 years ago

Thanks for the response - it is good to know that no additional pieces are needed.

I think I identified the problem, it looks like the websocket_client logic changed in Godot 4 months ago: https://github.com/godotengine/godot/blame/855c7c7414a2f29cd420e8dd654a4630226bcd50/modules/websocket/websocket_client.cpp#L48-L50. I experienced the above issue when running the aforementioned test project in Godot 3.3.3. When I ran it in Godot 3.3(.0), I encountered no issues - I was able to connect to the Protongraph application.

Since I'm unblocked on this now, I'll close this ticket, and I'll endeavour within the next day or two to document all of this accordingly.

Many thanks again πŸ™‡