Skip to content

v2.1.2 — housekeeping

Choose a tag to compare

@OlegG90 OlegG90 released this 06 Sep 21:32
· 85 commits to main since this release

Housekeeping. Nothing in the running app changes — same scene, same
kinematics, same numbers. Three things that would have cost more later than
they cost now.

Changed

Both workflows run on Node 24 actions

Every action in both workflows targeted Node 20, which the runner already
forced onto Node 24 with a deprecation warning on every run; when support is
dropped, the tests and the Pages deploy would both have stopped.

before after
actions/checkout v4 v7
actions/setup-node v4 v7
actions/configure-pages v5 v6
actions/upload-pages-artifact v3 v5
actions/deploy-pages v4 v5

The fourth name in the warning, upload-artifact@v4, was transitive:
upload-pages-artifact@v5 now calls v7 internally. Nothing in the majors
between affects this repo — setup-node's new automatic caching is overridden
by the explicit cache: npm (and package.json has no packageManager
field), and checkout's fork-PR blocking applies to pull_request_target and
workflow_run, which neither workflow uses.

Removed

springMat, which drew nothing

The LineBasicMaterial outlived the last Line in the scene. The mainspring
and the hairspring are both solid (springSteel) and the click spring clones
steel, so springMat was threaded from main.js through buildMovement
into tourbillon.js without ever rendering; its only remaining use was the
unreachable half of springSteel || springMat.

The hairspring material is now simply a springSteel clone, and the
isLineBasicMaterial guard around it goes too. Verified identical —
MeshStandardMaterial, #bfd4ff, roughness 0.22, metalness 0.95 — and the
scene holds 176 meshes and zero lines.

Fixed

Three stale details in the README: the balance radius was still documented as
≈1.5 where the mesh has 1.95 (and is now derived from the cage radius rather
than set on its own), the cage was still described as two cut-out plates, and
the free-mode control list did not mention cage opacity or the top plate.


68 tests.

Live: https://olegg90.github.io/watch-simulator/