# Feature reference Generated from the package declarations. Values below are defaults, not live node values. Short names are the normal interface. Existing `physics...` styles and `physics ...` key aliases remain supported. Use `\physicshelp{wedge}` inside a `tikzpicture` to display the same reference. For a named object use `show keys` or `show anchors`. All objects support ordinary TikZ styling; see the manual for transformation and sizing limitations. Percentage families accept integers 0 through 100. ## platform-left (node) | Key | Default | | --- | --- | | `minimum width` | 5cm | | `minimum height` | 2cm | | `strip width` | 0.25cm | | `wall angle` | -90 degrees | Size aliases: platform width = minimum width; platform depth = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, corner, floor-tl, floor-tr, floor-br, floor-bl, floor-top-mid, floor-bottom-mid, floor-left-mid, floor-right-mid, floor-center, wall-A, wall-B, wall-C, wall-D, wall-outer-mid, wall-inner-mid, wall-near-mid, wall-far-mid, wall-center, text **Families:** floor-bottom-0..100, floor-right-0..100, floor-top-0..100, floor-left-0..100, wall-outer-0..100, wall-inner-0..100, wall-near-0..100, wall-far-0..100 Default hook: `every platform`. ## platform-right (node) | Key | Default | | --- | --- | | `minimum width` | 5cm | | `minimum height` | 2cm | | `strip width` | 0.25cm | | `wall angle` | -90 degrees | Size aliases: platform width = minimum width; platform depth = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, corner, floor-tl, floor-tr, floor-br, floor-bl, floor-top-mid, floor-bottom-mid, floor-left-mid, floor-right-mid, floor-center, wall-A, wall-B, wall-C, wall-D, wall-outer-mid, wall-inner-mid, wall-near-mid, wall-far-mid, wall-center, text **Families:** floor-bottom-0..100, floor-right-0..100, floor-top-0..100, floor-left-0..100, wall-outer-0..100, wall-inner-0..100, wall-near-0..100, wall-far-0..100 Default hook: `every platform`. ## platform (node) | Key | Default | | --- | --- | | `minimum width` | 5cm | | `minimum height` | 2cm | | `strip width` | 0.25cm | | `wall angle` | -90 degrees | | `left wall angle` | -90 degrees | | `right wall angle` | -90 degrees | Size aliases: platform width = minimum width; platform depth = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, left-corner, right-corner, floor-tl, floor-tr, floor-br, floor-bl, floor-top-mid, floor-bottom-mid, floor-center, left-wall-A, left-wall-B, left-wall-C, left-wall-D, left-wall-outer-mid, left-wall-inner-mid, left-wall-far-mid, left-wall-near-mid, right-wall-A, right-wall-B, right-wall-C, right-wall-D, right-wall-outer-mid, right-wall-inner-mid, right-wall-far-mid, right-wall-near-mid, text **Families:** floor-bottom-0..100, floor-right-0..100, floor-top-0..100, floor-left-0..100, left-wall-outer-0..100, left-wall-inner-0..100, left-wall-near-0..100, left-wall-far-0..100, right-wall-outer-0..100, right-wall-inner-0..100, right-wall-near-0..100, right-wall-far-0..100 Default hook: `every platform`. ## wedge (node) | Key | Default | | --- | --- | | `minimum width` | 4cm | | `wedge height` | derived | | `wedge angle` | 30 degrees | | `wedge right angle at` | br | | `surface guide length` | 0.5cm | Size aliases: wedge width = minimum width. **Anchors:** surface-start, surface-end, center, north, south, east, west, north east, north west, south east, south west, bl, br, top, base-mid, right-mid, slope-mid, slope-right-mid, centroid, mid, text **Families:** base-0..100, right-0..100, slope-0..100, surface-0..100, tangent-before-0..100, tangent-after-0..100, normal-0..100, right-surface-0..100, right-tangent-before-0..100, right-tangent-after-0..100, right-normal-0..100 surface runs left to right on the usable incline; top mode uses the left face. right-surface selects the right face in top mode. Legacy slope/right/base families keep their CCW directions. Directions and normals are local to the node. Default hook: `every wedge`. ## ground (node) | Key | Default | | --- | --- | | `minimum width` | 6cm | | `minimum height` | 0.3cm | Size aliases: ground width = minimum width; ground depth = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, top-left, top-right, top-mid, bottom-left, bottom-right, bottom-mid, left-mid, right-mid, surface, text **Families:** bottom-0..100, right-0..100, top-0..100, left-0..100 Default hook: `every ground`. ## ceiling (node) | Key | Default | | --- | --- | | `minimum width` | 2cm | | `minimum height` | 0.3cm | Size aliases: ceiling width = minimum width; ceiling depth = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, top-left, top-right, top-mid, bottom-left, bottom-right, bottom-mid, left-mid, right-mid, surface, text **Families:** bottom-0..100, right-0..100, top-0..100, left-0..100 Default hook: `every ceiling`. ## wall-left (node) | Key | Default | | --- | --- | | `minimum width` | 0.3cm | | `minimum height` | 3cm | Size aliases: wall thickness = minimum width; wall height = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, top-left, top-right, top-mid, bottom-left, bottom-right, bottom-mid, left-mid, right-mid, surface, text **Families:** bottom-0..100, right-0..100, top-0..100, left-0..100 Default hook: `every wall-left`. ## wall-right (node) | Key | Default | | --- | --- | | `minimum width` | 0.3cm | | `minimum height` | 3cm | Size aliases: wall thickness = minimum width; wall height = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, top-left, top-right, top-mid, bottom-left, bottom-right, bottom-mid, left-mid, right-mid, surface, text **Families:** bottom-0..100, right-0..100, top-0..100, left-0..100 Default hook: `every wall-right`. ## ramp (node) | Key | Default | | --- | --- | | `minimum width` | 8.6cm | | `ramp run` | 2.6cm | | `ramp rise` | derived | | `ramp angle` | 30 | | `ramp depth` | 0.25cm | | `ramp wall height` | 1.5cm | | `ramp wall width` | 0.25cm | | `ramp direction` | right | | `ramp guide length` | 0.5cm | **Anchors:** center, surface-start, surface-mid, surface-end, floor-start, floor-mid, floor-end, ramp-foot, ramp-mid, ramp-top, wall-top, wall-mid, wall-bottom, base-start, base-end, angle-baseline, angle-label, angle-first, angle-second, text **Families:** surface-0..100, tangent-before-0..100, tangent-after-0..100, normal-0..100; legacy .0..100 shorthand also available surface follows the whole contact path by distance. At the sharp joint the tangent uses the incline side. Default hook: `every ramp`. ## curved-ramp (node) | Key | Default | | --- | --- | | `curved ramp floor length` | 2.5cm | | `curved ramp radius` | 4cm | | `curved ramp angle` | 90 | | `curved ramp back extension` | 1cm | | `ramp depth` | 0.25cm | | `ramp direction` | right | | `ramp guide length` | 0.5cm | **Anchors:** center, surface-start, surface-mid, surface-end, curve-center, curve-start, curve-mid, curve-end, floor-start, floor-mid, floor-end, base-start, base-end, back-top, back-bottom, text **Families:** surface-0..100, curve-0..100, tangent-before-0..100, tangent-after-0..100, normal-0..100, curve-tangent-before-0..100, curve-tangent-after-0..100, curve-normal-0..100; legacy .0..100 shorthand also available surface follows floor plus arc by distance; curve follows the arc only. Default hook: `every curved-ramp`. ## block (node) | Key | Default | | --- | --- | | `minimum width` | 1cm | | `minimum height` | 1cm | Size aliases: block width = minimum width; block height = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, base, base east, base west, mid, mid east, mid west, text **Families:** Numeric anchors are angles in degrees, as in ordinary TikZ. Default hook: `every block`. ## pulley (node) | Key | Default | | --- | --- | | `minimum size` | 1cm | | `pulley axle radius` | 2pt | | `pulley axle color` | black | Size aliases: pulley diameter = minimum size. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, base, base east, base west, mid, mid east, mid west, text **Families:** Numeric anchors are angles in degrees, as in ordinary TikZ. Use a circular pulley with external rope endpoints. Set pulley axle radius=none to hide the axle. Default hook: `every pulley`. ## particle (node) | Key | Default | | --- | --- | | `minimum size` | 3mm | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, base, base east, base west, mid, mid east, mid west, text **Families:** Numeric anchors are angles in degrees, as in ordinary TikZ. Default hook: `every particle`. ## disk (node) | Key | Default | | --- | --- | | `minimum size` | 15mm | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, base, base east, base west, mid, mid east, mid west, text **Families:** Numeric anchors are angles in degrees, as in ordinary TikZ. Default hook: `every disk`. ## ring (node) | Key | Default | | --- | --- | | `minimum size` | 15mm | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, base, base east, base west, mid, mid east, mid west, text **Families:** Numeric anchors are angles in degrees, as in ordinary TikZ. Default hook: `every ring`. ## spring (path) | Key | Default | | --- | --- | | `pre length` | 5pt | | `post length` | 5pt | | `amplitude` | 4.5pt | | `segment length` | 4.5pt | | `aspect` | 0.5 | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Use draw[spring] (A)--(B). No private anchors. Lead lengths may be zero; amplitude and segment length must be positive. Default hook: `every spring`. ## rope (path) | Key | Default | | --- | --- | | `line width` | 0.5pt | | `over pulley` | required node name | | `string route` | surface-right | | `string start solution` | 2 | | `string end solution` | 1 | | `string wrap` | clockwise | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Use draw[rope] (A) to[over pulley=P] (B). Endpoints must lie outside a circular pulley. Labels on to sit on the final straight segment. shortest changes wrap only, not the tangent pair. Default hook: `every rope`. ## force (path) | Key | Default | | --- | --- | | `line width` | 0.7pt | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Default hook: `every force`. ## velocity (path) | Key | Default | | --- | --- | | `line width` | 0.6pt | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Default hook: `every velocity`. ## acceleration (path) | Key | Default | | --- | --- | | `line width` | 0.6pt | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Default hook: `every acceleration`. ## torque (path) | Key | Default | | --- | --- | | `line width` | 0.7pt | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Default hook: `every torque`. ## rod (path) | Key | Default | | --- | --- | | `line width` | 2pt | **Anchors:** No private anchors; use path endpoints and nodes along the path. **Families:** None Default hook: `every rod`. ## pin-support (pic) | Key | Default | | --- | --- | | `support size` | 6mm | **Anchors:** pivot, base, left, right **Families:** None Use pic (S) {pin-support}; anchors are coordinates (S-pivot), (S-base), (S-left), (S-right). Default hook: `every support`. ## roller-support (pic) | Key | Default | | --- | --- | | `support size` | 6mm | **Anchors:** pivot, base, left, right **Families:** None Use pic (S) {roller-support}; anchors are coordinates (S-pivot), (S-base), (S-left), (S-right). Default hook: `every support`. ## pendulum (pic) | Key | Default | | --- | --- | | `pendulum length` | 2cm | | `pendulum angle` | 30 degrees | **Anchors:** pivot, bob (node) **Families:** None Use pic (P) {pendulum}. Angle is measured from downward vertical; positive swings right. Length is pivot to bob centre. Use (P-pivot) and (P-bob.center). Default hook: `every pendulum`. ## concave-mirror (node) | Key | Default | | --- | --- | | `mirror radius` | 5cm | | `mirror thickness` | 0.25cm | | `mirror aperture angle` | 30 degrees | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, vertex, arc-mid, surface-mid, front-mid, back-mid, front-top, front-bottom, surface-top, surface-bottom, back-top, back-bottom, top, bottom, text **Families:** surface-0..100, front-0..100, back-0..100; legacy .0..100 shorthand also available Default hook: `every concave-mirror`. ## convex-mirror (node) | Key | Default | | --- | --- | | `mirror radius` | 5cm | | `mirror thickness` | 0.25cm | | `mirror aperture angle` | 30 degrees | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, vertex, arc-mid, surface-mid, front-mid, back-mid, front-top, front-bottom, surface-top, surface-bottom, back-top, back-bottom, top, bottom, text **Families:** surface-0..100, front-0..100, back-0..100; legacy .0..100 shorthand also available Default hook: `every convex-mirror`. ## convex-lens (node) | Key | Default | | --- | --- | | `convex lens radius` | 5cm | | `convex lens thickness` | 0.2cm | | `convex lens aperture angle` | 25 degrees | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, front-mid, back-mid, front-top, front-bottom, back-top, back-bottom, top, bottom, text **Families:** front-0..100, back-0..100; legacy .0..100 shorthand also available Default hook: `every convex-lens`. ## concave-lens (node) | Key | Default | | --- | --- | | `concave lens radius` | 5cm | | `concave lens thickness` | 0.2cm | | `concave lens aperture angle` | 25 degrees | **Anchors:** center, north, south, east, west, north east, north west, south east, south west, front-mid, back-mid, front-top, front-bottom, back-top, back-bottom, top, bottom, text **Families:** front-0..100, back-0..100; legacy .0..100 shorthand also available Default hook: `every concave-lens`. ## slab (node) | Key | Default | | --- | --- | | `minimum width` | 1.2cm | | `minimum height` | 3cm | Size aliases: slab width = minimum width; slab height = minimum height. **Anchors:** center, north, south, east, west, north east, north west, south east, south west, front, back, front-top, front-bottom, back-top, back-bottom, top, bottom, text **Families:** front-0..100, back-0..100, top-0..100, bottom-0..100; legacy .0..100 shorthand also available Default hook: `every slab`. ## prism (node) | Key | Default | | --- | --- | | `minimum width` | 3cm | | `minimum height` | 2.6cm | | `prism apex angle` | derived | Size aliases: prism width = minimum width; prism height = minimum height. **Anchors:** center, centroid, north, south, east, west, north east, north west, south east, south west, apex, base-left, base-right, base-mid, left-mid, right-mid, entry-mid, exit-mid, text **Families:** base-0..100, right-0..100, left-0..100; legacy .0..100 shorthand also available Default hook: `every prism`.