Gargoyle Design July 1, 1985 Objects and Hierarchies (Modeling) · Segments and Trajectories Segment (for now): A line segment, Bezier piece, or conic piece. Spline types may be altered as easily as Tioga looks. Object-oriented editing style: Public endpoints, Private internals. Trajectory: An ordered sequence (possibly closed) of segments. Trajectories may be split and concatenated. · Outlines A single open trajectory, or A single closed trajectory (called a fence), or A bounding fence with internal holes. Every trajectory is part of exactly one outline. · Clusters Only clusters are rigid (unlike Griffin). Holes are at the same priority and subtract. User Interface Decisions · Prefix, Infix, Postfix Prefix (Burton's Sketch): Modal. No illegal selections. Infix (Star). Worst of both worlds? Postfix (Griffin, Tioga): No modes. Illegal selections possible, but not likely. · Pop-up menus (with Viewers top-level menu) Don't use screen space (like Tioga menus). Aren't in the way (like Griffin menus). Don't take up TIP-table space. · Multi-mouse buttons Array of functions using mouse buttons and control keys Analogy to Tioga · Real-time dragging Intelligent Dragging · Beyond Grids and Constraints Precise Operations: Parallel, Congruent, Horizontal, Vertical Point on Curve, Point on Point, Curve Tangent to Curve Precise Scaling, Translation, and Rotation Symmetry Instancing Grid Problems: Realignment, Counting Grid Points, Limited to Grid Points Constraint Problems: Contraining Time, Whim of the Solver · Intelligent Dragging Real-time Dragging, Rotation, and Both. Angles, Lengths, Lines, and Curves of Interest -- Don't tell us, we'll tell you. Parallel, Horizontal, and Vertical = Angles of interest. Point on Curve, Point on Point, Curve tangent to Curve = Lines, and Curves of Interest. Symmetry · Symmetry Tools Temporary Correspondences. Propagation of Changes (almost Instancing). Precise Translation and Rotation. Automatically generates lines and curves of interest. Selection · Use Tioga reflexes to select objects in hierarchies Point, segment, trajectory, outline, cluster Implement shift-select for copy · Objects must be selected for all operations All operations apply to all objects Different from Griffin Move/Copy Move rigidly=all joints selected OR object in a cluster · Feedback: Use the joints Separate concepts of visible and selected joints Why: alignment, style, shift-select · Accelerators where appropriate Tioga Analogy · Tioga Document <=> Gargoyle Scene Character <=> Segment Word <=> Trajectory Node <=> Outline Intercharacter Space <=> Joint Caret between characters <=> caret at a joint Primary selection (underlined) <=> multiple primary selections (highlighted joints) Caret looks <=> caret looks. Plain, Bold, Italic, Underlined <=> Polygonal, Bezier, Natural, Thick Lines · Incomplete analogy multiple primary selections control points splice a control point in a segment · Extend selection ~ Box Select Freedom from Joints · The Combiner Problem for Splines Letting The User Play With Curve Intersection Points. New Area-Filling Shapes From Old Ones. · Specifying Arbitrary Touching Points · Painting Curve Sections Κ>–"slides" style˜Iunleaded•Mark insideFooteršΡdis˜K– outsideFooterš ˜ titlešΟb"˜"raggedšž˜šœA˜AM˜5MšœE˜E—˜?M˜+——šž ˜ M˜Mšœ%Οiœ˜/MšœŸœ˜%M˜0—šž ˜ M˜+M˜,——˜šž˜M˜9M˜$M˜R—šž,˜,M˜*M˜'M˜—šž˜M˜7M˜—Mšž˜—šž˜šž˜˜M˜)M˜6M˜*M˜—M˜ ˜M˜9—˜M˜$——šž˜M˜'M˜RMšœ%žœ ˜8Mšœ9žœ ˜W——šž˜šž˜M˜M˜+M˜!M˜5——˜ šž5˜5M˜,M˜—šž-˜-M˜#M˜ M˜7—šž˜M˜0M˜#—Mšž ˜ —šœ ˜ šž#˜#Mšœ˜M˜M˜M˜M˜-M˜SM˜Mš œžœŸœΟz œžœŸœ ˜K—šž˜Mšœ˜M˜M˜#—Mšž˜—šž˜šž"˜"M˜5M˜&—Mšž&˜&šž˜M˜———…— rΆ