Skip to content
This repository was archived by the owner on May 2, 2025. It is now read-only.
This repository was archived by the owner on May 2, 2025. It is now read-only.

[developer] Create Typescript documented example projects for each of the engine modules #112

@heysokam

Description

@heysokam

Note: Break into separate tasks when work on this issue is started.

Best Practices

  • Progress on Docs-PR#99

Modules

  • Engine Module: Execution Context - Hypeflux, ECS & Networking
  • Spatial Module: Spatial Context - Scene, Physics, WebXR, Input, Render
  • World Module: Spatial Content - Scene composition, avatars, studio, interactables
  • Webapp Module: (feathersjs, vite, storage provider, client UI, routes, locations)
  • Infrastructure Module: (builder, project API, git, k8s, agones, feathersjs, openmatch, database etc)
  • Instances: (mediasoup, recording/playback, social system)

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.

Metadata

Metadata

Labels

developerAnything related to the Developers section of the documentation websitedocumentationImprovements or additions to documentationjira-migratedIssues that have been migrated to iR Engine's Jira board.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions