This is an improvement I'd like to make to the ProjectDB after v1.0.0 of the rewrite. The current design stores all project data aside from buffers in one file. This makes loading and saving progressively slower when more maps are imported. Even if you're only opening or editing one of them. To fix this each map should have their own file so it only loads the data that is needed.
This introduces some issues like how to handle data shared between maps. Perhaps store a list of referenced objects and load them when a map is loaded, or create stub objects in memory that can be loaded on request. I'd like to avoid the latter since we'd have to add a bunch of stub checks to the code instead of just assuming that all EditorObject fields are valid.
This is an improvement I'd like to make to the ProjectDB after v1.0.0 of the rewrite. The current design stores all project data aside from buffers in one file. This makes loading and saving progressively slower when more maps are imported. Even if you're only opening or editing one of them. To fix this each map should have their own file so it only loads the data that is needed.
This introduces some issues like how to handle data shared between maps. Perhaps store a list of referenced objects and load them when a map is loaded, or create stub objects in memory that can be loaded on request. I'd like to avoid the latter since we'd have to add a bunch of stub checks to the code instead of just assuming that all
EditorObject
fields are valid.