Skip to content

PR to make the engine capable of hosting plugins - #1127

Merged
untoldengine merged 1 commit into
developfrom
feature/plugin_arch
Aug 3, 2026
Merged

PR to make the engine capable of hosting plugins#1127
untoldengine merged 1 commit into
developfrom
feature/plugin_arch

Conversation

@untoldengine

Copy link
Copy Markdown
Owner

No description provided.

[Feature] add render extension lifecycle hooks

[Feature] add plugin-ready render graph stages and dependencies

[Patch] ECS readiness

[Patch] plugin-owned spatial participation

[Patch] plugin asset chunk support

[Patch ]Added a plugin-facing shader packaging helper

[Bugfix] Fix stale XR eye context and plugin picking fallback

[Patch] Add EngineExtension lifecycle for non-rendering plugins

[Docs] Updated engine extension docs
@untoldengine
untoldengine merged commit e363a83 into develop Aug 3, 2026
4 checks passed
@untoldengine
untoldengine deleted the feature/plugin_arch branch August 3, 2026 15:10
miogds pushed a commit to miolabs/UntoldEngine that referenced this pull request Aug 4, 2026
…dinator

PR B of the physics plugin readiness plan (discussion untoldengine#1116), built on the
EngineExtension infrastructure from untoldengine#1127 instead of a custom runFrame
seam:

- PhysicsCoordinator (EngineExtension) steps the installed backend once
  per fixed substep: body-set diffing against the RigidBodyComponent +
  ColliderComponent query, batch kinematic writes, step, batch transform
  read-back into LocalTransformComponent, event drain into an inert sink
  (subscriptions arrive in the events PR).
- PhysicsBackendRegistry schedules/unschedules the coordinator in
  EngineExtensionRegistry on install/uninstall and locks for runtime on
  the first simulated substep.
- Gravity for the built-in integrator now reads from the global
  PhysicsWorldConfiguration (default unchanged at (0, -9.8, 0)), so
  legacy and backend-owned bodies share one gravity.

With no backend installed nothing is scheduled and behavior is unchanged;
the built-in integrator keeps running legacy entities either way.
miogds pushed a commit to miolabs/UntoldEngine that referenced this pull request Aug 4, 2026
…dinator

PR B of the physics plugin readiness plan (discussion untoldengine#1116), built on the
EngineExtension infrastructure from untoldengine#1127 instead of a custom runFrame
seam:

- PhysicsCoordinator (EngineExtension) steps the installed backend once
  per fixed substep: body-set diffing against the RigidBodyComponent +
  ColliderComponent query, batch kinematic writes, step, batch transform
  read-back into LocalTransformComponent, event drain into an inert sink
  (subscriptions arrive in the events PR).
- PhysicsBackendRegistry schedules/unschedules the coordinator in
  EngineExtensionRegistry on install/uninstall and locks for runtime on
  the first simulated substep.
- Gravity for the built-in integrator now reads from the global
  PhysicsWorldConfiguration (default unchanged at (0, -9.8, 0)), so
  legacy and backend-owned bodies share one gravity.

With no backend installed nothing is scheduled and behavior is unchanged;
the built-in integrator keeps running legacy entities either way.
untoldengine pushed a commit that referenced this pull request Aug 5, 2026
…dinator

PR B of the physics plugin readiness plan (discussion #1116), built on the
EngineExtension infrastructure from #1127 instead of a custom runFrame
seam:

- PhysicsCoordinator (EngineExtension) steps the installed backend once
  per fixed substep: body-set diffing against the RigidBodyComponent +
  ColliderComponent query, batch kinematic writes, step, batch transform
  read-back into LocalTransformComponent, event drain into an inert sink
  (subscriptions arrive in the events PR).
- PhysicsBackendRegistry schedules/unschedules the coordinator in
  EngineExtensionRegistry on install/uninstall and locks for runtime on
  the first simulated substep.
- Gravity for the built-in integrator now reads from the global
  PhysicsWorldConfiguration (default unchanged at (0, -9.8, 0)), so
  legacy and backend-owned bodies share one gravity.

With no backend installed nothing is scheduled and behavior is unchanged;
the built-in integrator keeps running legacy entities either way.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant