Replies: 2 comments 5 replies
-
P2CE's panorama ui can be open sourced but we will not use react or anything like that |
Beta Was this translation helpful? Give feedback.
2 replies
-
On the C++ integration side, we are currently working on implementing a hotloading C# scripting framework into the engine called ChaosScript. In the long term, we're aiming to replace both the frontend JavaScript code and the C++ backend code with C#, so the logic is transparent and editable by anyone. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Alright so now that the "update that included Panorama" has been out for a few days already and I had to mess around a bit with it, I'd like to open a discussion about the tool and where it's going as I got a few notes and remarks that don't really fit the "issue" format (I think).
First of all, the obvious pain point: the RSA signature check is annoying. That's exactly what it is for after all, to deter cheater from messing with the display in Counter Strike, but this is not a competitive multiplayer game but a community-oriented modding platform so I think it would make sense to just disable it in the short term.
Once everything is running though obviously not everything is in place but it's already fairly impressive in the possibilities it unlock, we're gonna be able to do some really cool stuff with this. The only two main limitations I see right now are:
One interesting idea that stems from decoupling the native and JS code is that from what I understand P2:CE will ship with its own Panorama-based UI, and I'm no legal expert but since this is all going to be all new code it may not fall under the Valve license, and that part of the engine might be able to be developed as an open-source community effort, taking off some of the workload from just the developers under NDA.
Finally, and this is laying some ideas here but while Panorama is certainly a step forward from VGUI it feels a bit dated for anyone experienced in web development: for instance spreading the layout, styles and code over 3 different files is really something that's just not done anymore. Since Panorama takes so much from the web I think it could be interesting to take a look at how the web platform is shaped right now, where it is going and what we can learn from that. Two libraries I'm thinking of trying to integrate are the elephant in the room, React, and the outsider, Svelte.
There isn't necessarily any work to be done to "support" JS libraries as most of the work would in fact need to be done on the libraries themselves, but modern web development workflows rely a lot in live reloading, and for that to work 2 pieces are required: the ability to load the JS code from a (generally local) HTTP server instead of a file (and to reload it from inside the runtime), and an implementation of the WebSocket protocol for that the JS bundle can connect back to the server and receive updates. Obviously none of that is very important for actually using Panorama, but is certainly nice to have for productivity.
Beta Was this translation helpful? Give feedback.
All reactions