Object labels

How a student knows what each thing on the bench is. Two surfaces, one card: liquid containers carry a contents chip (what is in it), everything else carries a name label (what it is). The rules below cover when a label appears, what it says, where it sits, and what its marks mean.

Every state the system can put on an object, on the background it renders against. Containers and equipment share one card, so the two are not distinguishable by style. Each chip below renders from the production widget.css.

Water
Cold water
Warm water
Hot water
HCl 1M
Hot HCl 1M
Salt water
HCl + NaOH
Cup A (mixing vessel)
Pasteur pipette
Digital scale

These eleven would not share a screen. In a running lab only the objects of the current step are labelled; the vessels around them stand bare.

Identity belongs to the step

At any point in an investigation, the objects the current step involves carry a label: the one the student handles, and, once a drag has begun, the place it is going. The other objects on the bench are unlabelled. A label appears when the step that needs it begins, and is removed when that step ends.

The arrangement follows the shape of a guided investigation, in which each step introduces the objects it concerns. The student is not required to remember the layout of the bench between steps, since the instruction and the labelling arrive together. Labelling is also unaffected by camera movement, because it describes the current step rather than a fixed position in the scene.

The consequence is that the bench does not act as a reference. There is no continuous index of what is present, and labels do not accumulate as the investigation proceeds; each step presents what it requires. The earlier behaviour — a label on every object at all times — remains in the code behind a disabled switch, so a standing overview can be restored if one is wanted.

A drag step has two visual states. Before the student picks the object up, the screen shows what it is; after, it shows where it goes.

  1. 1

    The step opens: label and outline only.

    The source object is outlined and labelled. No ghost, no arc, no landing marker, and no label on the destination: nothing yet describes where the object is going.

  2. 2

    First click: everything arrives at once.

    The object attaches to the cursor, and the rest appears together: the ghost at the landing pose, the arc between the two, the landing marker on the desk, and the destination's label. All of it on the one event.

  3. 3

    Second click commits.

    Release on the ghost and the object snaps to the target pose; miss, and it eases back to its start and the cues are withdrawn. Either way the step resolves on the drop; the destination is never tapped.

  • step objects onlyOnly objects the current step touches are labelled. Everything else on the bench is bare.
  • the handled objectThe object the student must handle is labelled from the moment the step opens.
  • pour receiverA pour or drip receiver is labelled from the moment the step opens, so the destination is named before the transfer starts.
  • drag destinationA drag destination is labelled only once the object is picked up, not at step entry. It appears with the other drag cues (B).
  • never on hoverHover does nothing; pointing at an object reveals no identity. Removing that dependency is a prerequisite for a touch build.
  • author vetoAn author can pin a label off or on for the whole investigation (hide_label), and either pin wins over every rule above — and over anything a single step asks for. A step can also override the rules above for its own duration (H).
  • one per objectOne label per object, never two. Containers get a contents chip, everything else gets a name label, and no object gets both.
  • words, not numbersThe wording the system derives is always qualitative — “Hot water”, never “48 °C”. Numbers belong to instruments, where taking a reading is the point; a label that volunteered the value would answer the question the student was set. Note the limit: an authored name renders verbatim and is never checked, so “Fresh, cold (5 °C)” is exactly what appears if an author writes it. Qualitative naming is a convention on the authoring side, not something the kit enforces.
  • one exceptionThe pipette dispense readout. The only chip carrying a number, and specified separately.
  • author's name winsIf the author named the instance, that name is used verbatim. Failing that we build one from the contents plus a temperature word.
  • empty is a vesselAn empty vessel is named as a vessel (“Cup A”), not by the liquid it is about to receive. A receiver's contents are pre-loaded at scene load so the chip is ready when a pour lands, which once left empty cups labelled “Hot water” before anything was poured. Emptiness is therefore judged by volume held, never by chemistry carried.
  • hazards ride the liquidAn empty vessel wears no hazard marks. Hot, cold, and corrosive marks arrive with the liquid.
  • no liquid, no chipAn empty vessel that is not waiting on a pour carries no chip at all.

A chip carries two things: the identity, in words (D), and the hazard marks. The marks have their own derivation rules and render to the left of the name, so the warning is read first.

  • two marks, no moreA closed vocabulary: a red corrosive diamond, and a thermal disc (orange hot, blue cold). There is no third mark, and a scene cannot add one.
  • three bands, two discsBelow 10 °C is cold and takes the blue disc; above 40 °C is hot and takes the orange one. The band between is warm and takes no disc — only the word, in the name. Warm is a description rather than a hazard, so it is not marked as one.
  • one mark per hazardAn acid and a base in the same vessel resolve to a single diamond, not two. The mark reports that the contents are corrosive, not how many corrosive substances are present.
  • derived from the liquidMarks are derived from the chemistry the object holds, not authored per scene, so they cannot be omitted by mistake. An empty vessel therefore carries none (rule 12): there is no liquid to derive from.

