Skip to content

Research: ellipse and tangent path-repeat geometry (#110) - #115

Closed
madawei2699 wants to merge 2 commits into
mainfrom
research/issue-110-ellipse-path-repeat
Closed

madawei2699 wants to merge 2 commits into
mainfrom
research/issue-110-ellipse-path-repeat

Conversation

@madawei2699

Copy link
Copy Markdown
Contributor

Research/prototype for #110

This is a bounded representation study, not a production geometry change. It adds no public ComponentPlan types or compiler behavior.

Findings

  • Current CircleRing / RadialRepeat cover circular shells and circular tangent-oriented repeats, but not ellipse perimeter geometry or partial-path repetition.
  • An oval shell workaround compiles as two circular caps plus two straight tangent walls: 4 components / 938 JSON bytes / 2,240 blocks, but the result is a stadium rather than an ellipse.
  • An oval two-level arcade workaround requires 48 manually positioned Instances (plus a fixed-X assembly): 6,065 JSON bytes / 768 blocks. It is valid but bays do not rotate to local tangent.
  • Recommendation: proceed with a focused EllipseRing + ellipse-only PathRepeat implementation follow-up. Do not build generic CurvePath or CAD/spline semantics.

Prototype evidence

  • Elliptical shell: 2,412 unique voxels.
  • Two-level tangent-oriented elliptical colonnade: 816 unique voxels.
  • Open ellipse arc endpoint probe: count 9 includes both endpoints, 25 unique voxels.
  • Deterministic SVG artifacts are included in prototypes/issue-110/artifacts/.

The spike is intentionally outside core exports/schema. It uses integer bounds, deterministic nearest-voxel tangent rotation, validation, and explicit block budgets. The SVGs are geometry illustrations, not MinePilot's six-view preview captures; the report calls out remaining integration checks for support diagnostics, bounds estimates, and in-game voxel quality.

See prototypes/issue-110/RESEARCH.md for the capability table, option comparison, API sketch, semantics, and limitations.

Validation

  • Core build passed.
  • Both current-vocabulary ComponentPlans compiled successfully.
  • Three prototype fixtures ran; repeated fixture generation produced identical SVG hashes.
  • Push hook also passed lint and the repository test suite (199 tests).

No production feature is being proposed for merge in this PR; keep this PR Draft until the research decision is reviewed.

Copy link
Copy Markdown
Contributor Author

Research decision accepted and carried forward to #117. This PR is intentionally prototype/research evidence only; its SVG/prototype code should not become production CraftDAG surface. Closing without merge while preserving the research history here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant