GitBrincie212 / Apel-Mod

Apel is a library that brings particle animations to the table with flexible behaviour and a clean developer interface. It promises also lots of predefined shapes & paths to help the developer on their particle scene
Other
2 stars 1 forks source link

Client rendering #15

Closed DarthSharkie closed 2 months ago

DarthSharkie commented 2 months ago

Add the ApelNetworkRenderer to render particles on the client side using the ApelFramePayload to send Instruction instances across the network.

This also adds ApelClient since rendering on the client needs the mod installed on the client. This client needs some additional work, but this gets it to a functioning state while the rest of the Apel library evolves. As that happens, the ApelClient code can be refactored into a payload handler and a client-side, ParticleManager-based renderer. It could also conceivably use a custom particle manager that could employ longer-lived particles and keep memory allocation significantly lower for clients.

N.B.: It's likely possible to compose renderers such that those with the mod can get efficient network-based instructions while those that don't would force the server a) to do more work and b) to send more packets. That can be investigated, if desired.