Commit Graph

6 Commits

Author SHA1 Message Date
Jeff Emmett 1dcc3ff0a1 Fix SVG dataset crash and 403 on intent API
- Remove `dataset = {}` assignment on SVG circle element (read-only
  property on SVGElement, causes TypeError crash on every render)
- Add authHeaders() helper using encryptid-token from localStorage
- Include Authorization header on all mutating intent API calls
  (create, solver/run, accept, reject)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 23:17:14 -07:00
Jeff Emmett 2907935c50 fix(rtime): use getApiBase() for subdomain-compatible URL routing
Replace all hardcoded /${space}/rtime paths with getApiBase() which
derives the correct API base from window.location.pathname. This
supports both subdomain routing (demo.rspace.online/rtime) and
path-based fallback (/demo/rtime).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 22:46:33 -07:00
Jeff Emmett 08cae267fe feat(rtime): add intent-routed resource-backed commitments
Integrate Anoma-style intent routing into rTime so that commitments
become resource-backed intents that a solver can compose into multi-party
collaboration recommendations.

New modules:
- schemas-intent.ts: Intent, SolverResult, SkillCurve, Reputation types + 4 CRDT doc schemas
- solver.ts: Mycelium Clustering algorithm (bipartite graph matching, VP filtering, scoring)
- settlement.ts: Atomic settlement via saga pattern with escrow confirm/rollback
- skill-curve.ts: Per-skill bonding curve (demand/supply pricing)
- reputation.ts: Per-skill reputation scoring with time-based decay
- intent-routes.ts: 10 Hono API routes (intent CRUD, solver, settlement, curves, reputation)

Modified:
- schemas.ts: Added intentId/status fields to Commitment
- mod.ts: Registered 4 new docSchemas, mounted intent routes, added Collaborate output path
- folk-timebank-app.ts: Added Collaborate tab with intent cards, solver results panel,
  accept/reject buttons, create intent modal, skill price display, and status rings on pool orbs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 22:36:06 -07:00
Jeff Emmett 2cbff8925d fix(layout): viewport-filling rApp layout — eliminate body scroll
Make #app a flex column with height:100vh so all rApps fill the viewport
exactly. Wrap module body in .rapp-content flex child. Replace all
hardcoded calc(100vh - Npx) with height:100% across 20+ components.
Remove sticky positioning from subnav/tabbar (now flex items).
Generalize mobile body-flex to all pages (not just canvas-layout).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 10:57:09 -07:00
Jeff Emmett 81d8102f69 feat(tours): add guided tour links to 7 landing pages and startTour() to 5 components
Landing pages now consistently include "Start Guided Tour →" in the
hero CTA area. Components that already had internal tours (rbnb, rvnb,
rsplat) get a public startTour() wrapper; rtime and rmeets get full
TourEngine integration with contextual steps.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-31 09:33:11 -07:00
Jeff Emmett b5c6477f47 feat(rtime): add timebank commitment pool & weaving dashboard rApp
Port hcc-mem-staging SPA into rSpace as the rTime module. Canvas-based
commitment pool with physics orbs, SVG weaving editor with hex nodes
and bezier wires, execution panel, and optional Cyclos timebank proxy.
Automerge CRDT persistence, demo seeding, and full landing page
explaining community-based ledgers and emergent collaboration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 23:42:49 -07:00