# Data modeling ## objects ### primary shapes **signs** * id * descriptor * meanings: many-to-many **meanings** * dh: many-to-many **handshapes** * ndh: many-to-many **handshapes** * one-handed sign = null * two-handed sign * symmetric = same id as *dh* * assymmetric = different id than *dh* * darm: many-to-many **armshapes** * ndarm: many-to-many **armshapes** * nmm: **nonmanual_markers** * location: text - comment - descriptor * hand_synchronization: **synchronization_modes** * comment - the way each hand moves in relation to the other * arm_synchronization: **synchronization_modes** * comment - the way each arm moves in relation to the other * depiction: many-to-many **media** **handshapes** * id * descriptor: text * shape: **primes** * orientation * finger_movement: many-to-many **prime_movements** * wrist_movement: many-to-many **hand_movements** * comment - rotations from the neutral orientation * depiction: many-to-many **media** **primes** * id * descriptor: text * index_finger: **finger_shape** * middle_finger: **finger_shape** * ring_finger: **finger_shape** * pinky_finger: **finger_shape** * thumb_finger: **thumb_shape** * thumb_aperture * comment - vec3 angle between thumb and hand * depiction: many-to-many **media** **finger_shape** * id * type: * closed * bent * claw * open * tightness * comment - degree of openness; e.g. distinguishes between S (fist), O, and flat-O; may be interpreted as the distance of the tip of the finger from the base, near the palm **thumb_shape** * id * type: * palm * pressed against the palm (under the other fingers, if closed), e.g. B * fist * pressed against the outside of closed fingers, e.g. S * parallel * extending along the line of the fingers, e.g. A * normal * extending outward along the normal of the fingers, e.g. 10 * perpindicular * extending outward away from the palm Z-axis, e.g. G **armshapes** * id * descriptor: text * arm: **arms** * movement: many-to-many **arm_movements** * depiction: many-to-many **media** **arms** * id * descriptor: text * elbow_location * upper_rotation * lower_rotation **nonmanual_markers** * id * descriptor: text * depiction: many-to-many **media** ### movement **arm_movements** * id * descriptor: text * elbow_motion: many-to-many **motions** * upper_motion: many-to-many **motions** * lower_motion: many-to-many **motions** * depiction * animation **motions** * id * descriptor: text * spline **hand_movements** * id * descriptor: text * target_rotation: **spline** * comment - offsets/changes relative to the neutral * loop: **loop_modes** * speed * comment - quickness of motion between control points * animation **prime_movements** * id * descriptor: text * target_position: **spline** * synchronization: **synchronization_modes** * loop: **loop_modes** * speed * comment - quickness of motion between control points * animation **synchronization_modes** * id * mode * alternating * comment - one finger moves per *loop* before the next moves * following * comment - one finger moves to target & the next begins movement * random * comment - fingers move to target in random order * concurrent * comment - movement of each finger conforms to the other, i.e. is concurrent **loop_modes** * id * mode * none * comment - finger moves to target & is held * pingpong * comment - finger moves to target & back to neutral * once * comment - finger moves to target & back to neutral two times * continuous * comment - finger moves between target & neutral for the duration ### 3d data **curve** a Bezier curve. the number of non-null points determines the type, i.e. linear=cp0+cp1, quadratic=cp0+cp1+cp2, cubic=cp0+cp1+cp2 * id * cp0: vec3 * cp1: vec3 * cp2: vec3 * cp3: vec3 **spline** a polybezier, i.e. continuous composite Bezier * id **spline_curves** a link table for the curves of a spline * spline * curve ### media **media** * id * image * video * gltf: **gltf_object** **animations** * id * pose: many-to-many **poses** * comment - only applicable to linked poses * modifiers * comment - gltf representation of modifications to produce animation * media: many-to-many **media** * rendered media depictions **gltf_objects** * id * gltf_data * url **poses** * id * gltf: **gltf_objects** **image** * id * url **video** * id * url ### semantics **meanings** * id * depictions: many-to-many **images** * english_desc ## search ### relations **similars** * id * sign_1: **signs** * sign_2: **signs**