Lumanaire R&DBig Mac2026-07-22For Jarryd — internal, nothing to Phil except through you

YachtSoft Next-Gen
Research report & build plan

"I want to rebuild Rhino 8 and the entire YachtSoft offering for Phil — deep research needed — and then we need to build the next gen tech for this use case." — Jarryd, 2026-07-22

Method: a 104-agent deep-research workflow — 5 search angles, 15 primary sources fetched, every claim attacked by 3 independent refutation votes (≥2/3 kills it) — plus 4 targeted gap-fill research agents (naval-arch computation, competitors, legal, AI landscape) and the YachtSoft module map from the site rebuild. ~6.3M research tokens. Full cited version lives in the vault: wiki/projects/yachtsoft-nextgen.md.

The verdict

Don't rebuild Rhino. Out-position it.

  1. Now — 2 weeks. Browser-native parametric hull demo: fairing viewport, live hydrostatics, and a .3dm export that opens in Phil's own Rhino. Zero licence cost, zero Rhino dependency. This is the pitch. Shipped same evening — live at yachtsoft.lumanaire.co.za/labs/hull, including the .3dm export (round-trip verified, opens in Rhino 8).
  2. Next — 3–6 months. YachtSoft Cloud (Horizon B): a web app driving Phil's existing Grasshopper IP through self-hosted Rhino.Compute at $0.10/core-hour — McNeel's own sanctioned product for exactly this, proven at scale by ShapeDiver. ~100% IP carry-over, no kernel R&D.
  3. Later — 12–24 months, optional. Full Rhino independence (Horizon C) by swapping the kernel behind the same web UI — OCCT + the Apache-2.0 Gordon-surface layer, or a Parasolid licence. The web client, computation layer and AI layer all survive the swap.

The kernel is not the moat. The moat is Phil's 45 years of naval-architecture logic turned into a computation layer we own, plus an AI-native design surface nobody in marine CAD has. Rhino is a commodity underneath it — rented today, replaceable tomorrow.

§1 · The dependency, decomposedWhat Rhino actually supplies — and what each layer costs to replace

LayerRole for YachtSoftReplacement
NURBS kernelGeometry engine under every moduleHardest. OCCT + occ_gordon (open), Parasolid (proven, price undisclosed), from-scratch (Zoo: ~2 yrs, <30 engineers, ~$10.1M — out of reach). Rent first, swap later.
Grasshopper runtimeWhere Phil's parametric IP livesDon't rebuild it — run it server-side (Compute, 100% carry-over) or port the specific definitions to owned code per module.
Viewport / render3D display, curvature analysisThin web client (WebGL) — verified as how production web CAD works. Kernel-agnostic; build once, keep forever.
.3dm formatNative format, user interopAlready free — openNURBS/rhino3dm is MIT ("commercial use is encouraged"). Solved on day 1.
Ecosystem / install basefood4Rhino distribution, ~1M-user communityReplaced by the web itself — no Rhino licence prerequisite for customers = larger addressable market.

§2 · Horizon B economicsRhino.Compute: verified numbers

$0.10
per core per hour, pro-rated per minute — price-stable 2019 → 2026
~$16/mo
Rhino cost for a heavy user (40 h active 4-core solving) vs a $99–299 subscription
$288/mo
a 4-core server left running 24/7 — billing is uptime, not usage: must scale to zero
30–60 s
Rhino cold start after idle shutdown (stock idlespans mechanism) — mask it in UX

§3 · PrecedentsHow production web CAD is actually built

Server-side geometry + thin client is the dominant architecture. No production browser-side WASM kernel was verified anywhere. The web UI we build is therefore reusable across kernel eras:

§4 · Horizon C kernelsThe independence options, ranked

§5 · The computation layerWhat we can reuse vs what is Phil's moat

Reuse tierComponentsLicence
Embed freelyopenplaning (Savitsky planing solver, SNAME-papered) · trimesh (mesh volume/CoM/clip — the hydrostatics foundation) · pyHoltrop · Vessel.js (NTNU, the only web-native hydrostatics) · HAMS (the only permissive BEM)MIT / Apache-2.0
With careFreeCAD Ship workbench (hydrostatics, GZ, Holtrop — closest OSS analogue to HullZero+Pro)LGPL
Reference onlymeshmagick · Capytaine (NREL-funded BEM) · NEMOH · OpenFOAMGPL
Blocked for SaaSnavaltoolbox-lib (feature-perfect shape, AGPL)AGPL
Spec-onlyORC VPP public physics documentation · ICOMIA simplified scantlingsdocs public

