Draw the Hirst painting (MIL-002) #16

Merged
Tirsvad merged 3 commits from mil-002-spot-painting into main 2026-10-07 18:22:36 +02:00
3 Commits
Author SHA1 Message Date
Tirsvad e08cc3c16b Resolve pending commit link
Replace `pending` in the Version History of RC-006 with a link to the commit
that introduced the row.
2026-10-08 00:21:06 +08:00
Tirsvad c3cfb6462e Record the review of the MIL-002 code as RC-006
Review the code of MIL-002 against QC-PY-001: 12 of 13 criteria apply and all
pass, criterion 10 is N-A (no Design Class Diagram). Verdict Go, confirmed by
S01. That is the last Go criterion of MIL-002.

Two decisions stay open and do not block the verdict: the tests need a display
for Tk, and a few pale palette colours are faint on the white background.

Closes #13

Task: MIL-002#7
2026-10-08 00:20:57 +08:00
Tirsvad be82070c04 Draw the Hirst painting: pen, dot positions, dots, click wait and speed
MIL-002 tasks 1 to 6.

- Add create_pen, which hides the turtle, lifts the pen and switches the screen
  to 0 to 255 colours.
- Add dot_positions: 100 dot centres in 10 rows of 10, 50 apart, centred on the
  origin so the painting fits the default window.
- Add draw_dots, which draws a size-20 dot at every position in a colour chosen
  from the palette, and raises ValueError for an empty palette.
- Add main: draw with the palette of the reference image, then wait for a click
  with exitonclick. Animation is off while drawing and the screen updates once,
  which takes the drawing from 21.1 to 0.35 seconds (SC6 allows 30).
- Add 22 tests: pen setup, positions and spacing, dots on a recording fake pen
  and on a real turtle, no trail, and the order of main's steps. All tests share
  one hidden Tk window, because starting Tk per test fails now and then on
  Windows.

Closes #7
Closes #8
Closes #9
Closes #10
Closes #11
Closes #12

Task: MIL-002#1
Task: MIL-002#2
Task: MIL-002#3
Task: MIL-002#4
Task: MIL-002#5
Task: MIL-002#6
2026-10-08 00:20:48 +08:00