Extensions reordering / renaming proposal

Hi, there are a few requests to reorder/regroup extensions (extensions#385 (closed), extensions#10). Here's my proposal, that I'd like to have UX feedback on (cc @doctormo):

  • Arrange
    • Deep ungroup
    • Restack
  • Color
    • ...
  • Document
    These extensions are logically connected with the entire document (layout).
    • AI Import postprocessor
    • Docinfo
    • DPI Switcher
    • Fill page with Grid [was: Render → Grid → Grid]
    • Guides Creator [was: Render → Guides Creator]
    • Layout (N-up layout, Perfect-Bound Cover,...) [was: Render → Layout]
  • Export
    • Export Layer Slices
    • Guillotine → Help tab is missing
    • Plot
    • Preprocess File save as (what does this do?) Broken since verb removal!
  • Generate from Path
    These extensions take one or more path elements as input. Adding objects is the foundation of their functionality.
    • Construct from Triangle [was: Render → Draw from Triangle]
    • Distribute along path [was: Scatter]
    • Extrude between two paths (Loft) [was: Extrude]
    • Inset/Outset halo
    • Interpolate between paths [was: Interpolate]
    • Long shadow [was: Motion]
    • Pattern along path
    • Voronoi Diagram
  • Images
    • Embed Images
    • Extract Images
    • Set Image Attributes
    • Maybe move Raster extensions here?
  • Modify Path
    These extensions modify one or more selected paths in-place.
    • Add nodes
    • Convert dashes to path [was: Convert to dashes]
    • Inset Shadow [was: Edge 3D]
    • Envelope Deformation [was: Envelope]
    • Approximate as polyonal line [was: Flatten Bezier]
    • Fractal distortion [was: Fractalize]
    • Jitter nodes
    • PixelSnap
    • Rubber strech (seems broken?)
    • Straighten Segments
    • To Absolute
    • Twirl [was: Whirl, I think it's called Twirl for raster images]
  • Raster
  • Generate [was: Render]
    These extensions don't need a selection as input, except maybe as bounding box for the rendered object.
    • 3D
      • 3D Polyhedron [was: Render → 3D Polyhedron]
      • Wireframe Sphere [was: Render → Wireframe sphere]
    • Alphabet soup
    • Barcode / QR Code [was: Barcode]
      • Classic/Datamatrix/QRCode
    • Foldable Box
    • Function plotter
    • Gear (Rack Gear, Gear)
    • Grid
      • Cartesian grid → Renders a rectangle
      • Fill bounding box with grid [was: Grid]
        (This extension is also under Document -> Grid, since without selection, it fills the page)
      • Isometric grid → render a rectangle
      • Polar Grid → renders circle
    • L-System
    • Formula (pdflatex) [was: Render → Mathematics → PDF-Latex; could also go into Text] -> done: extensions!453 (merged)
    • NiceCharts
    • Parametric curves
    • Random Tree
    • Spirograph
    • Triangle
  • Styles [was: Stylesheet]
    These extensions modify styles or generate style-like objects, e.g. aVoronoi fill.
    • Color Markers [was: Generate from Path → Color markers]
    • Interpolate attribute in a group [was: Modify Path → Interpolate attribute]
    • Merge Styles into CSS (maybe this should go into Web?)
    • Mesh gradient [was: Modify Path → Mesh]
      • Mesh gradient to path
      • Path to mesh gradient
    • Replace font [was: Text → Replace font]
    • Voronoi Pattern fill [was: Generate from Path → Voronoi Pattern]
  • Text
    • Change case
    • Convert to Braille
    • Extract from selection [was: Extract]
    • Hershey Text
    • Lorem Ipsum
    • Merge
    • Split text
  • Typography
    • Is this still needed with the new font editor? @mkov, what do you think?
  • Visualize Path
    Like Generate from Path, these extensions add objects based on a selected path, but their main function is to give the user additional information about the path.
    • Dimensions
    • Draw handles
    • Frame [was: Render → Frame]
    • Measure path
    • Number nodes
  • Web
    • Interactive Mockup
    • JavaScript
      • Set attributes
      • Transmit attributes
    • Slicer [maybe should go into Export → Web Slicer]
      We should revisit what Web slicer, Export Layer Slices and Guillotine do differently.
      • Create a slicer rectangle
      • Export layout pieces & CSS+HTML code
      • Set a layout group

The main goal of this is to fix inconsistencies in the ordering, as well as to give some extensions clearer names. This should address extensions#385 (closed). extensions#10 asks for standardized ordering of 3rd party extension which is out of scope for this issue.

I know that this breaks some people's workflows, but I suspect it will improve extension discoverability significantly (but should go hand in hand with better documentation, since googling the name won't lead people to Tav's manual anymore)

Thanks :)

Edited by Jonathan Neuhauser