packages feed

moonlight-planar 1.2.0.0 → 1.2.0.1

raw patch · 10 files changed

+38/−38 lines, 10 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,11 @@ # Changelog +## 1.2.0.1 - 2026-10-01++- Simplify README and guide wording; replace machine-specific example paths+  with paths relative to the checkout.+- No library or API changes from 1.2.0.0.+ This is release chronology, not current interface authority. The package [README](./README.md), Cabal manifest, and linked focused guides own the live surface.
README.md view
@@ -319,7 +319,7 @@ curves as the source of truth; neither SVG strings nor triangulation vertices are the editing interface. -This is a strong foundation, not a finished illustration language. The+The illustration API is incomplete. The [curve-authoring status](docs/curve-authoring-status.md) records what the measured and certified layer provides, its capability boundary, and the missing offset, intersection, relational, repetition, and diagnostic algebras required@@ -412,12 +412,11 @@   motif = leaf 8 positiveTwo ``` -For an agent, the workflow is: name parts and attachment frames; choose a-profile or interpolating contour; express its widths and landmarks as equations-of a small control record; reuse the value with `place` and `foldMap`; paint in-explicit back-to-front order. Inspect the fixed-camera render and diagnostics-after editing a meaningful control. Do not replace the profile with a traced-list of cubic handles merely to match one rendered sample.+To build an illustration, name its parts and attachment frames, choose a+profile or interpolating contour, and express its widths and landmarks as+functions of a control record. Reuse the value with `place` and `foldMap`,+painting in explicit back-to-front order. A fixed camera and diagnostic render+help compare the effect of each control change.  `Moonlight.Planar.Illustration.Svg` publishes with `renderSvg :: (part -> String) -> SvgOptions -> Picture part -> Either SvgError String`.@@ -503,10 +502,8 @@ recessed energy channel, repeated typed inscriptions and a single affine pose. `defaultSpaceSwordControls` and `overchargedSpaceSwordControls` change the blade system without perturbing the crossguard, grip, counterweight or star field.-It is source-authored mathematics, not traced output wearing a lab coat.-Both illustration authors use the reusable authoring operations rather than-constructing Bezier control handles. Low-level curve construction remains-available for algorithms that actually need it.+These examples use the reusable authoring operations rather than constructing+Bezier control handles directly. Low-level curve construction is also available.  From the repository root, render the fixed-camera baseline, combined edited variant, and diagnostics using the isolated build directory:@@ -515,7 +512,7 @@ scripts/safe-cabal.sh run moonlight-planar:exe:moonlight-planar-illustration-study \   --project-file=cabal.project.planar-dev \   --builddir=dist-newstyle-planar-illustration --enable-benchmarks -j1 -- \-  /Volumes/Sirius/work/pm-artifacts/planar-illustration-20260911/attachments-layout-20260912/candidate+  "$PWD/.artifacts/planar-illustration" ```  The output directory must be absolute. Knight outputs are `knight-crescent.svg`,
docs/category-observatory/README.md view
@@ -140,6 +140,5 @@ | `.Identifier` | the single identifier/label interpretation shared by all projections | | `.Picture` | compact pure SVG projection of the admitted exhibit | -The split is semantic rather than ceremonial: no wrapper modules, no duplicate-projection types, no hand-maintained duplicate mesh coordinates, and no mutable-orchestration wearing an expensive hat.+Each module implements a distinct projection, sharing the model types,+identifiers, and mesh coordinates.
docs/curve-authoring-status.md view
@@ -1,10 +1,8 @@ # Curve authoring: present boundary and missing algebra -Moonlight Planar has a credible curve core and, since 1.2.0.0, a measured and-certified layer over it. It does **not** yet have a mature-illustration-authoring system. The distinction matters: eliminating hand-traced-Bezier handles and measuring curves honestly is a useful foundation, not-evidence that an agent can reliably author a complete illustration.+Moonlight Planar provides exact curves and, since 1.2.0.0, certified measurement+operations. It does **not** yet provide a complete illustration-authoring API.+The supported operations and remaining limitations are listed below.  ## What exists now @@ -84,7 +82,7 @@ - Exact curve Booleans need an algebraic-number representation for   intersection points. That is a separate design decision, not a small   extension of `ExactPoint`.-- A relation solver, if one is ever earned, must distinguish inconsistent,+- A relation solver would need to distinguish inconsistent,   underdetermined, ambiguous, and budget-exhausted outcomes, and satisfy   declared residual bounds. @@ -101,7 +99,7 @@ 3. curve noding and arrangement receipts over an explicit algebraic    representation, connecting curve topology to the existing exact region    owner beyond the simple-region domain;-4. offset and stroke-outline construction with honest error and topology+4. offset and stroke-outline construction with explicit error and topology    witnesses; 5. a pure relational authoring language whose solver either returns a checked    construction or a typed refusal.@@ -115,7 +113,7 @@ Curve authoring is not illustration-ready merely because an example can be rendered. A credible readiness claim requires all of the following: -- an agent can place and repeat motifs by geometric relations rather than copied+- authors can place and repeat motifs by geometric relations rather than copied   coordinates; - edits preserve declared attachment, continuity, spacing, and topology laws; - unavoidable approximations carry bounds and refuse exhausted budgets;
docs/delaunay-compare/README.md view
@@ -185,7 +185,7 @@  ## Harness difference -Upstream uses Rust Criterion. This port uses Haskell `tasty-bench`, so it does-not pretend Criterion's warm-up seconds or sample-count knobs map one-to-one to-another calibrator. The inputs, sizes, implementation calls, and timed/setup-boundary are preserved; calibration and reporting are honestly Haskell.+Upstream uses Rust Criterion. This port uses Haskell `tasty-bench`, whose+calibration settings do not map one-to-one to Criterion's warm-up duration or+sample count. The inputs, sizes, implementation calls, and timed/setup boundary+are preserved; calibration and reporting use `tasty-bench`.
docs/knight-rig/README.md view
@@ -16,14 +16,14 @@ ```sh scripts/safe-cabal.sh run moonlight-planar:exe:moonlight-planar-knight-rig \   --project-file=cabal.project.planar-dev \-  --builddir=/Volumes/Sirius/work/pm-artifacts/planar-collapse-20260907/build \-  --offline -j6 -- /Volumes/Sirius/work/pm-artifacts/knight-rig-20260907/knight.obj+  --builddir=dist-newstyle-planar-dev \+  --offline -j6 -- "$PWD/.artifacts/knight-rig/knight.obj" blender --background --factory-startup --python-exit-code 1 \   --python compiler/foundation/moonlight-planar/docs/knight-rig/rig.py -- \-  /Volumes/Sirius/work/pm-artifacts/knight-rig-20260907/knight.obj \-  /Volumes/Sirius/work/pm-artifacts/knight-rig-20260907+  "$PWD/.artifacts/knight-rig/knight.obj" \+  "$PWD/.artifacts/knight-rig" python3 compiler/foundation/moonlight-planar/docs/knight-rig/package.py \-  /Volumes/Sirius/work/pm-artifacts/knight-rig-20260907+  "$PWD/.artifacts/knight-rig" ```  The interpreter targets Blender 5.1.1; preview packaging uses Pillow with WebP
docs/moonblade/README.md view
@@ -28,7 +28,7 @@   --project-file=cabal.project.planar-dev --builddir=dist-newstyle-planar-dev --offline -j6 scripts/safe-cabal.sh run moonlight-planar:exe:moonlight-planar-moonblade \   --project-file=cabal.project.planar-dev --builddir=dist-newstyle-planar-dev --offline -j6 -- \-  /Users/bluerose/Developer/pale-meridian/compiler/foundation/moonlight-planar/docs/moonblade/moonblade.svg+  "$PWD/compiler/foundation/moonlight-planar/docs/moonblade/moonblade.svg" ```  Edit the source and regenerate; do not hand-edit the derived SVG.
docs/noctilucent-garden/README.md view
@@ -21,7 +21,7 @@   --project-file=cabal.project.planar-dev --builddir=dist-newstyle-planar-dev --offline -j6 scripts/safe-cabal.sh run moonlight-planar:exe:moonlight-planar-noctilucent-garden \   --project-file=cabal.project.planar-dev --builddir=dist-newstyle-planar-dev --offline -j6 -- \-  /Users/bluerose/Developer/pale-meridian/compiler/foundation/moonlight-planar/docs/noctilucent-garden/noctilucent-garden.svg+  "$PWD/compiler/foundation/moonlight-planar/docs/noctilucent-garden/noctilucent-garden.svg" ```  The SVG is generated by this source; edit the source and rerun, not the output.
ffi/bindings/typescript/README.md view
@@ -7,7 +7,7 @@ lifetime and error terms; the generated raw declarations descend from the same Haskell contract as the C header, Python declarations, and Rust declarations. -This source package does not pretend to contain a native binary. Supply an+This source package does not include a native binary. Supply an explicit path to the ABI-version-2 shared library:  ```typescript@@ -40,5 +40,5 @@ Every operation that can be refused returns `Result<Value, MoonlightFailure>`. No raw Koffi handle, constructor capability, or numeric status code crosses the package entrypoint. Owned meshes, regions, and structuring elements implement-both `dispose()` and `Symbol.dispose`; morphology therefore keeps the honest+both `dispose()` and `Symbol.dispose`; morphology therefore keeps the domain method `region.close(element)`.
moonlight-planar.cabal view
@@ -1,6 +1,6 @@ cabal-version:       3.4 name:                moonlight-planar-version:             1.2.0.0+version:             1.2.0.1 synopsis:            Native hex regions, Delaunay meshes, and exact planar algebra. description:         Native packed hexagonal cell regions and Delaunay and                      constrained Delaunay triangulation as lawful@@ -124,7 +124,7 @@ source-repository this   type:     git   location: https://github.com/PaleRoses/moonlight.git-  tag:      moonlight-planar-1.2.0.0+  tag:      moonlight-planar-1.2.0.1   subdir:   moonlight-planar  flag warnings-as-errors