| … | … | @@ -25,9 +25,12 @@ claim to the user (hyper-games #63 Part 3). Re-run, do not quote. |
| 25 | 25 | 3. Rebuild C++ AFTER the bump — **all three targets**, see Build |
| 26 | 26 | 4. .so is **symlinked** to hyper-tps (no copy needed) |
| 27 | 27 | |
| 28 | | **Current version: 0.81.0** (branch: `sdf-volume-bridge`, **52 commits |
| 29 | | unpushed** to `bare` as of 2026-09-05; proc-nodes carries 40 of its own on |
| 30 | | `heightmap-erosion-toggle`) |
| 28 | **Current version: 0.102.0** (branch: `sdf-volume-bridge`, **0 commits |
| 29 | unpushed** to `bare` as of 2026-09-06; proc-nodes likewise 0 on |
| 30 | `heightmap-erosion-toggle`). ⚠ `bare` is a LOCAL bare repo under |
| 31 | `/home/fleeky/git-repos/` — "pushed to bare" is still one disk, and |
| 32 | blender-bridge has no `pear` remote at all. Never read a push state off a |
| 33 | post-mortem; run `git log --oneline <remote>/<branch>..HEAD`. |
| 31 | 34 | |
| 32 | 35 | ## Where things are |
| 33 | 36 | |
| … | … | @@ -706,6 +709,16 @@ reach fingertips (Z already aligns with chain). Works for all leaf bones (breast |
| 706 | 709 | `GODOT_BIN = "godot4"`, which on PATH is **stock 4.6.stable**, while every |
| 707 | 710 | other cross-engine test uses the 4.7.beta custom build; forcing 4.7 with a |
| 708 | 711 | PATH shim changed which tests failed, not the count. Undiagnosed. |
| 712 | - **The Godot -> Blender parameter channel is fixed as of v0.102.0** |
| 713 | (`test_transform_roundtrip.py` **37/37**, hyper-games #67 item 2). It was dead |
| 714 | for every BLENDER-authored graph, three ways: `_connect_proc_graph_signal` was |
| 715 | reachable only from the "Godot sends a snapshot" branch inside the change-PUSH |
| 716 | loop, so nothing was ever tracked (measured: 4 trees imported, 0 snapshots |
| 717 | sent, 0 nodes tracked); a single `_tracked_proc_node_id` meant N-1 of N queues |
| 718 | were drained by nobody; and `change_detector` never stored the graph JSON it |
| 719 | SENT, which is the `node_idx` -> node map both directions read. ⛔ Still there |
| 720 | and untested: `_apply_param_from_godot` matches the target node **by TYPE, |
| 721 | first match wins** — two Math nodes in a tree and it writes the wrong one. |
| 709 | 722 | - **`test/test_ptex_converter.py` SKIPS** — it imports `pytest`, which Blender's |
| 710 | 723 | bundled Python does not have. It is not passing; it is not running. |
| 711 | 724 | - No known numerical gap in the terrain path as of v0.80.0: measured |
| … | … | @@ -738,6 +751,17 @@ $BL --background --factory-startup --python test/test_rotation_matrix_parity.py |
| 738 | 751 | for f in test/test_*.py; do $BL --background --factory-startup --python $f; done |
| 739 | 752 | ``` |
| 740 | 753 | |
| 754 | ⚠ **Re-measured 2026-09-06 on v0.102.0: 62 files now, 0 failures beyond the two |
| 755 | known ones** (`blender_godot_bridge` red/flaky, `ptex_converter` skipping). The |
| 756 | per-file table below is the 2026-09-05 sweep and its counts have moved. ⛔ Two |
| 757 | suites had stopped RUNNING rather than failing between those dates — |
| 758 | `test_material_{serializer,integration}.py` aborted at import because their mocks |
| 759 | model `node.inputs` as a bare list while `_serialize_volume` calls |
| 760 | `inputs.get()`, which is correct against Blender. **An aborted file has no FAIL |
| 761 | line, so nothing reported it**; fixed in the mocks, restored to 41/41 and 14/14. |
| 762 | ⚠ A backgrounded 62-file sweep was killed at file 19 — run foreground chunks of |
| 763 | ~10, and never measure across a mid-run rebuild. |
| 764 | |
| 741 | 765 | **Measured 2026-09-05 by running all 54 `test_*.py`:** |
| 742 | 766 | |
| 743 | 767 | | | | |