From 4d8f7a559c92c7f93652296dca33d4df520c7e9e Mon Sep 17 00:00:00 2001
From: Xiao Gui <xgui3783@gmail.com>
Date: Thu, 29 Jun 2023 13:02:02 +0200
Subject: [PATCH] fix: big brain rubber banding position maint: added css to
 vanilla.html

---
 angular.json                                             | 8 +++++++-
 .../nehuba/nehubaViewer/nehubaViewer.component.ts        | 9 ++++++++-
 third_party/vanilla.html                                 | 1 +
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/angular.json b/angular.json
index dcbadb491..46d2ba128 100644
--- a/angular.json
+++ b/angular.json
@@ -34,7 +34,13 @@
             "styles": [
               "src/theme.scss",
               "src/overwrite.scss",
-              "src/extra_styles.css"
+              "src/extra_styles.css",
+
+              {
+                "input": "export-nehuba/dist/min/main.css",
+                "inject": false,
+                "bundleName": "vanillaMain"
+              }
             ],
             "scripts": [{
               "input": "worker/worker.js",
diff --git a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts
index 017187edb..0bee1941f 100644
--- a/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts
+++ b/src/viewerModule/nehuba/nehubaViewer/nehubaViewer.component.ts
@@ -505,7 +505,6 @@ export class NehubaViewerUnit implements OnDestroy {
           ...rest,
           ...(transform ? { transform } : {})
         }
-        console.log(combined)
         viewer.layerManager.addManagedLayer(
           viewer.layerSpecification.getLayer(key, combined))
 
@@ -820,7 +819,14 @@ export class NehubaViewerUnit implements OnDestroy {
        */
     }
 
+    /**
+     * n.b. 2
+     * updating layer colormap seems to also mess up the position ()
+     */
+
     const layersManager = this.nehubaViewer.ngviewer.state.children.get("layers")
+    const position = this.nehubaViewer.ngviewer.state.children.get("position")
+    const prevPos = position.toJSON()
     const layerJson = layersManager.toJSON()
     for (const layer of layerJson) {
       if (layer.name in mainDict) {
@@ -828,6 +834,7 @@ export class NehubaViewerUnit implements OnDestroy {
       }
     }
     layersManager.restoreState(layerJson)
+    position.restoreState(prevPos)
     this.#triggerMeshLoad$.next(null)
   }
 }
diff --git a/third_party/vanilla.html b/third_party/vanilla.html
index be223e1e3..5513962d4 100644
--- a/third_party/vanilla.html
+++ b/third_party/vanilla.html
@@ -9,6 +9,7 @@
   <script src="main.bundle.js"></script>
   <link rel="stylesheet" href="vanilla_styles.css">
   <link rel="stylesheet" href="main.css">
+  <link rel="stylesheet" href="vanillaMain.css">
 </head>
 <body>
   <div id="neuroglancer-container"></div>
-- 
GitLab