The three bands

Warm carries the word and no disc.

Cold water
below 10 °C · blue disc
Warm water
10–40 °C · the word, no disc
Hot water
above 40 °C · orange disc

How the marks compose

The order is fixed: corrosive first, then thermal.

HCl 1M
corrosive
Hot HCl 1M
both · diamond leads the disc
HCl + NaOH
acid + base · one diamond, not two
Cup A (mixing vessel)
empty · no liquid to derive from
  • above its objectAnchored above the object and tracking it as the camera orbits and zooms.
  • the dispense exceptionOne chip does not sit above its object. During a pipette dispense the target cylinder's chip moves to the middle of its body — below the meniscus, opposite the pipette stem — so the descending pipette does not cover the volume readout. The only label that moves for a reason other than clearing chrome (I).
  • clear of chromeNever hidden behind the step bar or the time control — it slides into free space with a 10 px gap. A bar that is hidden imposes no such limit.
  • move, don't coverA label moves rather than covering the interface: obscuring the instruction is worse than displacing the label. Hence moving it rather than raising it above the chrome.

A few objects are not one solid thing but two movable ends with something drawn between them — a cable with two clips, a lead with two ends, a slinky stretched between its hook and its ring. The authoring pipeline splits these into one entry per end, so the step's object set contains every end at once. Disconnecting adds a third piece: the body between the ends, which needs somewhere to lie once it comes free.

  • armed end onlyOnly the end currently being handled is labelled; the label migrates as each end is placed. Without this a cable carried its name twice and a wired bulb showed four labels at once. The label follows the outline: whatever is highlighted is what is named.
  • never the bodyThe wire between the clips is named by its ends, not on its own. Nothing about it is grabbable, so a label there points at a length of cable the student cannot act on. Worse, the body never moves — the ends do — so it stays parked where the scene first put it, and its label reads as a caption for empty desk.
  • nothing when idleNo end armed, no label. That covers a step that runs on a button press rather than a drag, and the pause after the last end is placed while the step waits on Continue. These objects are named while they are being handled, not for the whole step.

Everything above describes what the system decides on its own. An author can also take the decision for one step — naming objects the step never touches, withholding a name for a beat, or naming the whole bench at once. It is a deliberate act: nothing is written automatically, and a step that asks for nothing behaves exactly as C describes.

  • name the unhandledObjects the step does not touch can still be named — three reference beakers labelled while the student works a fourth, so it is clear what is being compared. This is the case the feature was built for.
  • withhold a nameA name can be suppressed for one step and returned on the next. The quiz beat: “one of these cups holds the acid — decide which”, where the cup would otherwise answer the question itself.
  • the whole benchAn orientation beat can name every object at once, or clear the bench entirely and name only one. The two combine: name everything except the stand, or clear everything except the burette.
  • custom wordingA named object can carry authored wording instead of its catalogue name — “Salt water” rather than “Beaker 250 mL”. The authored words replace the whole label, so a vessel captioned this way shows no hazard mark and no volume for that step. What is written is what appears.
  • the pins winAn object pinned off is never named, and an object pinned on is always named, whatever a step asks. The pin is the author's standing instruction; the step directive is a local one.
  • hide beats showWhere a step both names and silences the same object, it stays silent. Naming a specific object beats a blanket instruction, so “name everything, except the stand” reads the way it sounds.
  • they do not stackNaming the whole bench can overlap cards on a crowded desk — nothing spreads them apart yet. They still keep clear of the step bar and the time control (F).

Rule 8 holds that labels carry no numbers; rule 9 excepts the pipette dispense. There the student meters a volume by hand, so the number is the task rather than its answer, and the chip acts as the instrument.

The readout while dispensing

The chip extends with a live volume and updates on each accepted drop. It also moves: instead of floating above the vessel it re-anchors to the cylinder body, below the meniscus and opposite the pipette stem, clear of the descending pipette (rule 19).

Water — 18.0 mL
step entry · after the coarse pour
Water — 19.2 mL
mid-dispense · 3 of 5 drops
Water — 20.0 mL
target reached

Composed with hazards

The exception has no card of its own: it is the ordinary active card with a number appended, and inherits the rest. Marks still lead and still dedupe; the volume follows the name.

Hot water — 38.4 mL
quantity + hot
HCl 1M — 50.0 mL
quantity + corrosive
Water — 18.0 mL
quantity, no hazard