{
  "version": "integer-circle-study-v1",
  "date": "2026-10-29",
  "canonicalOwner": "https://minecraftcircle-generator.dev/research/midpoint-circle-algorithm",
  "author": "Block Circle Plans",
  "license": "CC0-1.0 (original code and generated data only; cited sources retain their rights)",
  "scope": "64 integer radii r=1..64; square grids of 2r+1 cells; center (r,r); binary pixels with zero-based coordinates and y increasing downwards.",
  "definitions": {
    "disk": "Include a cell center (x,y) iff (x-r)^2+(y-r)^2 <= r^2; equality is included.",
    "boundary4": "Keep a disk cell iff at least one of its four orthogonal neighbors is outside the disk.",
    "boundary8": "Keep a disk cell iff at least one of its eight orthogonal or diagonal neighbors is outside the disk.",
    "midpoint": "Start x=0,y=r,d=1-r. Emit eight reflections, deduplicated. If d<0 add 2x+3; else add 2(x-y)+5 and decrement y. Increment x. Continue while x<=y. The final trace row is emitted before its unused final update.",
    "symmetricDifference": "Number of occupied coordinates in exactly one of the two sets; equal counts do not imply equal coordinates.",
    "rows": "rows[y] lists inclusive [startColumn,endColumn] runs. Expand each run to recover the full mask."
  },
  "validation": "Compare every midpoint set against an independent nearest-integer sqrt octant oracle; check all disk membership and boundary predicates exhaustively, counts, reflection/transposition symmetry and pairwise symmetric differences.",
  "limitations": [
    "A computational comparison, not a speed benchmark, visual-quality ranking, gameplay experiment or survey.",
    "Integer centers and integer radii only. No even-sized center-gap grids, half-integer radii, antialiasing, ellipses, circles with r=0 or 3D shapes.",
    "Methods agree on center and radius but answer different raster questions. Boundary methods require selected centers inside the disk; midpoint may select centers outside it.",
    "The site's building generator uses radius D/2 and center (D-1)/2 in cell-index coordinates. A research case with width 2r+1 uses radius r, so an 11-cell research grid with r=5 is not the site's 11-block plan (radius 5.5).",
    "Original computations and disclosed implementation are not independent secondary reporting and do not establish Wikipedia source eligibility."
  ],
  "sources": [
    {"id":"uic","url":"https://www.cs.uic.edu/~jbell/CourseNotes/ComputerGraphics/Circles.html","role":"Midpoint recurrence and eightfold symmetry; UIC course notes credit Andy Johnson and Foley et al.","accessedAt":"2026-10-29"},
    {"id":"redblob","url":"https://www.redblobgames.com/grids/circle-drawing/","role":"Primary author explanation of center-sampled fills, outlines and radius/center conventions, sections 1, 4, 5 and 7. We do not reproduce its text or illustrations.","accessedAt":"2026-10-29"},
    {"id":"gustavson","url":"https://www.itn.liu.se/~stegu76/circle/circles_test.html","role":"Original author demonstration of integer midpoint stepping and deduplicated eight-octant plotting; not used for a timing claim.","accessedAt":"2026-10-29"}
  ],
  "conflictOfInterest": "Published by the operator of a circle-building tool. No external review or affiliation with the cited authors is claimed.",
  "updatePolicy": "Freeze v1 bytes. Publish corrections with a new version and retain a dated change note. Send a correction with radius, method and coordinate to the contact page.",
  "corrections": "https://minecraftcircle-generator.dev/contact"
}
