Commit Graph

8 Commits

Author SHA1 Message Date
Jeff Emmett d3e65a0522 feat(canvas): shared CanvasInteractionController for rApp mini-canvases
CI/CD / deploy (push) Successful in 3m38s Details
Extract the rSpace main canvas wheel + touch interaction model into a
single shared controller (shared/canvas-interaction.ts). Wheel defaults
to pan, Ctrl/Cmd+wheel or trackpad pinch (ctrlKey) zooms at cursor,
two-finger touch pans + pinch-zooms at gesture center.

Migrate 8 rApp mini-canvases to use it, replacing 8 slightly-different
hand-rolled wheel handlers:
- rsocials campaign-planner (the bug report — was zoom-only)
- rsocials campaign-workflow
- rminders automation canvas (was zoom-only)
- rtime timebank weave
- rflows canvas
- rgov circuit
- rnetwork CRM graph (was zoom-only)
- lib/applet-circuit-canvas (was zoom-only)

Fixes the "wheel = zoom" regression everywhere and gives each rApp
canvas two-finger touch pan + pinch for free. Pointer-based pan and
marquee selection remain per-rApp because they depend on per-rApp
hit-testing. Bump asset cache versions for all affected routes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 15:07:32 -04:00
Jeff Emmett aca0e6b353 feat(rsocials): connect drafted threads to campaign flows via picker dropdowns
Replace manual thread ID entry with select dropdowns in both campaign planner
and workflow components. Server-side publish-thread handler now resolves
linked threadId from Automerge doc when inline content is empty.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-21 14:13:31 -07:00
Jeff Emmett 8bd6e61ffc feat(rsocials): add campaigns dashboard with workflow thumbnail grid
New gallery landing page at /campaigns showing all campaign workflows as
cards with miniature SVG previews. Click a card to open the editor at
?workflow=<id>. Editor gains back-link to dashboard and workflow attribute
for deep-linking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 10:47:03 -07:00
Jeff Emmett a658b20fb1 feat(rsocials): thread editor link from campaign publish-thread nodes
- Add threadId config field to publish-thread nodes
- Add "Create Thread" / "Edit Thread" button in config panel
- Opens thread editor in new tab (new or edit by ID)
- Styled button matching indigo accent theme

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:34:34 -07:00
Jeff Emmett c0de770e70 fix(rsocials): two-finger trackpad pans, pinch/ctrl+scroll zooms
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:28:19 -07:00
Jeff Emmett 456d0de9c1 fix(rsocials): proper canvas sizing, SVG zoom icons, category-styled nodes
- Fix height to account for shell header (92px not 60px)
- Add min-height:0 on flex children to prevent overflow
- Replace text zoom buttons with SVG icons matching rFlows pattern
- Add fit-to-view icon (corner brackets) with separators
- Add category class per node (trigger/delay/condition/action)
  with tinted backgrounds and category badge chips
- Add keyboard shortcuts: F=fit, +/-=zoom

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:20:01 -07:00
Jeff Emmett 78284e448c fix(rsocials): remove duplicate port labels in campaign workflow nodes
SVG text labels were rendering alongside HTML span labels, causing
each input/output name to appear twice on drag & drop nodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 00:07:42 -07:00
Jeff Emmett 347ba73942 feat(rsocials): replace campaign planner with n8n-style workflow builder
Add folk-campaign-workflow component with SVG canvas, node palette (12 nodes
across 4 categories: triggers, delays, conditions, actions), Bezier wiring,
config panel, drag-and-drop, pan/zoom, and REST auto-save. Includes 7 API
endpoints for CRUD + stub execution, SocialsDoc v3 migration, demo workflow
seeding, and local-first client methods.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 21:29:09 -07:00