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