Skip to content

Commit c581b44

Browse files
Last answer
1 parent b89d0fd commit c581b44

1 file changed

Lines changed: 9 additions & 30 deletions

File tree

last_res

Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,9 @@
1-
The PCoA path is now wired end to end.
2-
What changed:
3-
Added backend route: [server_app.py](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/server_app.py)POST /compute/pcoa
4-
rebuilds the selected-node count matrix on the backend
5-
calls build_count_matrix_pcoa_spec(...)
6-
7-
Added UI controls: [index.html](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/index.html)PCoA button
8-
metric selector with:Jaccard
9-
Bray-Curtis
10-
Log-chord
11-
Chao
12-
13-
14-
Wired popup rendering: [graphengine.js](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/graphengine.js)fetches POST /compute/pcoa
15-
opens a Plotly scatter popup
16-
labels axes with explained variance
17-
shows correction status in the plot header
18-
hides PCoA when count view is Direct + Cumulative
19-
hides PCoA controls for rank reports and plain top-table mode
20-
21-
Updated progress tracker: [todo.txt](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/unicorn_compute/todo.txt)
22-
Checks I ran:
23-
Python import check for [pcoa.py](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/unicorn_compute/pcoa.py)
24-
py_compile on [server_app.py](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/server_app.py)
25-
JS parse check on [graphengine.js](/home/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/graphengine.js)
26-
What to do before trying it:
27-
Restart the backend server so POST /compute/pcoa is live.
28-
Hard refresh the app so the new PCoA button and metric selector appear.
29-
Open a count matrix, choose Direct or Cumulative, pick a metric, and click PCoA.
30-
If you want, next we can tune the popup aesthetics or add sample-group overlays once you’ve had a first spin.
1+
Pass 8B is done.
2+
graphengine.js is now a tiny compatibility shim with no semantic ownership. The last meaningful leftovers were moved where they belong:
3+
toggleCollapse() moved into [graphengine_selection.js](/Users/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/graphengine_selection.js)
4+
setStatus(), addClientLog(), clearClientLog(), and renderClientLog() moved into [graphengine_ui.js](/Users/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/graphengine_ui.js)
5+
I also made the script order in [index.html](/Users/jregalado/Projects/GeoGenetics/unicorn/src/libunicorn/graphengine/index.html) more explicit while keeping the current dependency-safe order, and preserved the compatibility globals that tests and DevTools still use.
6+
Regression is green:
7+
./tests/run_tests.sh
8+
5 passed in 40.06s
9+
I didn’t do the extra manual DevTools/fresh-reload check in this pass. The next step is Pass 8C: Remove or freeze graphengine.js.

0 commit comments

Comments
 (0)