---
id: TASK-30
title: Port folk-holon shape (H3 geospatial hex hierarchy)
status: Done
assignee: []
created_date: '2026-02-18 19:50'
updated_date: '2026-03-12 05:54'
labels:
  - shape-port
  - phase-3
  - data-integration
milestone: m-0
dependencies:
  - TASK-24
  - TASK-25
references:
  - canvas-website/src/shapes/HolonShapeUtil.tsx
priority: medium
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Port HolonShapeUtil from canvas-website to rspace-online.

Source: canvas-website/src/shapes/HolonShapeUtil.tsx (1,216 lines)
Target: rspace-online/lib/folk-holon.ts

Features to implement:
- H3 geospatial hexagonal hierarchy visualization
- HoloSphere network connection (real-time)
- Multi-lens data viewing (switch between data perspectives)
- In-place editing with auto-resize
- Location props: latitude, longitude, resolution
- Content props: name, description, holonId
- State: isConnected, isEditing, selectedLens, data, connections

Dependencies: h3-js (TASK-24), /api/holon/* endpoints (TASK-25)
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 H3 hex hierarchy renders correctly
- [ ] #2 HoloSphere network connection works
- [ ] #3 Multi-lens data switching functional
- [ ] #4 Geospatial props sync across clients
- [ ] #5 Toolbar button added to canvas.html
<!-- AC:END -->

## Implementation Notes

<!-- SECTION:NOTES:BEGIN -->
Completed 2026-03-11. Ported as folk-holon.ts (718 lines) + holon-service.ts (263 lines) with Automerge-backed CRDT storage replacing dead HoloSphere/GunDB stub. Commit 21b31c4 on dev.
<!-- SECTION:NOTES:END -->