The emptiest quadrant is the moat: there are zero open-source ISO 12215-5 or ISO 12217 implementations anywhere. The incumbents are Windows desktop tools — Wolfson HullScant at £1,610 for the first module, HST stability suite £1,435–£2,870, SCT MC needing MS Word/Excel for reports. A web-native compliance engine built from the standards' formulas with Phil's validation judgment would be the only one on the market.

Module read-out: HullZero/Pro physics = textbook mesh-integration math, fully ownable (the prototype implements it). Performance = openplaning drop-in for Savitsky + reimplemented Holtrop/Delft-series regressions from open literature. Pro's value is Phil's material libraries and workflow, not the integrals. What can't be downloaded anywhere: Phil's calibration of these methods against 100+ real designs.

§6 · MarketCompetitive landscape & the cloud whitespace

No commercial browser-based hull-design or hydrostatics product exists. The only browser tool found is a free single-author hobbyist app (BoatCAD). NAPA's web offering is a viewer. Maxsurf's "cloud" is a billing model (min $5,000 prepaid). ShapeDiver is generic infrastructure with no marine product — searching it surfaces yachtsoft.app itself. Every rung of the ladder is open:

ProductPrice (seen 2026-07-22)PlatformCloud?
FreeShip / PolyCAD / DELFTship Free$0DesktopNo
DELFTship Professional€160 onceDesktopNo
Orca3D v3 — Design or Analysis$500/yrRhino pluginNo
Orca3D v3 — Advanced Stability$3,500/yrRhino pluginNo
ExpressMarine (ship structure)€95–9,000Rhino pluginNo
Maxsurf (Bentley)quote-onlyDesktopBilling only
CAESESquote-onlyDesktopNo
NAPA / AVEVA / SSIenterpriseDesktopViewer only
YachtSoft today$0 / 99 / 199 / 299 per moRhino plugin← the opportunity

Rhino's community is marketed at 1M+ users (~350k in 2016 → ~450k in 2019), with marine a named McNeel vertical — that's Horizon A's ceiling, gated by plugin discovery. Horizon B/C's ceiling is every designer with a browser, including students and small yards priced out of $3,500/yr stability modules. RINA alone counts 10,000+ professional naval architects.

§7 · DifferentiatorThe AI-native layer nobody in marine CAD has

Nobody ships AI-native hull design. Incumbent CAD AI is assistants (Onshape AI Advisor, NX Design Copilot) or narrow features (Fusion Automated Modeling); generative B-rep-from-prompt is roadmap (Autodesk "Neural CAD") or simple-parts-only (Zoo, Adam — useless for hull fairing today). But every enabling piece is proven separately:

The open lane: principal particulars + service profile → feasible starting hulls; instant surrogate feedback while dragging sliders; a copilot grounded in Phil's design rules. No vendor combines them — and the AI is only as credible as the validation layer under it, which is exactly what Phil owns.

§8 · GuardrailsLegal & commercial: sanctioned, with hard lines

Horizon B is explicitly sanctioned, not a grey zone. McNeel staff frame core-hour billing as a separate product for server scenarios ("Can be considered a completely different product"); the production deploy guide documents commercial setup; ShapeDiver is the at-scale precedent. The rate has held at $0.10/core-hour across 2019→2026 docs — but there's no published rate guarantee or volume tier: get written enterprise terms from McNeel before GA.

§9 · DecisionThree horizons, compared

A — Stay Rhino pluginsB — YachtSoft Cloud (Compute)C — Fully independent
TimeShipping nowPrototype 2 wks · MVP 3–6 mo12–24 mo from B, module-by-module
TeamPhil + current1–2 devs (Big Mac + fleet)2–4 devs incl. geometry specialist
Cash~$0Infra $50–150/mo pilot; Rhino ~$0.01–0.40 per active user-hourKernel $0 (OCCT route) or Parasolid fee; cost = engineering time
IP carry-over100%~100% — .gh runs as-is (pending headless audit)Algorithms carry as spec; re-implemented as owned code
RiskTAM capped; no web UX; no AI surfaceHeadless-compat unknown; McNeel terms; cold starts; DevOpsFairing quality bar unproven on occ_gordon; longest timeline
Buys usRevenue floor, credibilityNext-gen UX + AI + subscriptions without kernel R&D; everything reusable in CZero kernel rent, full margin, platform destiny
Kill criteriaAudit fails badly → port hull math to owned code earlierFairing benchmark fails → Parasolid, or stay on B

The horizons are a pipeline, not a fork. A keeps earning while B is built; B's client, computation layer, auth and AI surface all survive into C unchanged (Onshape and Zoo prove the client is kernel-agnostic). C proceeds module-by-module — hull generation first, analysis next (pure math, no kernel), production/CNC last — with Compute as the fallback kernel throughout.

§10 · RoadmapPhase 0 → 1 → 2 → 3

