Consume OpenApparatus.IO; freeze desktop pending web-port parity#16
Closed
SilicoBen wants to merge 2 commits into
Closed
Consume OpenApparatus.IO; freeze desktop pending web-port parity#16SilicoBen wants to merge 2 commits into
SilicoBen wants to merge 2 commits into
Conversation
- Adds ProjectReference to OpenApparatus.IO and a one-file GlobalUsings.cs that brings IO + IO.Exporters into scope, avoiding per-file using updates across 120+ callsites. - Removes the local copies of ObjExporter, GltfExporter, JsonExporter, ProjectIO, PlacementConstraints, RoomObject — they now live in the shared OpenApparatus.IO library. - ProjectIO is no longer VM-coupled. The Save/Load pair now takes / returns a ProjectFile data object; the VM gains a ToProjectFile() instance method (mirror of the deleted ProjectFile.From(vm) static) to bridge its observable-property state into the data shape, and the existing RestoreFromProjectFile() is the load-side adapter. - README gets a maintenance-freeze banner pointing readers and contributors at the in-development browser replacement at OpenApparatus/openapparatus-studio-web. Only critical bug fixes during the port; feature ideas land as issues against the web app. Net delta: -1,609 lines (1,716 deleted, 107 added). Studio still builds clean and behaves identically.
Contributor
Author
|
Superseded by #19, which delivers the same OpenApparatus.IO consumption without the maintenance-freeze README addition (the web-app replacement plan was dropped; Studio remains the primary client). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Companion PR to
OpenApparatus/core#1(already merged): the file-format and exporter code now lives in the sharedOpenApparatus.IOlibrary, so this repo deletes its local copies and consumes them viaProjectReference.Also adds a maintenance-freeze banner to the README — a browser-based replacement is in development and will become the primary client; only critical bug fixes here in the meantime.
What changed
ProjectReference→OpenApparatus.IOadded to the csproj.GlobalUsings.csbringsOpenApparatus.IOandOpenApparatus.IO.Exportersinto scope across the assembly. Avoids touching 120+ callsites'usingblocks one by one.ObjExporter,GltfExporter,JsonExporter,ProjectIO,PlacementConstraints,RoomObject.ProjectIOis no longer VM-coupled. The newProjectIO.Save(path, ProjectFile)/Load(path) → ProjectFileare pure data ops; the VM gains aToProjectFile()instance method (extracted from the deletedProjectFile.From(vm)static) to bridge its observable-property state into the data shape. The existingRestoreFromProjectFile()is the load-side adapter.Views/andViewModels/updated to drop theOpenApparatus.Studio.Services./OpenApparatus.Studio.ViewModels.prefix on the moved types.Net delta: −1,609 lines (1,716 deleted, 107 added).
Maintenance freeze
The README now carries a banner directing contributors to the web port. New features land there from now on; only critical bug fixes get merged here. The desktop repo will be archived once the web port reaches parity.
Test plan
dotnet buildclean.oappfile format, same VM API)