Bricks: runtime-activatable feature modules
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
Línea de trabajo
Start with the subsystem registry work in related issue #358, then trace how Turian registers systems and DDD listeners. The issue specifies lifecycle, manifest, runtime activation, AOT and Studio requirements but names no files or tests. Done means Play Mode toggling adds and removes systems and listeners without leaks, and a shipped build activates a disabled module from a DataAsset.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Current State
Turian bricks are install-time delivery: what a brick ships is decided at build time, and runtime toggles (e.g. physics event merging, telemetry) are ad-hoc config flags with no shared lifecycle.
A first-class feature-module layer lets applications compose optional systems per configuration, scene or saved state, and lets the engine toggle measured subsystems without bespoke switches.
Tasks
-
IFeatureModulecontract: ordered lifecycle (register, activate, deactivate, dispose) with dependency ordering, built on the subsystem registry (#358) - Safe activation while running: systems and DDD listeners are added and removed cleanly; no leaks on deactivate
- Brick manifests declare feature modules; a shipped build can include a module disabled and activate it from an authored DataAsset
- Per-tick/per-contact callbacks stay direct: no hidden indirection, and zero cost while a module is inactive
- Closed, AOT-safe registration; headless parity
- Studio: feature module panel with enable/disable during Play Mode and an activation event log
Acceptance Criteria
- Toggling a feature module during Play Mode adds and removes its systems/listeners with zero leaks (allocation and listener-count assertions).
- A shipped build contains a disabled feature module and activates it from a DataAsset at runtime.
Related
#358, #359, #55
References
- Unreal Engine's Game Features and Modular Gameplay plugins cover the same need: standalone features activated and deactivated at runtime with lifecycle hooks.
- Lenguaje dominante
- C#
- Estrellas
- 1
- Forks
- 1
- Merge medio
- 1 h 58 min
- PR fusionados (30 d)
- 28
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MASS4ORG/Turian
-
c:assets p:low size:XS t:task
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
p:high t:feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
p:high t:feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Los mantenedores suelen responder en 1 día
-
p:high t:feature
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
Los mantenedores suelen responder en 1 día
-
p:high t:feature
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
Todos los issues de MASS4ORG/Turian
Issues similares
-
[P2] Interpreter: Array.prototype.findLastIndex starts at the wrong index for long array-likesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
RicoSuter/Namotion.Interceptor#918 ·
Los mantenedores suelen responder en 1 día
-
area-integrations
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 2 días
-
Sample solution restore fails with NU1109 (Microsoft.Extensions.Logging.Abstractions downgrade)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
ardalis/CleanArchitecture#1150 ·
Los mantenedores suelen responder en 1 día