Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grid stamping tool #188

Open
edemaine opened this issue Jun 3, 2021 · 0 comments
Open

Grid stamping tool #188

edemaine opened this issue Jun 3, 2021 · 0 comments
Labels
enhancement New feature or request priority High-priority because of requests or importance

Comments

@edemaine
Copy link
Owner

edemaine commented Jun 3, 2021

I wonder about a new Cocreate tool that simulates the easy "painting" features of the unreleased "SVG Tiler GUI" (square grid, hex grid). This is probably also an alternative to a point/dot tool (#175).

  • Choose from a variety of stamps, e.g.:
    • Dot centered on grid point (Point/dot tool #175), maybe a few different sizes
    • Dot in middle of grid square
    • Grid square or triangle or hex. Even nicer would be to stroke "inside" via double stroke width + clip.
    • Dual grid: draw dual hexagon in triangular grid
  • Each can be customized in terms of line width, fill color, stroke color (like any object)
  • Paint over grid dots or squares (depending on stamp)
  • If you paint over an existing object of same type, it gets replaced with this one. I think this "overwrite mode" is best; maybe there is also a draw-on-top mode? But maybe also want to toggle dots on top of squares...
  • Different stamp for right button would be nice too. Or maybe toggle behavior: if you stamp on an identical stamp, it cancels out (and drag paints with stamp eraser).
  • Stamp creation:
    1. Manual SVG <symbol>, including fillColor and strokeColor to define how assigning attributes behaves (similar to currentColor).
    2. Select objects, current stroke and fill and line thickness become wild (re-assigned when assigning attributes). Click a point for the origin.
  • Ideally instantiate stamp via <use>, but need a different symbol for each "version" (stroke/fill/thickness).
  • Can edit the stamp, by bringing up a new "page" for editing it. Maybe this is also a good way to create stamp. Special background color to indicate we're in stamp editing mode.
  • Ideally allow stamps within stamps, but detect and reject cycles
  • Maybe also can copy/paste stamps by dragging one stamp to another...
  • Can delink a stamp instance from stamp so you can edit the components.
  • Not yet addressed:
    • How to define flipping when doing opposite-parity triangles
    • How to define which grids this stamp works for
@edemaine edemaine added enhancement New feature or request priority High-priority because of requests or importance labels Jun 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority High-priority because of requests or importance
Projects
None yet
Development

No branches or pull requests

1 participant