const INSTRUCTIONS: &str = "geop is a parametric CAD kernel. A part is a program of steps, each an \
operation with arguments; steps refer to what earlier steps built by stable names such as \
`extrude(box)` (the solid the step `box` extruded) or `extrude(box,end)` (its end cap). Start \
with `new_part` or `load_program`, see what operations there are with `list_operations` and how \
one's arguments look with `list_operations` given its `kind`, add steps with `add_step`, check \
`run` for errors, find names for references with `list_elements`, `look` at the part to see it, \
and finish with `export` or `save`. A sketch is drawn on a plane such as \
`{\"datum\": \"origin:xy\"}` (or `origin:yz`, `origin:zx`). A step names what another step \
built by its target, `/:<target>:<step id>`: the sketch the step `base` drew is \
`{\"target\": \"/:sketch:base\"}`, and a reference left blank in `default_args` (`/:sketch:`) \
has to be filled in. A step that names a target no step before it produces says which targets \
there are. What is easier done than written — drawing a sketch, dragging a placed part — is done \
as a user does it: `open_step`, then `step_event` (clicks at pixels of the last `look`, or at \
points of the world, keys), then `commit_step`; `undo` takes an edit back. The resources \
`geop://examples/{name}` are whole example programs.";Expand description
What the server tells a client about itself at initialize.