Phase 0 — Validate with Phil weeks 0–2, parallel

Gate: your go + Phil via Iain · cost ~$20–50 in VM + core-hours

Demo the prototype as the pitch centerpiece. Headless audit of 2–3 of Phil's real .gh definitions on a throwaway Windows VM (the Horizon-B gate). Moat-mapping session: which computations are commodity vs uniquely his. Commercial checks: McNeel written terms, Parasolid pricing inquiry. Deliverable: go/no-go on B with real numbers.

Phase 1 — The prototype ✓ Shipped 2026-07-22

Delivered same evening by the main YachtSoft session · cost: fleet time + $0 infra

Live: yachtsoft.lumanaire.co.za/labs/hull — own B-spline loft engine in lumanaire/yachtsoft (src/lib/hull/), round-bilge + hard-chine families, live hydrostatics, curvature combs, body plan/profile views, and .3dm export via self-hosted rhino3dm (prod round-trip verified; opens in Rhino 8 — the §11 punchline, delivered). Remaining from the spec (fold into Phase 2): Savitsky chart, trim-solver UI, GZ quick-curve. Zero Rhino dependency; it shows the experience Horizon B ships and the math Horizon C owns. Numbers are indicative and unvalidated — Phil is the validation oracle.

Phase 2 — YachtSoft Cloud MVP months 1–6 after go

1–2 devs · infra $100–500/mo pilot · targets: <2 s warm solve; core-hours <2% of revenue

Production Compute (scale-to-zero, warm pool), appserver bridge, Supabase projects/auth/entitlements, and the first two modules end-to-end: HullZero Cloud (free funnel) + Performance Cloud (first paid tier). The Phase-1 viewport becomes the product shell; Phil's definitions do the solving. Desktop suite untouched.

Phase 3 — Kernel independence months 6–24, optional but planned

Gate: occ_gordon curvature-comb benchmark vs Rhino on real yacht networks

Port hull generation to OCCT + occ_gordon; analysis modules are pure math — port freely. Compute stays the fallback until the last module swaps; Parasolid is the paid fallback if OCCT fairing disappoints. End state: zero per-seat kernel rent.

§11 · The buildPrototype spec — 2-week plan

Status update (same evening): this spec was executed same-day inside lumanaire/yachtsoft (route /labs/hull) rather than a separate repo — no yachtsoft-nextgen repo needed, do not rebuild. The spec stands as the plan of record for what remains and as the Phase-2 shell reference. Next real work is Phase 0: headless audit of Phil's .gh files, McNeel written terms, moat mapping — gated on you.

The demo promise: open a URL → drag Beam / LWL / deadrise / chine sliders → a fair planing hull morphs live with curvature combs → hydrostatics (∇, LCB, wetted surface, Cp, Cb, KMt) and a Savitsky resistance curve update in real time → click Export .3dm → the file opens in Phil's own Rhino 8. Sixty seconds, no install, no Rhino licence — "your workflow, without the workstation."

yachtsoft-nextgen/            (repo: lumanaire/yachtsoft-nextgen, commit as Lumanaire <hello@>)
├── apps/web/                 Next.js 16 demo shell (Phase 2: compute bridge joins here)
├── packages/hull-core/       params → stations/chine/sheer curves → B-spline loft → tessellation
├── packages/hydro/           hydrostatics (waterplane clip + integration), free-trim solver,
│                             Savitsky (own implementation, validated vs openplaning), GZ (stretch)
├── packages/viewport/        three.js: hull mesh, waterline, curvature combs, section overlays
├── packages/rhino-io/        rhino3dm.js (MIT): NurbsSurface build + .3dm write, client-side
└── spikes/compute-hello/     Phase-0: one public .gh solved via Rhino.Compute on a Windows VM

Week 1 — the hull and the numbers. Parameter schema + hard-chine planing family (d1–2) · B-spline loft + three.js viewport with waterline and section/buttock overlays (d3–4) · hydrostatics via mesh integration + free-float sink/trim solver + live panel at 60 fps (d5–7).

Week 2 — the wow and the ship. Curvature combs + Gaussian false-color (d8–9) · Savitsky module + resistance/trim chart (d10) · round-bilge displacement preset (d11) · .3dm export verified opening clean in Rhino 8 (d12) · brand polish, deploy to next.yachtsoft.lumanaire.co.za (noindex), 90-second walkthrough recording for you (d13–14).

Explicit non-goals: no accounts, no Compute dependency, no Grasshopper parity, no kernel ops (booleans/fillets), no class-A claims — the combs show honest curvature; .gh parity belongs to Phase 2 where Phil's definitions do the work.

Open questionsPhase-0 checklist

Verified primary sources (selection)