Skip to content

Latest commit

 

History

History
90 lines (69 loc) · 4.43 KB

ATTRIBUTION.md

File metadata and controls

90 lines (69 loc) · 4.43 KB

kernelCAD Attribution and Referral Links

kernelCAD names itself in the files it writes and on its public viewer pages, and it can add referral tags to links that point at vendors. This page lists every place this happens and how to change it. Nothing is hidden: all of it is visible in the output, and all of it lives in two source files.

Attribution in exported files

Each exporter writes one line into the format's own metadata field. Geometry is never changed.

Format Where Value
STEP FILE_NAME originating_system (OCCT stays the preprocessor) kernelCAD <version> (https://kernelcad.com)
GLB asset.generator same
STL (binary) 80-byte header same, plus the export date
DXF first 999 header comment same, plus the export date
URDF, SRDF, SDF, MJCF XML comment after the XML declaration <!-- Generated by kernelCAD <version> (https://kernelcad.com) -->

"Made with kernelCAD" on public pages

The public share page (/p/<slug>) and the embeddable viewer (/embed/<slug>, both presentation modes) show a small "Made with kernelCAD" link in a corner. It links to https://kernelcad.com/?ref=<surface> with utm_source=kernelcad&utm_medium=<surface>, so we can see which surface a visit came from.

Referral links to vendors

Some tools return links to vendor pages: fetch_part returns a vendor-configurator link (kind: 'link_out'), and verify with check: 'dfm-preflight' returns the job shop's catalog pages as sources.

  • Data files store clean vendor URLs only. Tags are added when a link is shown, by one function (buildVendorUrl in src/shared/links/referral.ts). A test fails if any other code emits a vendor URL.
  • A tagged link gets <param>=<tag>, utm_source=kernelcad and utm_medium=<surface> (for example shopcheck, part, bom).
  • A vendor with no tag gets the clean URL, unchanged.
  • When a result contains a tagged link, it also contains this disclosure, and the agent is asked to show it with the link: "Some links are referral links; kernelCAD may earn a commission."

The current tags are the tag values in referral.ts. An empty tag means that vendor's links are clean.

Changing it (self-hosters and forks)

Two files hold everything:

  • src/shared/links/attribution.ts: the name, homepage, app URL, the generator string used in exported files, and the tagged links to our own pages.
  • src/shared/links/referral.ts: the vendor list, each vendor's referral parameter and tag, and the disclosure text.

At runtime, without code changes:

  • KERNELCAD_REFERRAL_<VENDOR>=<tag> sets or replaces one vendor's tag (for example KERNELCAD_REFERRAL_SENDCUTSEND=mytag). An empty value clears it.
  • KERNELCAD_REFERRALS=off turns every vendor tag off.

A fork that keeps the attribution states truthfully that it is built on kernelCAD, which the trademark policy allows. A renamed fork can change or remove the attribution in attribution.ts.

Third-party shapes in examples and cookbook recipes

Some examples and recipes are ports of openly licensed models: their numbers were measured from the source and re-modelled in kernelCAD. The source files themselves are not redistributed. Each entry names the source and its license, and links the provenance file that records the commit, checksum, extraction and hand edits.

Used in Source Author and changes License Provenance
examples/from-reference/hatchback/hatchback.kcad.ts, cookbook automotive-body-envelope hatchback from osrf/gazebo_models (commit 8163eb4b) Copyright 2012 Nathan Koenig (Open Source Robotics Foundation); modified: measured and re-modelled, mesh not included CC-BY 3.0 PROVENANCE.md

Opt-in solid-modeling dependency

@classcad/smlibwasm is pinned to 0.3.1. The ClassCAD JavaScript bindings are MIT-licensed (Copyright 2026 AWV Informatik AG); the bundled USD BRep/SMLib core is Apache-2.0 (Copyright 2020–2026 NVIDIA CORPORATION & AFFILIATES). The package also contains unmodified Lato Regular under OFL-1.1, with Reserved Font Name “Lato” (Copyright 2010–2013 tyPoland Lukasz Dziedzic). See NOTICE and retained license texts. The kernel loads only when explicitly selected; kernelCAD does not ship native experimental core patches.