*Last modified: 2024-05-05 20:45:22*

So the other day I got far enough to produce impulse faces in the simulator according to the input parameters:

Next up is making the locking faces. I think the plan is to make a function that can generate a *point* on the locking
surface, at a given angle away from the "corner", and then I'll call that function a bunch of times with different
angles to make an
approximation of the curved surface.

Well I'm not interpolating it yet because I can't make concave polygons, but I have a locking face that is tangent to the required curve:

To finish up the anchor I need to implement "sector offset" and "anchor pivot offset", and also probably allow changing lift & drop for the entry pallet and exit pallet independently.

But next I want to start showing some stats.

- period
- amplitude
- escape wheel revs per hour

And plot some continuously-varying stats:

- anchor angle
- escape wheel tooth angle
- torque on anchor?
- escape wheel angular velocity

Adding these stats has been really instructive. I've discovered that the pendulum is swinging asymmetrically, quite badly, about 1.2 degrees further to the left than to the right. And this asymmetry remains even if I disconnect the pendulum from the escapement. And the pallets have 0 density so they shouldn't be affecting the centre of mass.

OK, it was because I had the pivot point offset by 0.01mm, a hangover from when the anchor coordinates were set manually. Fixed now.

I also discovered that ChatGPT's escape wheel generator misinterpreted the parameters, the "trailing angle" was an angle relative to the leading edge, instead of relative to the radial. Also fixed now.

I have also discovered that I implemented "anchor pivot offset" wrong. Need to address that if I want to play with it.

The issue is that in calculating the impulse face coordinates, I compute `topLineAngleFromVertical`

with the assumption that the pivot point is at "B", but it actually needs to be at "J". Need to fix that.

Todo:

- time scale slider
- zoom according to escape wheel major diameter
- make the locking faces curved
- draw some frame for the anchor so it looks less wrong
- implement sector offset, anchor pivot offset, and asymmetrical lift/drop