apsis-book/content/concepts
dev 17e99428de web: split the physics layer, render formulas, and fix the graph load
The graph took over three seconds to draw. The force layout ran four
hundred and twenty steps of repulsion between every pair of nodes, which
is quadratic in the node count and was doing that work through a reactive
proxy inside an effect that read the state it wrote, so it rescheduled
itself on every run. The repulsion now runs on a grid over neighbouring
cells, and the effect no longer tracks its own writes.

The physics layer covered two unrelated subjects, so it is presented as
two. Formulas are written between dollar signs and translated to MathML,
which the browser sets itself, so no script has to run. The palette is
now two sets of the same variables with a toggle between them, and below
a thousand pixels the sidebar is a drawer over the page.
2026-10-01 17:28:43 +08:00
..
foundation web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
implementation web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
network web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
ops web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
orbit web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
physics web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
rf web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
sim web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
chapters.json web: split the physics layer, render formulas, and fix the graph load 2026-10-01 17:28:43 +08:00
overview.md web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00
overview.zh.md web: describe the field by layer and separate it from the implementation 2026-10-01 13:57:23 +08:00