|
1 | 1 | --- |
2 | | -status: Draft |
| 2 | +status: Proposed |
3 | 3 | date: 2026-04-20 |
| 4 | +updated: 2026-04-20 |
4 | 5 | deciders: |
5 | 6 | - aaronsb |
6 | 7 | - claude |
@@ -454,14 +455,32 @@ The spike lives in `spike/unified-3d/` on this branch. It consists of: |
454 | 455 | The reference UI's vite dev server and the spike server both run cleanly and |
455 | 456 | serve kg data through the atlassian-graph pipeline end-to-end. At the time of |
456 | 457 | the spike the local kg instance held 52 concepts and 76 relationships. |
457 | | -Headless verification passed (both servers respond 200 for all endpoints the |
458 | | -UI hits; data round-trips intact with 8 source-document buckets mapped into |
459 | | -the palette's 16 category slots, and 30 distinct relationship types preserved |
460 | | -on the edge records). |
461 | 458 |
|
462 | | -Final visual verification is pending a browser session against |
463 | | -`http://localhost:5173`. The spike stays in-tree as a reference implementation |
464 | | -for phase 1 implementation work. |
| 459 | +**Headless verification — passed.** Both servers respond 200 for all |
| 460 | +endpoints the UI hits; data round-trips intact with 8 source-document |
| 461 | +buckets mapped into the palette's 16 category slots, and 30 distinct |
| 462 | +relationship types preserved on the edge records. |
| 463 | + |
| 464 | +**Visual verification — passed (2026-04-20 live session).** Browser session |
| 465 | +against `http://localhost:5173` confirmed: |
| 466 | + |
| 467 | +- `GPU` capability badge lit — `GPUComputationRenderer` + WebGL2 + float |
| 468 | + render-target path selected on target hardware. GPU physics works. |
| 469 | +- Force simulation settled into a coherent topology with visible high-degree |
| 470 | + hubs (e.g. "Session Narrative System", degree 19). |
| 471 | +- Sprite screen-space selection caret (four corner brackets + center ring |
| 472 | + rendered via `<Html center>` at a world position, constant pixel size |
| 473 | + regardless of camera distance) rendered exactly as specified — confirming |
| 474 | + the `CaretMarker` pattern for phase 1. |
| 475 | +- Per-instance category colors applied correctly across the 8 buckets; |
| 476 | + palette ramp selector (8-bit VGA, Rainbow, Viridis, Magma, Plasma, Inferno, |
| 477 | + Turbo, Hot, Metal, Cool) all functional. |
| 478 | +- Sidebar correctly rendered selected-node detail with the three outgoing |
| 479 | + relationship types (`EVOLVES_INTO`, `INFLUENCES`, `FOCUSES_ON`) as |
| 480 | + collapsed detail rows — confirms edge-type metadata survives to the |
| 481 | + detail surface. |
| 482 | + |
| 483 | +The spike stays in-tree as a reference implementation for phase-1 work. |
465 | 484 |
|
466 | 485 | #### Findings — shape compatibility (positive) |
467 | 486 |
|
@@ -517,6 +536,13 @@ for phase 1 implementation work. |
517 | 536 | should be run before phase 1 PR merges to confirm the performance target |
518 | 537 | on kg-shaped data at volume. |
519 | 538 |
|
| 539 | +6. **Hover label shows raw concept ID.** Live observation: hovering a node |
| 540 | + surfaced `sha256:e5779_chunk1_fab33936` instead of the human-readable |
| 541 | + `label` field. This is the exact symptom of finding #3 — the reference |
| 542 | + engine uses `name` as both key and display value. kg's engine must |
| 543 | + accept `label` separately and thread it through to the `<Html>` overlay |
| 544 | + text. A single-field addition, zero architectural impact. |
| 545 | + |
520 | 546 | #### Changes to the ADR driven by the spike |
521 | 547 |
|
522 | 548 | The four "engine revisions" above (edge category coloring, directed arrows, |
|
0 commit comments