import * as contextTools from './contextTools.js'; export const LINE_WIDTH = 3; export const LINE_COLLISION_MARGIN = 4; export const MIN_ZOOM = 0.5; export const MAX_ZOOM = 10; export const CANVAS_SIZE = 100; export const GRID_SIZE = 10; export const IMAGE_GUIDE_TRANSPARENCY = 0.7; export const FILL_TRANSPARENCY = 0.9; export const LINE_TRANSPARENCY = 1.0; export const DESELECT_TRANSPARENCY = 0.2; // default flood fill tolereance of image trace export const DEFAULT_TRACE_TOLERANCE = 20; // initial scale of image inside workspace export const INITIAL_IMAGE_SCALE = 0.8; // big images can lead to performance penalties, images bigger then MAX_IMAGE_SIZE get scaled down export const MAX_IMAGE_SIZE = 1000; // TODO we want to use different snapping distances for mouse and for touch events export const SNAPPING_DISTANCE = 7.0; export const MAX_TRACE_TOLERANCE = 256; export const SELECTION_VIEW_MIN_SCALE = 50; export const SELECTION_VIEW_MIN_AXIS_SCALE = 80; export const POTRACE_OPTIONS = { turnpolicy: 'black', turdsize: 5.0, optcurve: false, alphamax: 0.5, opttolerance: 0.2 }; export const ERASER_SIZES = { [contextTools.ERASER_SIZE_SMALL]: 10, [contextTools.ERASER_SIZE_MEDIUM]: 30, [contextTools.ERASER_SIZE_LARGE]: 50 }; // sizes are in mm export const BRUSH_SIZES = { [contextTools.BRUSH_SIZE_SMALL]: 5, [contextTools.BRUSH_SIZE_MEDIUM]: 10, [contextTools.BRUSH_SIZE_LARGE]: 15 }; export const CLIPPER_PRECISION = 100; // accurate to the hundredth