[developer] Create Typescript documented example projects for each of the engine modules #112
Labels
developer
Anything related to the Developers section of the documentation website
documentation
Improvements or additions to documentation
jira-migrated
Issues that have been migrated to iR Engine's Jira board.
Best Practices
Modules
Engine Module
001 - State Management with Hyperflux
Essentially everything from here https://etherealengine.github.io/etherealengine-docs/manual/developer/stateManagement and also probably worth including Reactors as a concept, as essentially just purely logical react components for manipulating state. Would be good to explain the data oriented approach to state, and why global state exists and why we use an imperative code style instead of pure functions.
002 - Actions & Event Sourcing
Action definitions, queues, event sourcing receptors
https://etherealengine.github.io/etherealengine-docs/manual/developer/actionsEventSourcing
003 - ECS - Components & Entities
The first half of https://etherealengine.github.io/etherealengine-docs/manual/developer/ecs. Explain what entities are, what components are, what bitECS data is (non-reactive, CPU cache optimized) and hyperflux data is (reactive, serializable). Explain component reactors, and when to use them vs other reactors.
004 - ECS - Systems
The second half of https://etherealengine.github.io/etherealengine-docs/manual/developer/ecs. Update loop, pipelines & system groups. Queries. Include info about system reactors, which is just an easier way creating a reactor. Also explain useQuery, useOptionalComponent and useComponent here.
005 - Peers & Users, Ownership & Authority
Add more detail https://etherealengine.github.io/etherealengine-docs/manual/developer/networking
006 - ECS Network Serialization
Explain how DataReader and DataWriter work, explain change detection, isLoopback, jitterBufferTaskList. Also the schema API: Create a custom serializer. Example is IKSerialization for networking blendWeights.
The text was updated successfully, but these errors were encountered: