Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
1 task
Tracked by #47
heysokam opened this issue Jan 23, 2024 · 0 comments
Closed
1 task
Tracked by #47
Assignees
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.

Comments

@heysokam
Copy link
Contributor

heysokam commented Jan 23, 2024

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.

@heysokam heysokam mentioned this issue Jan 23, 2024
55 tasks
@heysokam heysokam added documentation Improvements or additions to documentation developer Anything related to the Developers section of the documentation website labels Jan 23, 2024
@armando-salazar armando-salazar changed the title [developer] Create Typescript examples for each of the engine modules [developer] Create Typescript example documentation for each of the engine modules Apr 8, 2024
@armando-salazar armando-salazar changed the title [developer] Create Typescript example documentation for each of the engine modules [developer] Create Typescript documented examples for each of the engine modules Apr 8, 2024
@armando-salazar armando-salazar changed the title [developer] Create Typescript documented examples for each of the engine modules [developer] Create Typescript documented example projects for each of the engine modules Apr 8, 2024
@heysokam heysokam added flag jira-migrated Issues that have been migrated to iR Engine's Jira board. and removed break-into-tasks labels Apr 18, 2024
@heysokam heysokam closed this as not planned Won't fix, can't repro, duplicate, stale Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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.
Projects
None yet
Development

No branches or pull requests

3 participants