Skip to content

feat(embeddings): point size mapping and convex hulls for t-SNE#356

Merged
aaronsb merged 4 commits intomainfrom
feature/tsne-size-and-hulls
Mar 3, 2026
Merged

feat(embeddings): point size mapping and convex hulls for t-SNE#356
aaronsb merged 4 commits intomainfrom
feature/tsne-size-and-hulls

Conversation

@aaronsb
Copy link
Owner

@aaronsb aaronsb commented Mar 3, 2026

Summary

  • Add configurable point size mapping (uniform, grounding, diversity, degree) with a dropdown in the legend area
  • Add convex hull visualization around clusters or ontologies using Three.js ConvexGeometry
  • Add degree (edge count) to projection API via bulk Cypher query
  • Fix font scaling across 25+ components to use rem units instead of hardcoded px

Test plan

  • Load Embedding Landscape, toggle Point Size dropdown between all four modes — degree shows clear size variation (0–128 range)
  • Enable "Show hulls" with Clusters and Ontologies grouping — transparent volumes render correctly
  • Switching size metric preserves camera position
  • Grounding color mode + hulls shows emergent epistemic clustering

aaronsb added 4 commits March 2, 2026 23:22
Replace text-[Npx] with text-xs/text-sm across 25+ components so the
global --font-scale CSS variable actually controls sizing.
…catter

Point sizing: dropdown to map uniform, grounding, diversity, or degree
(edge count) to sprite size. Degree computed via bulk Cypher query in
the projection service. Regeneration now requests diversity + degree.

Convex hulls: toggle transparent 3D hulls around clusters or ontologies
using Three.js ConvexGeometry with filled mesh + wireframe overlay.
Previous range (3-8) was too subtle. Now 2-16 with sqrt scaling on
degree so mid-range values are clearly distinguishable.
…a on size change

The degree query used a non-existent _set_age_path method — now uses
the proper _execute_cypher API. Switching size metric updates the size
buffer in-place without rebuilding geometry or resetting camera.
@aaronsb aaronsb merged commit 1ad4005 into main Mar 3, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant