Commit Graph

4 Commits

Author SHA1 Message Date
Jeff Emmett 28922da39f feat: typed ports, flow bridging, governance gates & data transforms
Unify arrow data pipes, LayerFlows, and governance shapes into a
coherent workflow substrate for collaborative rApp pipelines.

- Module-specific typed ports for 10 rApp modules (rcal, rtasks, etc.)
- Port picker UI when connecting shapes with port descriptors
- Flow-typed arrow coloring (economic=green, governance=purple, etc.)
- Arrow ↔ LayerFlow bridge: auto-create/remove Automerge flows
- Governance gates: vote/choice shapes can gate arrow data flow
- Safe data transforms on arrows (filter, map, pick, count, first, last)
- Transform editor UI (double-click or right-click pipe arrows)
- folk-feed auto-creation when dragging arrow to empty canvas

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 23:34:45 -07:00
Jeff Emmett c4717e3c68 feat: auth-fetch, shape registry, and data pipes (TASK-13, TASK-41, TASK-42)
TASK-13: rApp frontends now inject EncryptID bearer tokens via authFetch()
and gate mutations behind requireAuth() — rvote, rfiles, rmaps all protected.
Demo mode unaffected.

TASK-41: Dynamic shape registry replaces 300-line switch in canvas.html and
165-line if-chain in community-sync.ts. All 41 shape classes now co-locate
fromData()/applyData() with their existing toJSON(), making shape creation
and sync fully data-driven.

TASK-42: Data pipes between shapes via typed ports. Shapes declare
input/output PortDescriptors, arrows connect ports with type checking,
100ms debounce, and color tinting. AI shapes (prompt, image-gen, video-gen,
transcription) have initial port descriptors.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 15:59:51 -07:00
Jeff Emmett 981acc5b59 feat(canvas): arrow tool button + 4 arrow style variants
Add arrow button to bottom toolbar with style submenu (smooth, straight,
curved, sketchy). Click toggles connect mode, long-press/right-click opens
style picker. Styles persist via localStorage and sync data.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 22:18:26 -07:00
Jeff Emmett f3e18b6124 Add FolkArrow component for shape connections
- Implement folk-arrow web component using perfect-arrows
- Curved bezier arrows with perfect-freehand stroke styling
- Dynamic position tracking via requestAnimationFrame
- Connection mode: click source then target to create arrow
- Sync arrow properties (sourceId, targetId, color) via Automerge

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-01 23:13:25 +01:00