Graphite/docs/editor
caleb 1594b9c61d Implement outline view mode (#401)
* Created wasm binding to action's of the radio buttons which control the view mode
Added entry to DocumentMessage Enum

* draw in wireframe mode by changing parameters on each shape
added functions/changed behavior to do as above
not working yet
   - newly added shapes should be drawn in wireframe
   - setting fill to "none" on a path does not only draw an outline
      - maybe the stroke width is 0?

* Wire frame view mostly functional for ellipses
   - Need to implement for all shapes
   - BUG: shapes don't immediatley update upon changing view-mode

* Fixed: active document now updates after view mode swap

* The Pros:
   - wire frame mode effects all shapes correctly

The Cons:
   - wire frame mode effects everything, including things that maybe shouldn't be, like select boxes and pen lines

* wire frame view no longer effects overlay layers

* Fixed: While in wireframe view the pen tool will draw regular thickness lines.

* some commenting

* Fixed potential bug:
   In layer/file system with a Folder layer with a sub-layer that is also
   a Folder cache_dirty must be set in order for all shapes to update properly

* refactored code to use ViewMode enum names throughout

* Changed: All wireframe lines are blank
cargo fmt

* Wireframe thickness doesn't change as a result of zooming
   - Added DocumentMessage::ReRenderDocument, which marks layers as dirty and renders with the updated render-string
   - All "zoom" messages in the movement_handler send a re-render message
   - while in wireframe view, the "render-transform" of all shapes includes the root layer transform

Added getter/setter methods for graphene::Document::view_mode

* cargo fmt

* wireframe now has proper thickness after "Zoom Canvas to Fit all" action

* Refactored
   - Changed FrontendMessage::UpdateCanvas to RenderDocument message to allow for lazy evaluation
   - Created DocumentOperation::SetViewMode to be more consistent with existing code
   - removed log statement
   - Added constants for empty fill and thin-black stroke

* cargo fmt

* Removed ReRenderDocument message

* cargo fmt

* Fixes as suggested by TrueDoctor

* clean up merge
cargo fmt

* Refactor:
   moved view_mode to DocumentMessageHandler

* Polishing

* changed those two comments

* Remove unknown todo comment

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2021-12-24 16:04:58 -07:00
..
1-overview.md Update terminology in the docs 2021-08-12 00:39:29 -07:00
2-interface.md Add design documentation about user input and masking 2021-04-29 00:41:38 -07:00
3-panels.md Add design documentation about user input and masking 2021-04-29 00:41:38 -07:00
4-documents-and-assets.md Add design documentation about user input and masking 2021-04-29 00:41:38 -07:00
5-tools.md Add design documentation about user input and masking 2021-04-29 00:41:38 -07:00
6-masking.md Implement outline view mode (#401) 2021-12-24 16:04:58 -07:00
README.md Restructure project directories (#333) 2021-08-07 05:17:18 -07:00

Graphite editor manual

Work in progress.

  • Overview
  • Interface
    • Title bar
      • Menu bar
      • Focused document title
      • Window buttons
    • Workspace
      • Panel interface (tab, pin, options bar, left menu)
      • Arrangement and docking
    • Status bar
    • Multiple windows
  • Panels
    • Document
      • Canvas and frames
      • Rulers
      • Tool menu
      • Options bar
    • Properties
      • Blending
      • Origin
      • Transform
      • Node-specific properties
    • Layer Tree
      • Interface
      • Compositing flow
      • Groups
      • Masks
      • Isolation
    • Layer Graph
      • Interface
      • Layer/node equivalence
      • Compositing flow
      • Groups
      • Masks
      • Isolation
    • Connection Matrix
    • Spreadsheet
    • Node Catalog
    • Asset Manager
      • Embedded assets
      • Linked assets
        • Local assets
        • Remote assets
      • Store assets
      • Out-of-the-box assets
      • Extension-provided assets
    • Palettes
      • Each color palette is an asset
    • Minimap
    • Histogram
    • Timeline
  • Documents and assets
    • Node groups, layer groups, and document tabs are equivalent
    • Groups/documents are assets
    • Assets are embedded or linked
    • The document canvas is a group output
    • Art boards and dimensions
    • Reusable assets
  • Tools
    • Overview
      • Tools add and update assets
    • Layout tool group
    • Parametric tool group
    • Raster tool group
    • Vector tool group
  • Masking
    • Mask mode
  • Vector editing
    • Data types
    • Data flow
    • Rasterization
  • Raster editing
    • Resolution-agnostic sampling
    • Compositing and data flow
    • Caching
    • Predictive caching
    • Progressive enhancement
    • Generator nodes
    • Rasterizer nodes
    • Adjustment nodes
    • Filter nodes
    • Sample transformer nodes
    • Historical sampling
  • Text editing
  • Data types
  • Node types
  • Node library
  • File format interoperability
    • Import/export: JPG, PNG, APNG, GIF, TIFF, TGA, BMP, JPEG 2000, WebP, HEIF, ICO
    • Import/export: EXR
    • Import: digital camera raw formats
    • Import/export: SVG
    • Import/export: EPS
    • Import/export: PDF
    • Import: PSD/PSB, AI, INDD?
    • Export: G-code formats for laser and vinyl cutters?
  • Extensions
  • Color management
  • Units, measurement, and scale
  • Headless and integrations
  • Animation