Kompakkt / Viewer

Kompakkt - the web based 3D viewer and 3D annotation system.
https://kompakkt.de
GNU Affero General Public License v3.0
17 stars 2 forks source link

Refactor service data flow (updated) #41

Closed HeyItsBATMAN closed 1 year ago

HeyItsBATMAN commented 1 year ago

Note: https://github.com/Kompakkt/Viewer/pull/40 was merged too early and reverted. This is the correct version.

What?

This PR is an attempt to clean up big services, mainly the ProcessingService and switch their most accessed variables to RxJS Subjects & *Observable`s.

This includes:

Ideally, this should work as a drop-in replacement.

Why was this done?

Even as one of the core developers, it was not always easy to understand or debug how the data flows from services to components in the Viewer, or how components modified service data. This slows down feature development and blocks-off potential new developers.