-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Open
Labels
Topic: ArchitectureRequests, Issues and Changes related to software architecture, programming patterns, etc.Requests, Issues and Changes related to software architecture, programming patterns, etc.Type: ImprovementRequest for or addition/enhancement of a featureRequest for or addition/enhancement of a feature
Milestone
Description
Extraction subsystems should:
- simplify codebase via extracting common components
- make some components optional/replaceable. e.g:
Optional:TelemetryandDiscordnot needs for server build
Replaceable:AudioLwjglandAudioNullsubsystems. - provide native library support for modules. e.g:
Kallisti->Jnlua
CoreRendering->GraphicsLwjgl
Extraction subsystems shouldn't:
- Replace
Modules - Downloads from server or internet
- Loads dynamically
Draft extraction scheme:
Disclaimer: some listed subsystem is just library - haven't
EngineSubsystemimplementation. but i cannot place it atlibsdirectory, becauselibsdirectory used for external libraries (external repo)
Subscribables is timed subsystem. while AutoConfigs will not extracted and configs not migrated to autoconfigs
Required Features:
- feat: Reviving of "UI for editing arbitrary types and AutoConfigs" #4244 - for autoconfig. it ideally config system for subsystem ecosystem. needs 7 and 2.
Module->Subsystemdependency.
Partial current solution for 'Library' subsystems - engine provides them as gradle'sapidependency (formal it is engine dependency)
Extractions
- ✅
DiscordRPCsubsystem feature(subsystems): extract DiscordRPCSubSystem #4233 - ✅
TypeHandlerLibraryfeat(subsystems): extract TypeHandlerLibrary. #4255 - ✅ Add generic Serializer for TypeHandlerLibrary feat(TypeHandlerLibrary): Add generic Serializer for TypeHandlerLibrary. #4324
- extract
EntitySystem. ( requires ✅ feature(subsystem-prepare): extract Network and R&R code from EventSystemImpl #4565 for pure events and ✅ feat(TypeHandlerLibrary): Add generic Serializer for TypeHandlerLibrary. #4324 for serialize components) - protobuf serialize over GenericSerilaizer(3)
- network subsystem - needs 4
Outdated with feat(TypeHandlerLibrary): Add generic Serializer for TypeHandlerLibrary. #4324GsonSerializerfeat(subsystems): Extract GsonSerializer #4270 - needs 2.( follow-ups - migrate engine's code from pureGsontoGsonSerializer)- extract
TypeWidgetLibrary-- but first needs to merge feat: Reviving of "UI for editing arbitrary types and AutoConfigs" #4244 ✅ - extract AutoConfigs - needs 7.
- extract Audio(Null|API|Lwjgl) subsystems. required .
- extract Graphics - required AutoConfigs as subsystem and migrated Rendering configs to
AutoConfig. - extract Record&Replace - highly integrated in engine. needs refactor
WorldStorageto make it extendable. - ???
- PROFIT!
Metadata
Metadata
Assignees
Labels
Topic: ArchitectureRequests, Issues and Changes related to software architecture, programming patterns, etc.Requests, Issues and Changes related to software architecture, programming patterns, etc.Type: ImprovementRequest for or addition/enhancement of a featureRequest for or addition/enhancement of a feature