Particle physics becomes easier to query when particles are records, not icons. A useful record separates stable identifiers from measured properties and conventions: name, family, electric charge, spin, mass convention, antiparticle relationship, interactions, uncertainty, source edition, and update date.
type Particle = {
id: string;
family: "quark" | "lepton" | "gauge-boson" | "scalar";
electricChargeInE: number;
spin: number;
restMassMevC2?: { value: number; uncertainty?: number };
antiparticleId?: string;
sourceEdition: string;
};
Quarks and leptons are matter fields in the Standard Model. Gauge bosons mediate the model's strong, electromagnetic, and weak interactions; the Higgs boson is a scalar. Protons and neutrons are not fundamental in this classification: they are composite hadrons made from quarks bound by the strong interaction.
Avoid a common visual error: “force carrier” does not mean a tiny ball physically thrown between objects in an everyday mechanical sense. It is a compact way to describe interactions in a quantum field theory. A teaching diagram should name the interaction and the affected fields alongside any connecting line.
Charge is a useful sanity check. The proton's quark content is commonly represented as uud, so its charge in units of elementary charge is
const protonCharge = (2 / 3) + (2 / 3) - (1 / 3);
expect(protonCharge).toBe(1);
This does not model confinement or calculate a proton mass. It verifies that the record's stated charge convention is internally consistent. The same caution applies to masses: use the source's quoted value and uncertainty rather than implying a particle's mass is an exact, timeless scalar.
Prediction: A particle table that uses color alone to distinguish antiparticles becomes ambiguous when rendered without color.
Create one row for a particle and one for its antiparticle. Predict which fields must differ or be explicitly linked, then check whether a screen-reader user can tell them apart without the visual palette.Use versioned, typed records to teach particle properties. Check charge and units mechanically, label interactions in words, and keep composite particles distinct from the Standard Model's elementary fields.
uud charge calculation test, and what does it not test?Treat the lesson as a small function before treating it as a fact to memorize. Give every value a unit, keep only the state needed for the next step, and make the output easy to inspect.
\[\text{observable output} = f(\text{inputs},\,\text{state})\]For Fundamental Particles, write down the quantities you can control, the values your program must retain, and the result a reader could inspect. In Nuclear and Particle Physics, the useful program is not the drawing: it is the smallest explicit model that makes a prediction you can test.
Prediction: changing one declared input while holding the others fixed should change only the outputs that the model connects to that input. Choose one input, predict the direction of change, then check a limiting case such as zero, a symmetric arrangement, or a familiar low-speed or small-change approximation.
This lesson is a teaching model, not a complete simulator. Before using it outside the stated question, check which interactions, scales, uncertainties, boundary conditions, and measurement limits it leaves out.
Treat Fundamental Particles as a contract: named inputs and units enter a rule, the rule produces an observable result, and a known limit or invariant checks whether the implementation deserves trust.
Use typed, sourced, versioned particle records rather than unsourced diagram labels.