medieval-kit/my-registry/models/grindstone
CRT 3a215db997 Add the grindstone, which turns
The kit had an anvil, a forge and four edged tools, and nothing that put an
edge on any of them. This is the machine that did, and the only piece of
village equipment here with a working part in it — so it turns: crank it and it
runs for three revolutions over five and a half seconds, which is a heavy stone
on a wooden bearing rather than a flywheel.

The wheel is `limestone` and that was measured, not assumed: the reference
reads hue 32.5, saturation 0.196, lightness 0.511 against the trough's 36.6,
0.161, 0.500. A sandstone wheel and a weathered trough are the same rock as far
as this palette is concerned, and neither is the grey `stone` of a dressed
wall. The frame is `oak` taken well down in value — the reference's timber is
0.25 against the palette's 0.40 — but it stays oak, because a third wood key
for one model would be describing the weather rather than the material.

Three faults, all found by the checks and all of them things I had reasoned my
way past:

  - The axle and its washers were built, merged into a local array, and then
    never returned. The wheel hung on nothing and the crank floated beside the
    machine at 0.60 m. An array you forget to use is not a type error.
  - The axle sat 48 mm ABOVE the rails and touched them nowhere. The reference
    answers this itself and I had left the answer out: there are bearing
    blocks bolted on top of each rail with the axle running through them.
  - The low stretcher ran down the centre line from end to end and touched
    nothing on the way, because at that height the legs have splayed out to
    z = 0.21 and it was at z = 0. It tied the trestles together in the drawing
    and not in the geometry. There are now two rails, one down each side, and
    where the legs are at that height is worked out from the strut's own two
    ends so it stays true when the splay is changed.

The last two shared a symptom — the support check reporting two components,
one on the ground and one containing everything above it — and finding them
took a detour worth writing down. Sampling the frame's VERTICES to see where
the legs were at rail height found no legs at all, because a tapered box has
corners only at its ends. That is the third time in this project the same
mistake has been made with the same consequence: a measurement that returns a
confident number about nothing. Slicing the triangles instead put the leg's
cross section exactly where the arithmetic said it was, which is what proved
the gap was somewhere else.

What is NOT here, said plainly: the reference has a treadle and a linkage down
to a foot board. This has a hand crank instead. Both are period; the treadle is
three more moving parts to serve an animation the crank already carries.

37 models, 32 316 triangles, all checks pass, 0 floating cases at 224 voxels as
well as at 112, GLB round-trip clean, Conformant, documentation in step.
2026-08-27 03:06:35 +07:00
..
model.ts Add the grindstone, which turns 2026-08-27 03:06:35 +07:00