Docs
Language reference
Statements, attributes, and ports generated from the compiler registry.
This page reads the compiler authoring contract directly. It does not maintain a second keyword list, so a changed or newly registered DSL statement appears here with the next build.
Common structure
A source document describes one named scene followed by entities, relations, presentation requests, and motion requests:
scene example
support O orientation=horizontal
load A 1kg
A <-> O
show A.forces
Identifiers are case-sensitive. Strings use double quotes. Write a physical quantity as a number followed by a unit, such as 2kg, 30deg, or 9.8m/s^2.
Shared numeric parameters
let name = 6V defines a scene-local numeric parameter. Write $name as a property value or
shorthand quantity; let other = $name defines an alias. References may precede definitions,
but unknown names, duplicate definitions, cycles and dimension mismatches are errors.
Only numeric values and aliases are supported, not expressions or string substitution.
See DSL basics for a complete example.
Rope paths
Most pulley routes are inferred from entities and their attachments. Declare a named rope when you need to select its observations, make the topology explicit, or give separate segments different colors:
rope R #gray
R: ceiling -[#red]-> M -> F -[#blue]-> R.free
R.free is the built-in free end of rope R, not another entity to declare.
Entities
point A geometric point without support behavior. - Syntax
point <id> [properties] [#color]- Properties
-
x: quantity(length)y: quantity(length)label: text
support A fixed structural body such as a beam, wall, or ceiling. - Syntax
support <id> [properties] [#color]- Properties
-
x: quantity(length)y: quantity(length)shape: enum(beam | wall | ceiling)orientation: enum(horizontal | vertical | angled)angle: quantity(angle)length: quantity(length)label: text
anchor An explicit fixed or movable connection location. - Syntax
anchor <id> [properties] [#color]- Properties
-
x: quantity(length)y: quantity(length)role: enum(fixed | movable)label: text
body A general rigid or point-like physical body. - Syntax
body <id> [value] [properties] [#color]- Properties
-
mass: quantity(mass)inertia_factor: unitless numbershape: enum(block | sphere | hollow_sphere | cylinder | hoop | point | disk)radius: quantity(length)width: quantity(length)material: textarea: quantity(area)volume: quantity(volume)x: quantity(length)y: quantity(length)velocity: quantity(velocity)acceleration: quantity(acceleration)direction: identifierlabel: text
load A body whose mass is the main quantity of interest. - Syntax
load <id> [value] [properties] [#color]- Properties
-
mass: quantity(mass)shape: enum(block | sphere | point)x: quantity(length)y: quantity(length)label: text
surface A boundary on which bodies can rest, slide, or roll. - Syntax
surface <id> [value] [properties] [#color]- Properties
-
x: quantity(length)y: quantity(length)orientation: enum(horizontal | vertical | incline)angle: quantity(angle)length: quantity(length)friction: enum(smooth | static | kinetic | rough)mu: unitless numbermu_static: unitless numbermu_kinetic: unitless numbermaterial: text
detector A measurement or observation component. - Syntax
detector <id> [properties] [#color]- Properties
-
type: identifierobservable: identifierreading: textx: quantity(length)y: quantity(length)label: text
rail A pair of smooth conducting rails bridged by a sliding conducting rod; a and b are the fixed-end terminals. - Syntax
rail <id> [properties] [#color]- Properties
-
length: quantity(length) · requiredseparation: quantity(length) · required
drum A massless winding drum with an ideal anti-rollback ratchet. - Syntax
drum <id> [value] [properties] [#color]- Properties
-
radius: quantity(length) · requiredbrake: enum(ratchet) · requiredx: quantity(length)y: quantity(length)
pulley A grooved wheel connected to a support or moving body. - Syntax
pulley <id> [value] [properties] [#color]- Properties
-
radius: quantity(length)mass: quantity(mass)x: quantity(length)y: quantity(length)
rope An ideal or elastic rope whose route may be inferred or explicitly drawn. - Syntax
rope <id> [value] [properties] [#color]- Properties
-
length: quantity(length)mass: quantity(mass)elasticity: enum(ideal | elastic)
pendulum A pendulum represented by a pivot, rod or string, and bob. - Syntax
pendulum <id> [value] [properties] [#color]- Properties
-
mass: quantity(mass)length: quantity(length) · requiredangle: quantity(angle)gravity: quantity(acceleration)subject: identifierx: quantity(length)y: quantity(length)
spring An elastic connector. - Syntax
spring <id> [value] [properties] [#color]- Properties
-
stiffness: quantity(stiffness) · requiredrest_length: quantity(length)extension: quantity(length)displacement: quantity(length)modulation_depth: unitless numbermodulation_frequency: quantity(frequency)modulation_phase: quantity(angle)x: quantity(length)y: quantity(length)
damper A dissipative mechanical connector. - Syntax
damper <id> [value] [properties] [#color]- Properties
-
coefficient: quantity(damping) · requiredx: quantity(length)y: quantity(length)
rod A rigid rod with attachment points. - Syntax
rod <id> [value] [properties] [#color]- Properties
-
length: quantity(length) · requiredmass: quantity(mass)velocity: quantity(velocity)angle: quantity(angle)x: quantity(length)y: quantity(length)
fiber A suspension or torsion fiber. - Syntax
fiber <id> [value] [properties] [#color]- Properties
-
stiffness: quantity(stiffness) | symbollength: quantity(length)x: quantity(length)y: quantity(length)
force A force vector that can act on a physical body. - Syntax
force <id> [value] [properties] [#color]- Properties
-
magnitude: quantity(force) | symboldirection: identifierangle: quantity(angle)frequency: quantity(frequency)
torque A torque vector that can act on a rigid body. - Syntax
torque <id> [value] [properties] [#color]- Properties
-
magnitude: quantity(torque) · requireddirection: enum(clockwise | counterclockwise)
motor An ideal permanent-magnet DC motor with winding resistance and back EMF. - Syntax
motor <id> [value] [properties] [#color]- Properties
-
resistance: quantity(resistance) · requiredrated_voltage: quantity(voltage) · requiredno_load_speed: quantity(angular_velocity) · requiredx: quantity(length)y: quantity(length)
circuit An electrical network container. - Syntax
circuit <id> [properties] [#color]- Properties
-
x: quantity(length)y: quantity(length)
resistor A two-terminal resistive component. - Syntax
resistor <id> [value] [properties] [#color]- Properties
-
resistance: quantity(resistance) · requiredx: quantity(length)y: quantity(length)
rheostat A two-terminal variable resistor controlled by a normalized position. - Syntax
rheostat <id> [value] [properties] [#color]- Properties
-
max_resistance: quantity(resistance) · requiredposition: quantity(ratio) · requiredx: quantity(length)y: quantity(length)
capacitor A two-terminal capacitive component. - Syntax
capacitor <id> [value] [properties] [#color]- Properties
-
capacitance: quantity(capacitance) · requiredcharge: quantity(charge)voltage: quantity(voltage)x: quantity(length)y: quantity(length)
inductor A two-terminal inductive component. - Syntax
inductor <id> [value] [properties] [#color]- Properties
-
inductance: quantity(inductance) · requiredcurrent: quantity(current)x: quantity(length)y: quantity(length)
source A two-terminal electrical source. - Syntax
source <id> [value] [properties] [#color]- Properties
-
type: enum(voltage | current | ac | signal)voltage: quantity(voltage)rms_voltage: quantity(voltage)current: quantity(current)frequency: quantity(frequency)phase: quantity(angle)x: quantity(length)y: quantity(length)
switch A two-terminal circuit switch. - Syntax
switch <id> [value] [properties] [#color]- Properties
-
state: enum(open | closed) · requiredx: quantity(length)y: quantity(length)
lamp A two-terminal lamp with rated voltage and power. - Syntax
lamp <id> [value] [properties] [#color]- Properties
-
rated_voltage: quantity(voltage) · requiredrated_power: quantity(power) · requiredx: quantity(length)y: quantity(length)
charge A point charge used as an electrostatic source or probe. - Syntax
charge <id> [value] [properties] [#color]- Properties
-
value: quantity(charge) · requiredrole: enum(source | test)x: quantity(length)y: quantity(length)
field A scalar or vector physical field. - Syntax
field <id> [value] [properties] [#color]- Properties
-
type: enum(electric | magnetic | gravitational | electromagnetic)strength: quantity(field_strength)electric_strength: quantity(electric_field)magnetic_strength: quantity(magnetic_field)x_min: quantity(length)x_max: quantity(length)direction: identifierfrequency: quantity(frequency)phase: quantity(angle)sources: identifier
coil A conducting coil used in induction or circuit models. - Syntax
coil <id> [value] [properties] [#color]- Properties
-
turns: unitless numberradius: quantity(length)resistance: quantity(resistance)inductance: quantity(inductance)x: quantity(length)y: quantity(length)
magnet A permanent or prescribed magnetic dipole. - Syntax
magnet <id> [value] [properties] [#color]- Properties
-
dipole_moment: quantity(magnetic_dipole_moment)strength: quantity(magnetic_field)direction: identifierx: quantity(length)y: quantity(length)
medium A material region through which a wave or ray travels. - Syntax
medium <id> [value] [properties] [#color]- Properties
-
refractive_index: unitless numberdensity: quantity(density)material: textx: quantity(length)y: quantity(length)
light A light source, beam, or ray. - Syntax
light <id> [value] [properties] [#color]- Properties
-
role: enum(source | ray | beam | photon)wavelength: quantity(wavelength)frequency: quantity(frequency)color: identifierdirection: identifierx: quantity(length)y: quantity(length)
object An optical object whose image is formed by an optical system. - Syntax
object <id> [value] [properties] [#color]- Properties
-
height: quantity(length)subject: identifierx: quantity(length)y: quantity(length)
mirror A reflective optical element. - Syntax
mirror <id> [value] [properties] [#color]- Properties
-
shape: enum(plane | concave | convex)focal_length: quantity(length)angle: quantity(angle)x: quantity(length)y: quantity(length)
lens A refractive optical element. - Syntax
lens <id> [value] [properties] [#color]- Properties
-
type: enum(converging | diverging)focal_length: quantity(length) · requiredx: quantity(length)y: quantity(length)
prism A dispersive optical prism. - Syntax
prism <id> [value] [properties] [#color]- Properties
-
apex_angle: quantity(angle)refractive_index: unitless numberx: quantity(length)y: quantity(length)
screen A surface on which rays, waves, or particles are observed. - Syntax
screen <id> [properties] [#color]- Properties
-
width: quantity(length)height: quantity(length)x: quantity(length)y: quantity(length)
beam_splitter An optical component that splits one beam into transmitted and reflected paths. - Syntax
beam_splitter <id> [value] [properties] [#color]- Properties
-
ratio: unitless numberangle: quantity(angle)x: quantity(length)y: quantity(length)
wave A propagating or standing wave. - Syntax
wave <id> [value] [properties] [#color]- Properties
-
type: enum(mechanical | sound | electromagnetic | matter)amplitude: unitless numberfrequency: quantity(frequency)wavelength: quantity(wavelength) | symbolvelocity: quantity(velocity)phase: quantity(angle)field: identifierx: quantity(length)y: quantity(length)
reservoir A thermal reservoir or material energy store. - Syntax
reservoir <id> [value] [properties] [#color]- Properties
-
temperature: quantity(temperature)energy: quantity(energy)medium: textx: quantity(length)y: quantity(length)
engine A thermodynamic engine or cyclic process component. - Syntax
engine <id> [value] [properties] [#color]- Properties
-
efficiency: unitless numberpower: quantity(power)x: quantity(length)y: quantity(length)
ensemble A statistical ensemble of microscopic constituents. - Syntax
ensemble <id> [value] [properties] [#color]- Properties
-
particles: unitless numbermicrostates: unitless numberentropy: quantity(entropy)x: quantity(length)y: quantity(length)
fluid A homogeneous fluid used by hydrostatic and flow models. - Syntax
fluid <id> [value] [properties] [#color]- Properties
-
density: quantity(density) · requiredpressure: quantity(pressure)gravity: quantity(acceleration)type: enum(ideal | viscous | incompressible)x: quantity(length)y: quantity(length)
particle A material particle or radiation quantum. - Syntax
particle <id> [value] [properties] [#color]- Properties
-
type: identifiermass: quantity(mass) | symbolcharge: quantity(charge) | symbolenergy: quantity(energy) | symbolmomentum: quantity(momentum) | symbolvelocity: quantity(velocity) | symbolwavelength: quantity(wavelength) | symbolfrequency: quantity(frequency) | symbolspin: identifierdirection: identifierx: quantity(length)y: quantity(length)level: identifierstate: identifier
atom An atom with an optional structural model. - Syntax
atom <id> [properties] [#color]- Properties
-
element: textmodel: identifierx: quantity(length)y: quantity(length)
nucleus An atomic nucleus or nuclear reaction fragment. - Syntax
nucleus <id> [value] [properties] [#color]- Properties
-
isotope: textprotons: unitless numberneutrons: unitless numbermass: quantity(mass) | symbolx: quantity(length)y: quantity(length)
energy_level A discrete energy level or quantum state. - Syntax
energy_level <id> [value] [properties] [#color]- Properties
-
energy: quantity(energy) | symbol · requiredn: unitless numberlabel: textx: quantity(length)y: quantity(length)
wavefunction A quantum state represented by a wavefunction. - Syntax
wavefunction <id> [value] [properties] [#color]- Properties
-
state: identifierenergy: quantity(energy) | symbolposition_spread: quantity(length) | symbolmomentum_spread: quantity(momentum) | symbolx: quantity(length)y: quantity(length)
aperture A slit, crystal, or opening used for diffraction. - Syntax
aperture <id> [value] [properties] [#color]- Properties
-
type: enum(single_slit | double_slit | grating | crystal)width: quantity(length) | symbolspacing: quantity(length) | symbolx: quantity(length)y: quantity(length)
sample A physical sample with measurable composition or activity. - Syntax
sample <id> [value] [properties] [#color]- Properties
-
material: textactivity: quantity(activity) | symbolmass: quantity(mass) | symbolx: quantity(length)y: quantity(length)
reactor A controlled nuclear chain-reaction assembly. - Syntax
reactor <id> [value] [properties] [#color]- Properties
-
multiplication: unitless numbermoderator: textpower: quantity(power) | symbolx: quantity(length)y: quantity(length)
reference_frame An inertial reference frame. - Syntax
reference_frame <id> [value] [properties] [#color]- Properties
-
velocity: quantity(velocity) | symboldirection: identifierx: quantity(length)y: quantity(length)
event A spacetime event. - Syntax
event <id> [value] [properties] [#color]- Properties
-
x: quantity(length) | symboltime: quantity(time) | symbol · requiredlabel: text
Connections
series Connects physical components in sequence. - Syntax
<entity> <-> <entity>- Properties
- none
parallel Connects two-terminal electrical branches in parallel. - Syntax
<entity> <=> <entity>- Properties
- none
Physical relations
trajectory A sliding point body follows ordered surfaces into an anchored spring. Currently supports one smooth incline and one rough horizontal run. - Syntax
trajectory <name> body=<entity> stages=(<entity>, ...) [properties]- Properties
-
body: identifier · requiredstages: identifier · requiredtransition: enum(lossless) · required
shaft A motor shaft directly drives a winding drum without gearing or slip. - Syntax
shaft <name> source=<entity> target=<entity> [properties]- Properties
-
source: identifier · requiredtarget: identifier · required
winding A drum winds an ideal vertical rope attached to one hanging load. - Syntax
winding <name> drum=<entity> load=<entity> [properties]- Properties
-
drum: identifier · requiredload: identifier · required
contact The subject is in contact with and supported by one target. - Syntax
contact <name> body=<entity> support=<entity> [properties]<body> on <support> [properties]- Properties
-
body: identifier · requiredsupport: identifier · requiredcontact: enum(fixed | sliding | rolling)
attachment The subject is physically attached to one target. - Syntax
attachment <name> subject=<entity> target=<entity> [properties]- Properties
-
subject: identifier · requiredtarget: identifier · requiredat: identifier
pivot A rigid body rotates about one support or anchor. - Syntax
pivot <name> body=<entity> support=<entity> [properties]- Properties
-
body: identifier · requiredsupport: identifier · requiredposition: quantity(length)
rolling The subject rolls on one surface. - Syntax
rolling <name> body=<entity> surface=<entity> [properties]- Properties
-
body: identifier · requiredsurface: identifier · requiredmode: enum(without_slipping | with_slipping)
orbit The subject follows an orbit around a point or body. - Syntax
orbit <name> body=<entity> center=<entity> [properties]- Properties
-
body: identifier · requiredcenter: identifier · requiredradius: quantity(length)semi_major_axis: quantity(length)eccentricity: unitless numberobservation_radius: quantity(length)direction: enum(clockwise | counterclockwise)start: enum(apoapsis | periapsis)speed: quantity(velocity)period: quantity(time)phase: quantity(angle)
launch The subject is launched from a surface. - Syntax
launch <name> body=<entity> origin=<entity> [properties]- Properties
-
body: identifier · requiredorigin: identifier · requiredspeed: quantity(velocity) · requiredangle: quantity(angle) · requiredheight: quantity(length)gravity: quantity(acceleration)
collision The subject collides with another physical body. - Syntax
collision <name> projectile=<entity> target=<entity> [properties]- Properties
-
projectile: identifier · requiredtarget: identifier · requiredrestitution: unitless numberaxis: identifier
application A force or torque acts on one physical body. - Syntax
application <name> force=<entity> body=<entity> [properties]<force> on <body> [properties]- Properties
-
force: identifier · requiredbody: identifier · requiredposition: quantity(length)at: identifier
attraction The subject experiences an attractive interaction with a target. - Syntax
attraction <name> subject=<entity> target=<entity> [properties]- Properties
-
subject: identifier · requiredtarget: identifier · requiredlaw: identifiermagnitude: quantity(force)
field_source A field receives a contribution from one or more sources. - Syntax
field_source <name> field=<entity> sources=(<entity>, ...) [properties]- Properties
-
field: identifier · requiredsources: identifier · required
exposure The subject moves through one or more fields or material regions. - Syntax
exposure <name> body=<entity> regions=(<entity>, ...) [properties]<body> in <regions>, ... [properties]- Properties
-
body: identifier · requiredregions: identifier · requiredvelocity: quantity(velocity)direction: identifierlength: quantity(length)
induction The subject produces electromagnetic induction in a coil or circuit. - Syntax
induction <name> source=<entity> target=<entity> [properties]- Properties
-
source: identifier · requiredtarget: identifier · requiredmotion: identifierdistance: quantity(length)axis: identifier
measurement The subject is measured by a detector. - Syntax
measurement <name> subject=<entity> detector=<entity> [properties]- Properties
-
subject: identifier · requireddetector: identifier · requiredobservable: identifierreading: identifier
propagation The subject propagates from its source toward a target. - Syntax
propagation <name> source=<entity> target=<entity> [properties]<source> -> <target> [properties]- Properties
-
source: identifier · requiredtarget: identifier · requireddistance: quantity(length)velocity: quantity(velocity)
refraction A ray passes from an incident medium into a transmitted medium. - Syntax
refraction <name> incident=<entity> from=<entity> to=<entity> [properties]<incident> -> <from> -> <to> [properties]- Properties
-
incident: identifier · requiredfrom: identifier · requiredto: identifier · requiredincidence_angle: quantity(angle) · required
reflection A ray reflects from a mirror or boundary. - Syntax
reflection <name> incident=<entity> surface=<entity> [properties]<incident> -> <surface> [properties]- Properties
-
incident: identifier · requiredsurface: identifier · requiredincidence_angle: quantity(angle)
dispersion White light disperses through a prism onto an observation surface. - Syntax
dispersion <name> source=<entity> prism=<entity> detector=<entity> [properties]<source> -> <prism> -> <detector> [properties]- Properties
-
source: identifier · requiredprism: identifier · requireddetector: identifier · required
imaging An optical object forms an image through a lens or mirror. - Syntax
imaging <name> object=<entity> optic=<entity> [properties]<object> -> <optic> [properties]- Properties
-
object: identifier · requiredoptic: identifier · requiredobject_distance: quantity(length) · required
interference A wave interferes with another wave at a detector or screen. - Syntax
interference <name> first=<entity> second=<entity> detector=<entity> [properties]- Properties
-
first: identifier · requiredsecond: identifier · requireddetector: identifier · required
deflection A light ray is deflected around a massive body toward an observation point. - Syntax
deflection <name> incident=<entity> mass=<entity> observer=<entity> [properties]- Properties
-
incident: identifier · requiredmass: identifier · requiredobserver: identifier · requiredangle: quantity(angle) · required
transmission Radiation passes through an object toward a detector or screen. - Syntax
transmission <name> incident=<entity> material=<entity> detector=<entity> [properties]- Properties
-
incident: identifier · requiredmaterial: identifier · requireddetector: identifier · required
transfer Energy is transferred from the subject to a target. - Syntax
transfer <name> source=<entity> target=<entity> [properties]- Properties
-
source: identifier · requiredtarget: identifier · requiredamount: quantity(energy)form: enum(heat | work | radiation | electrical | mechanical_to_thermal | electrical_to_thermal)duration: quantity(time)label: text
cycle A thermodynamic engine exchanges energy between two reservoirs. - Syntax
cycle <name> engine=<entity> hot=<entity> cold=<entity> [properties]- Properties
-
engine: identifier · requiredhot: identifier · requiredcold: identifier · requiredheat_in: quantity(energy)heat_out: quantity(energy)work: quantity(energy)schedule: identifier
equilibrium A body is in hydrostatic equilibrium in a fluid. - Syntax
equilibrium <name> body=<entity> fluid=<entity> [properties]- Properties
-
body: identifier · requiredfluid: identifier · requiredsubmerged_fraction: unitless numberinitial_displacement: quantity(length)
occupation A particle occupies a discrete energy level. - Syntax
occupation <name> particle=<entity> level=<entity> [properties]- Properties
-
particle: identifier · requiredlevel: identifier · required
state A particle is represented by a quantum state. - Syntax
state <name> particle=<entity> wavefunction=<entity> [properties]- Properties
-
particle: identifier · requiredwavefunction: identifier · required
transition A particle transitions between two energy levels. - Syntax
transition <name> particle=<entity> from=<entity> to=<entity> [properties]- Properties
-
particle: identifier · requiredfrom: identifier · requiredto: identifier · requiredphoton: quantity(energy) | symboldirection: enum(absorption | emission)
diffraction A particle, light ray, or wave diffracts through an aperture toward a detector. - Syntax
diffraction <name> incident=<entity> aperture=<entity> detector=<entity> [properties]<incident> -> <aperture> -> <detector> [properties]- Properties
-
incident: identifier · requiredaperture: identifier · requireddetector: identifier · required
scattering A projectile scatters from a target toward a detector. - Syntax
scattering <name> incident=<entity> target=<entity> detector=<entity> [properties]- Properties
-
incident: identifier · requiredtarget: identifier · requireddetector: identifier · requiredangle: quantity(angle) | symbolenergy: quantity(energy) | symbol
photoelectric An incident quantum causes a particle to be emitted from material. - Syntax
photoelectric <name> incident=<entity> material=<entity> emitted=<entity> [properties]- Properties
-
incident: identifier · requiredmaterial: identifier · requiredemitted: identifier · requiredwork_function: quantity(energy) · requiredangle: quantity(angle)incident_distance: quantity(length)
signal A signal connects two events in a reference frame. - Syntax
signal <name> carrier=<entity> from=<entity> to=<entity> frame=<entity> [properties]- Properties
-
carrier: identifier · requiredfrom: identifier · requiredto: identifier · requiredframe: identifier · required
pair A particle is paired with its antiparticle. - Syntax
pair <name> particle=<entity> antiparticle=<entity> [properties]- Properties
-
particle: identifier · requiredantiparticle: identifier · required
decay A parent sample, nucleus, or particle decays into declared products. - Syntax
decay <name> parent=<entity> products=(<entity>, ...) [properties]- Properties
-
parent: identifier · requiredproducts: identifier · requiredhalf_life: quantity(time) | symbolenergy: quantity(energy) | symbol
reaction The subject reacts or collides with a target and declared products. - Syntax
reaction <name> projectile=<entity> target=<entity> products=(<entity>, ...) [properties]- Properties
-
projectile: identifier · requiredtarget: identifier · requiredproducts: identifier · requiredenergy: quantity(energy) | symbol
fission A nucleus undergoes fission after impact by a projectile. - Syntax
fission <name> nucleus=<entity> projectile=<entity> fragment_a=<entity> fragment_b=<entity> [properties]- Properties
-
nucleus: identifier · requiredprojectile: identifier · requiredfragment_a: identifier · requiredfragment_b: identifier · requiredenergy: quantity(energy) | symbolneutrons: unitless number
chain A reactor sustains a chain reaction from nuclear fuel. - Syntax
chain <name> reactor=<entity> fuel=<entity> [properties]- Properties
-
reactor: identifier · requiredfuel: identifier · requiredgenerations: unitless number
Actions
animate Run an experiment or parameter change. duration is experiment time; until <observable> == <quantity> stops at a supported first arrival instead. speed is viewing speed (1 = normal, 0.5 = half speed). - Syntax
animate [target] [properties]- Properties
-
duration: quantity(time)speed: unitless numberdistance: quantity(length)displacement: quantity(length)angle: quantity(angle)amplitude: quantity(length)incidence_angle: quantity(angle)object_distance: quantity(length)direction: identifier
set Set a global or named initial condition. - Syntax
set <target> [value] [properties]- Properties
-
value: any value
place Place an entity for a custom diagram layout without changing its physics. - Syntax
place <target> [properties]- Properties
-
x: unitless numbery: unitless numbervariant: enum(compact | standard | wide | print | poster)
Observations
show show entity: default details; show entity.all: all available details; show entity.feature: one detail. Separate objects with spaces or commas. Does not start animation or change physical constraints. - Syntax
show <entity> [entity...]show <entity>.all | show <entity>.<feature> [entity.feature...]- Properties
-
motion: textpath: textmotion_track: textodd_intervals: textdistance: textdisplacement: texttime: textvelocity: textacceleration: textapex: textrange: textgravity: textforces: textforce_diagram: texttension: texttorque: textinertia: textangular_acceleration: textmechanical_advantage: textequilibrium: textperiod: textenergy: textmomentum: textangular_momentum: textcurrent: textvoltage: textpower: textcharge: textelectric_field: textmagnetic_field: textflux: textinduction: textwave: textphase: textwavelength: textinterference: textrays: textnormal: textangles: textcritical_angle: textimage: textprincipal_rays: textimage_distance: textmagnification: textheat: textwork: textefficiency: textpressure: textbuoyancy: textwaterline: textstates: textlevels: textprobability: textuncertainty: textevents: textworldline: textactivity: textdecay: textreaction: text
Colors
#red Red emphasis. - Syntax
<entity or path segment> #red- Properties
- none
#orange Orange emphasis. - Syntax
<entity or path segment> #orange- Properties
- none
#gold Gold emphasis. - Syntax
<entity or path segment> #gold- Properties
- none
#green Green emphasis. - Syntax
<entity or path segment> #green- Properties
- none
#blue Blue emphasis. - Syntax
<entity or path segment> #blue- Properties
- none
#purple Purple emphasis. - Syntax
<entity or path segment> #purple- Properties
- none
#gray Neutral gray. - Syntax
<entity or path segment> #gray- Properties
- none
#black Black emphasis. - Syntax
<entity or path segment> #black- Properties
- none
#white White emphasis. - Syntax
<entity or path segment> #white- Properties
- none