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
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.
Add the
ApelNetworkRenderer
to render particles on the client side using theApelFramePayload
to sendInstruction
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, theApelClient
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.