Yarnshape — current studio and corresponding source

The construction studio, shared public calculator code and covered integration sources in
this distribution are provided under GNU GPL version 3 or, at your option, any
later version. See GPL-3.0-or-later.txt. This designation applies to this distribution; it does not change the license of prior unrelated releases.
Yarnshape contributors retain their copyrights. No warranty is provided.

CrochetPARADE copyright Svetlin Tassev, GPL-3.0-or-later.
Upstream revision 06e987b13ccfc94cfdfcebc1fe4664d37d2c6687.
https://github.com/stassev/CrochetPARADE
Changes include static numeric-literal parser packaging, lexical module exports,
a source-built WebAssembly module, bounded construction authoring adapters,
worker transport/layout presets, selected solid-graph viewer routines and
sphere/profile generator wrappers. Original source files and the transformation
and build scripts are supplied in source/. This is not an upstream endorsement.

Three.js copyright 2010-2025 three.js authors, MIT license.
Original notices remain in source/module files; see THREE-r174-MIT.txt.
Emscripten/emsdk authors and runtime/system contributors retain their copyrights.
See EMSCRIPTEN-LICENSE.txt, EMSCRIPTEN-AUTHORS.txt, EMSDK-LICENSE.txt and exact
per-file notices in source/native/toolchain/. Build executables are external
prerequisites, separately pinned; this package does not bundle a compiler SDK.

The ten public example entries, including YarnShape Kitten and the original
Kitty adaptation of the same CraftyBunnyBun pattern, are separately licensed CC BY-SA 4.0. See PATTERN-ATTRIBUTION.txt and CC-BY-SA-4.0.txt. Application code
licensing does not replace their attribution or license. No source photographs,
private patterns, personal projects, browser databases or backups are included.

Parser modification (2026-10-31): function-local interpolation temporaries isp, i0, i1 are declared for strict ES-module execution. Original source, declaration patch, static packaging recipe and build hashes are supplied; numeric-literal admission and graph/WASM are unchanged.

Periphery integration (2026-10-31): original pinned periphery JS is enclosed at build time in a pure exported module factory; its original WASM is unchanged. Same-origin worker transport, byte-integrity checks, explicit scoped traversal confirmation and draft staging were added. Original JS, WASM, C++, GPL license, enclosure recipe and source/runtime receipt are supplied in source/native/periphery and the corresponding integration source. No surface cleanup or native algorithm modification is implied.

Current examples include Kitty, YarnShape Kitten, Puppy, Bunny, Foxy, Penguin,
Batty, Spider Bro, Little Dragon and Mousy Mouse. Adaptations change construction,
counts, proportions and colors; no designer endorsement is implied. Explicit
open ring traversal, approximate inter-round sites, independent yarn starts and
editable finishing are integration changes. Source-designer intent, physical
appearance, fit, stuffing and sewn contact have not been certified. Review the
written instructions and make a sample. Pattern notices distinguish live
retrieval from committed permission evidence.

The studio offers Design and Make, supported piece controls, schematic placement,
local browser saving and portable backups. Source conversion, Ravelry connection
and earlier lessons are not active studio features. Creations are not uploaded
automatically. The app remains free and noncommercial, without accounts, ads,
analytics, paid upgrades or tracking.

One source-and-runtime archive accompanies the app. It retains current app and
the narrow shared public calculator dependency source, passive root-worker
source, CrochetPARADE source/runtime/assets, transformation
and build recipes and required licenses. Historical research, unused development
implementations, test evidence and private fixtures are excluded from this archive;
the repository history is preserved. Website generators, styles, hosting recipes and artwork are not included.
Public standalone scripts are served as their preferred unminified source.
No website-source archive is offered.
See distribution-manifest.json for exact source/runtime bindings and the packaged
README for recipient reconstruction, external compiler requirements and limitations.
