Fetching contributors…
Cannot retrieve contributors at this time
2072 lines (1795 sloc) 98.5 KB
This file is for random notes and specific coding tasks that need to be done
to meet various goals. This includes Roadmap items as well as fixing bugs.
List bug tracker number if any.
When an item is satisfied, put it in the DONE section at bottom of file.
Those are purged with each release.
--------------bugs: things that do not work like they are already allegedly designed to---------------------
------------ serious bugs to fix right now:
finish debugging mesh svg 2.0 out/in
debug registration, cut marks, trim marks
custom papergroup, add registration/bars/, can't move it
DONE can't add cut marks to signatures
object indicator:
click on object, does not update selection
back to not maximizing properly on default ubuntu. Seems to work fine on every other window manager I've tried.
------------ other bugs:
packaging woes: update deb/control to have more of the dependencies
booklet, use paper group tool, default paper group no longer displays
evince on ubuntu 14.04, pdf export won't load, says Syntax Error... Dictionary key must be a name object
configure should check for libreadline-dev? apparently not pkg-config ready <- half fix of listing in package requirements
needs to use the new extra_cppflags thing
memory hole in reimpose .. reimposed 5 page booklet
memory hole when graphical shell activated
memory hole do laidout -n letter, split a window, then quit. undeleted Objects remain!
memory hole delauneyinterface
memory hole helpwindow -> probably something to do with ShortcutWindow and ShortcutTreeSelector not refcounting as expected
DONE memory hole paper interface, activate tool, lay down one paper, quit, 3 objects remain
DONE memory hole cairo backend (can't duplicate)
"edit imposition", then escape.. removes window, but not the frame!
lineinput not propagating escapable
clones of images scale not like images.. should also snap aspect to start of drag, not when control key pressed
select none, select doc, viewport jumps around... it should stay the same area
switch to None document, and units change to unreasonable
shearing or scaling produces null axes occasionally when crossing over opposite edge, borking the display
--> seems to be only when needing to draw images on close to parallel axes, doesn't seem do it with paths
bug: page progress popup is wrong place, and mouse maps at wrong scale ONLY OCCASIONALLY, hard to reproduce
sometimes crash at insert page before (?? can't duplicate)
text window controls have difficulties
doesn't handle tabs
(see PlainTextWindow below for feature plans instead of bugs)
saving window positions doesn't take into account window decorations, makes pos slide downward each time
_NET_FRAME_EXTENTS? _KDE_NET_WM_FRAME_STRUT? how to get before mapping a window?
scribus plugin: if directory of executable script is not writable, it fails!
-> should find one that is writable
scribus plugin needs a proper dealing with temporary files
object reordering (with home/end) produces outline of unrelated objects on top
don't allow reparent to a child!! or reparent as appropriate
need to implement ObjectInterface/GroupInterface::DrawData()
cloning, change original, not triggering bbox update in clone
ubuntu maximize window failing (but not on today's debian unstable gnome), resize seems to work now
gnome "application" does one per window, not one per app. this is not a bad thing imnsho, but should be easy to conform to desktop application spec properly
icon needs to be bigger.. is fuzzy on ubuntu alt-tab
DONE App/window icon in window manager not showing..
DONE??? need to implement scale pages to new imposition when reimposing (enable in doc settings dialog)
splitwindow SplitWindow:
create new pane should dup old pane.. currently divide viewport, removes document focus
viewwindow, change to spreadview, change back to view.. Horizontal ruler origin is REALLY off
splitwindow cursors existing in subwindows
create new window, defaults to no doc. should select doc of last pane
headwindow swapping is now REALLY messed up
pane swapping/dropto on maximized, swapping in general...
svg out, EquivalentObject doesn't play nice with defs.. only accessed once.. how to upkeep clones in this case?
-> when equiv objects are composed of groups, what happens?
svg coord numpoints==0???? numpoints doesn't really serve any purpose other than debugging, but....
svg to coord incomplete: arcs needs testing
memory hole in svg in? test svg import, svg path import must be done
sigimp fail for multiple stacks with no folds!!
object tool shift-control for rotate does not allow positioning on drag bars
'g' for color sample changes cursor to cancel now, and changes on border cross!!!
possible modifier-pairing error with multiple mice...
object deleting funky, import svg images, select one, hit delete, doesn't delete!!
place 3 images, object select, must press delete twice...!?!?!?!
should not be able to group select an object and another object nested within
file previewer not updating preview when using arrow keys
shrink image lets you go immeasurably small
fold indicator foldprogress just at crossover points incorrectly indicating affected folds
make sure all imposition types are available in interpreter
resource impositions not showing description when selected
GradientInterface problem rendering radial when two circles separated by large distance
WATCH OUT for when preview file is OLDER than original file!!
stackframe seems to be ignoring window borders on layout
----------------0.097 ROADMAP ITEMS: features and enhancements------------------------
DONE website: combine faq and help?
update fileformat.txt
DONE check laidout.1 when time to release
update docs to have new release number
update translation base files
update screenshots, sync with features
DONE update links page
DONE update dtpcompare.html
comment out cairo_debug_reset_static_data before release, since it usually means crash, interferes with pipeout
./laidout ../examples/test-all-objects.laidout
each export filter (via command line in new script in examples.. ignoring problems in eps)
each window type: about palette view spread command text
help: window pane does funky stuff
test in different window managers
make some test scripts for command line testing
DONE update help page
DONE put rss/g+ links on all menu pages..
node editor NodeInterface nodes:
debug inkscape node extension
DONE center on selected doesn't actually
DONE finish perspective transform node proof of concept
DONE finish file format description
DONE gegl:
DONE gegl:*-save except gegl:save is disregarding autosave on blitting -> just disabling preview for these
DONE preview area should be adjustible for sample area, instead of always default 100x100
DONE babl format is passed in gegl as an otherwise undefined gpointer, need to have special check for this
DONE save gegl graph to xml
DONE enums
DONE menu with categories, not just the name. gegl ops have name, title, description, categories, license, even source!!
DONE load in graph xml
DONE process on a crop after change a value crash? need to trace
DONE make process optional
DONE update to use IsExecIn/Out
DONE thread forking for branching nodes?
DONE if branching
DONE jump to link under mouse: shift click over slot, or shift click over bare bez
DONE duplicate nodes (still need to imp group dup)
DONE need visual indication that something is a group
DONE concat s1, s2
DONE string primitive
DONE substr [index..index]
DONE curve node
DONE pipe splitter node (forknode)
DONE math operate on numbers, vectors as appropriate
DONE math 1 arg: norm, norm squared, etc
DONE vector node:
DONE 2,3,4 dimension vectors
DONE separate xyz
DONE combine xyz
DONE math: perpendicular, parallel, etc
DONE bug: sometimes crash when tabbing across property values
DONE need accumulation mechanism to bundle up results of loops: AddVariable(name, type|set of type), GetVariable(name).out
DONE if you right click on a node not in selection, make that the selection instead
DONE cut links
DONE nodes need preview images as necessary: need to preview non-sinks
DONE view mode: all collapsed, all collapsed except preview, expanded no preview, expanded with preview
DONE need a little triple bar triangle in lower right corner to resize preview size. change preview size on all selected
DONE loading should check automatically for different files if load fails
DONE rename nodes
DONE need search
DONE numbers need slide change: specify add or zoom stepping
DONE node resize needs mouseover for edges
DONE select all/deselect with 'a'
DONE save, load nodes dialogs
DONE newly added should be selected
DONE hover tips for props on collapsed nodes
DONE clear up IsInput()/IsOutput()
DONE dedicated random node: seed, is_int, min,max
text on path textonpath: TextOnPath
select font, key up/down scrolls uncomfortably SOMETIMES!!
svg out bad (check non path conversion)
convert to path rendering to wrong place and orientation
doesn't handle transforms with nested objects properly
dragging size handle with shift|control does not scale properly
convert to path: not respecting transform, putting upside down(done)
test exporters: svg scribus pdf
vertical position bad
horizontal spacing a bit wonky
bug: drag the baseline handle off to the sides, makes huge bad jumps in value
bug: dragging the offest handle sometimes jumps to really bad
handle to remove from current path, and possibly attach it to some other path
glyph positioning is wrong
position glyphs based on middle of glyph, not start of glyph
DONE not remapping envelope on load in
DONE during path edit shouldn't show the other controls like font scale
DONE need to center balance on path
DONE click off, creates new one, click back to old, has wrong path
DONE paste
DONE font size handles
DONE need drag handles to change position on page when path is internal
DONE if textonpath is child, not moving with parent
DONE if textonpath has non-I m, edit path displays wrong
DONE need cursor
DONE bbox is drastically wrong
DONE baseline handles
DONE offset handles
DONE envelope
DONE deleting selected points when >=2 selected results in crash
PathInterface: pathinterface
bug: seems to be possible to move nodes out of order, only occassionally
bug: shift click down then up on a point selects then deselects.. control can toggle
bug: problems for non-bez-controlled corners at endpoint. Also variable offset causes weird connections
bug: applyoffset, the bez part at joins is messed up when no offset, suspect problem in FlatpointToCoordinate, mismatch with bez join next to sample points
bug: should not create new control points by pressing cntl, unless there is movement
bug: delete last weight node, sometimes width is wrong
bug: make new line with freehand tool, cannot move weight nodes in a rational way
DONE bug: now node scan and display works, but drag doesn't!!
DONE toggle send color to fill/stroke should update the color box
DONE debug remove points affect on weight nodes
DONE bug: add point before beginning not spacing weight nodes properly
DONE deleting points totally screws placement of weight nodes
DONE if at endpoint, need to delete any out of bounds, but also insert a new one right at the tip
DONE bug: drag point, press i or I while dragging, moves all points or crashes
DONE bug: select all in subpath (shift A) does not appear to select from proper subpath all the time
DONE bug: menuoption start new subpath does not start one!
DONE implement dump_out_atts
DONE bug: when path is a child, width nodes are not drawn correctly
DONE bug: line cache on a square produces inf. lines off when final+initial coincide
DONE select nodes with rectangle broken? <- no, just drawing really thin, misplaced LineWidthScreen
pdf export lines has outlines in evince?
----------------0.098 ROADMAP ITEMS: features and enhancements------------------------
website: explain a bit more how to install dev versions, and place side by side with "stable"
website: need to redo screenshots section for mobile friendliness
update fileformat.txt
check laidout.1 when time to release
update docs to have new release number
update translation base files
update screenshots, sync with features
update links page
update help page
update dtpcompare.html
each window type: about palette view spread command text
help: window pane does funky stuff
test in different window managers
each export filter (via command line in new script in examples.. ignoring problems in eps)
make some test scripts for command line testing
Find interface:
search by name and/or type, description, other meta, broken images, other preflight things, etc.
find next or find all, all shows selection of thumbs
mass operations on found objects
in menus, click down, then drag, will return what is under mouse.. should default to not do anything but stay in menu
layers palette Layers
key controls for navigation within menu:
space/enter toggle open and closed submenu
edit colors not highlighting every other
rename in place
implement buttons
should have document list at top, showing current doc
have an actual splash image shown
you can't control unclick selected directories
rework ui to be programmable. Perhaps an ui builder
file filters: filefilters:
fix when filtered object has children.. currently skips children
open with... on export
remember full export settings
need createImportConfig/createExportConfig to make ImportConfig/DocumentExportConfig objects from parameters for all filters....
need equirectangular out
selecting out should auto select tofile | tofiles, depending on how many spreads selected for out
export ranges should accept "1-4, 6, 20-25" and "5-1", or by name "iii - iv"
perhaps switch export/import objects to new cascading Style as base..
standardize basic load such that non-laidout files create new document of proper size then import
When there are errors or warnings in exporting, should be able to have the error log such that
you can just jump to the offending bit easily. This would also be used for preflight verifiers,
and maybe also mass edit things, like edit all images..
- have ViewWindow::JumpToObject(&place, objectid);
importdialog ImportDialog import dialog:
should show filename as red if don't know how to import
import option to preserve broken links
importing should not spawn new windows
importing should sort out duplicate names
would be nice to show preview of what is to be imported
export format should be an enum. need to extract possible save formats from Laxkit
option for setting background color, at least white|transparent
for gs, make sure temp file is removed, should probably locate in user space maybe? or make sure perms set reasonably
laidout export:
need a Laidout out! for partial exports, or conversions between nets/papergroup lines/etc
implement crop
save option to force path data into svg d style instead of default laidout style
save option to not output line caches
laidout import:
pops up spurious windows
maybe option to create new layers, or insert to existing layers?
option to insert new pages, or merge onto existing pages
need to center within new margin area, as compared to previous margin area
partial import of page ranges
selective import, like blender has:
import of resources
import of master pages
import of limbos
pdf PDF:
text out very broken.. imageout via gs complains about malformed pdf on fonts
fonts are not doubled up, each text object is exporting its own
export complex engraving is really, really slow. probably all the string reallocation?
pdf optimize jpg dump, compress image data
still true? pdf export if a path has null linestyle/fillstyle it buffers until next path drawn
instead of drawing with some default style
pdf out needs clone deref.. needs clone deref still?
graphicsmagick for import? subimage and subrange of image_info passed to ReadImage
page labels?
implement crop
Scribus scribus:
caption as path flips
implement equivalent object
caption export centering
export paths fails on compound paths. scribus has dichotomy Polyline|Polygon
scribus export should show actual version export
make sure it works for 1.5.2
check for updates in file format for 1.5
export color meshes, for recent versions of Scribus
import/export color meshes, for recent versions of Scribus
font size confusion
import/export linear and radial gradients
scribus in/out: font sizes, stroke widths
import should try to apply the Scribus layout correctly, at least for 2 page spreads
import should do something meaningful with original Scribus page bleed values
scribus import: need to read page sizes from actual page attributes, as it may well be different than in document attributes
-> this necessitates revamp of singles to use more than one paper type
implement crop
svg: SVG
rudimentary mesh in.. try to scale and place as separate object (without proper clipping)
dump_in filter to nodes optionally
need to parse units
in needs to account for viewBox
in needs to parse "use" elements and other "#" refs
in for powerstroke
on read in width nodes are zeroed, does not correspond to actual width of line
some other dup nodes causing bad stroke approximation in some of the stuff that magically disappears
can't get at the weight nodes after import
after in: nodes right on each other produce bad vectors
after in, does weird things with width node -> child objects not display correctly
radial: transparent inner circle, patch edges
out: text linespacing.. unclear how Msize/linespacing maps to svg options
need an In()
implement paper rotation for out
implement crop
implement paper rotation
implement paper rotation
for plain postscript, there's bitmask, but no transparency. maybe optionally do simulation with dithered bitmask..
a lot of work for a deprecated format, but could have other uses, like for PDF/X-1a
paths not filling correctly
engraver no out, equiv object problem?
implement crop
implement crop
export seems to be rather broken
command line export file name defaults to "output#.eps"
implement paper rotation
xtg from quark?
idml from indesign?
PathInterface: pathinterface
boolean ops
mirror, array, with join (akin to blender modifiers)
need to show hints for when new points will be placed
dup path object links the path style, but save and load, it is not linked... need to sort out line/fill style inheritance/linking
needs input boxes for width nodes
compound paths, change width only changes one. no way to affect all
need a way to work on multiple weight nodes:
shift all
width multiply all
set width
need input boxes for weight node info
zero tips not working on mesh edit? with import test-engrave.laidout
debug cache sample point distribution, the interpolator is really bad as is
powerstroke export requires apply offset.. else weight nodes are all messed up
clarify export for weighted paths, use outlinecache and areacache as needed, check all filetypes exporters: svg pdf scribus image/ps/eps
finish implementing joins. need to clarify weight behavior at corner joins
weight computation is currently done based on even t spacing, but probably should be mapped based on distance weights not being shown unless '_'
be able to pull points back along path near endpoints
debug extrapolate
implement open at any point to possibly break into separate subpaths
need numerical entry for all weight node characteristics
need to protect against reentrants at corner joins.. makes holes unless nonzero rule, and sometimes sticks out the other side
sliding around the nodes is really annoying.. should do according to proximity to center line
inkscape has multiple interpolators, we should too!
actions to implement:
need arbitrary cut
need command to apply offset
need path combine (combine path stacks of multiple PathsData)
need break apart (make new PathsData from each in paths stack)
need special break apart to make new PathsData, but preserve totally enclosed paths as intential holes
need mechanism to be able to add custom path actions to context menu
implement work on multiple path objects at once
ApplyTransform() and MatchTransform() should adjust scaling of width nodes?
custom caps.. define cap to a horizontal line, take endpoints and endpoint tangents, return the cap warped to fit the tangents
custom dashes, with custom start/end dash caps
need some kind of extrema fill in for angled paths, so it matches sweep of whole segment, not just endpoint sweep lines
should have shortcut to offset ALL weight nodes, or angle ALL nodes
how to deal with bbox when using wacky weights?? -> use bbox of outlinecache (or centercache), non-weighted (optional): use flat bbox + linewidth
need something like path->PointInfo(t, &pp, &vprev_ret, &vnext_ret).. done is GetWeight(t, &width, &offset, &angle)
maybe should revisit PathOperator stuff, such as for spiro paths
need way to turn off selectability of path points (thus leaving only width nodes selectable)
per vertex join type?
linestyles are always output independently, can't currently cascade with current code
if background is green or red, hard to see the direction indicator
line join round should add extra point for really wide angles to make them more circular
copy and paste
maybe dotted connection if only both end points selected, click connection to close?
maybe control when on vertex will create whichever handle does not exist, control nearest drag point determines which is created
not show every single handle. only ones associated with active vertices, show unactive vertices with small circles
align nodes -> create temp set of data to pass to AlignInterface?
transform handles for nodes, including flip
subdivide, repeat key press restores old segment, then adds 1 more point to num of points from last press
toggle between add points / select points?
if add points, show dotted line to indicate a new segment incoming
finish new path/pathoperator/pathsubinterface/pathinterface structure
have a widthtype == hairline? use width==0 as no stroke
engraving tool: Engraving engraver
bug: trace object opacity is not working for non-image trace objects.. stroke and fill needs mask integration!!
bug: 'z' zaps mesh, but does not change cache border or point mapping
cairo render NEEDS VAST IMPROVEMENT.. the clunky xlib approximation was fast, but not transferrable to cairo
object lines in group list needs eye per object, affect actual object visibility
need to enforce resource unique names
need ability to store overall styles of a patch, not just each individually
on resource menus, should check mark if current matches a resource??
should adjust all linked
with test-engrave-trace2.laidout, do the quick adjust, does not preserve width the first time, using old value of thickness?
option to remember old values while adjusting position, rotation, spacing
-> when manual tweaking of spacing, need to produce value reference so that future line orienting preserves line thicknesses
seems to be grabbing spurious tracing values outside of the tracing object, and at borders of trace object
tracing object, lines abort just inside the image, maybe should just go one off the edge?
trace object needs flip, at least h and v, not really needing the whole affine thing
need option to export trace object in same position as the traced lines, so it can be further processed elsewhere
custom sample of channels
sharp edge detection in tracing
snapshot should be for all in selection
shift-drag (or drag anything not covered by trace object) should drag ANY of the meshes in selection, not just current
when multi objects, the traceobject is interweaved, based on draw order, only under current object, should be under all?
make gradient interface work in trace mode
freehand not being interpreted correctly: non-equal smooth is adding erroneous extra mesh column
drawing custom freehand (with width) lines within the mesh area
mesh path:
'a' not selecting all in line
curvemap needs predefined ramp profiles, remember last, load/save (per context?)
-> options to insert various predefined patterns
need magnify do dads for easy expanding of countour without having to place each and every node
need accuracy modifiers for dragging controls around
only when at endpoints, lineprofile not producing smooth results at random spots inside
should be able to adjust number of sample points to match up well enough for points in lineprofile
random end point sliders should inc or dec according to which side mouse clicked down on compared to absolute end point
spiral spacing computation bad when spokes are nearer radial
save the opensimplex line displacement from line/point randomness, to be used to also adjust a spacing map to preserve value when viewed at a distance
be able to trigger a reline on load in
be able to set a 3-d parameter for noise? useful for animated noise
option for "adjust for spacing", making weight reflect the spacing, either for constant width or trace
line profiles: (done) linear, circular, radial, spiral?
be able to edit and create new profiles
spiral arm count makes poor resolution
line generation:
grow: implement custom line merge and break to preserve spacing across mesh contraction
grow: edge abutment when generating
sample point generation should be based on lines per mesh square, not total mesh field
finish implementing spacing section -> spacing map
add special group: half offset, perpendicular
need stroke+fill options?
need convert to path object ability
current blockout is not very precise, needs approximation between existing point samples
fully implement resolution adjustments for auto lines -> needs resolution tool
single group (not group list) view is too old, doesn't do link circle, and can only select from current object groups.. remove it entirely?
export doesn't work for: nothing for scribus, eps, ps
edit brush ramp as symmetric ramp
resolution tool: click to add between points within brush, control to destroy points in brush
need merge group
screen view, need option for Fast|Accurate
no writability check on exportsnapshot
allow temp override of linked to adjust only current?
establish path needs better smoothness assignments
keys being caught in patch, not in child path
test: bez cache needs updating when points are moved around
test: dash cache needs updating when points are moved OR thickness changed
always brings current object to front (normal refresh in place, and then interface draw on top).. should be very optional, as it blocks out white overlays
don't warp, move points, then warp, almost always has bad points: PatchData::getPointReverse() is too inaccurate
finish implement making the circle lines be closed circles
need some kind of smooth out: smooth out width, and smooth out path
hover over mode icons should show text of what you are hovering over (verbose mode?).. hard to remember, annoying to look at status bar otherwise
should be able to draw a line and have that be a baseline for dash division
option: either drop out of bounds points, or zap mesh to point bounds
numsliders should have click on arrows for single increase, and a dismiss x for input box
should probably abstract control panel creation so we don't have to hardcode everything all the time
sampling could be more sophisticated, currently just grabs pixels, could downsample the image based on current spacing
Danger! coons patch produces discontinuous contours within multiblock meshes!! who knew!?
perhaps allow path objects to be adjusted with engrave tool for custom outlier lines not part of mesh?
must implement mode based shortcuts in Laxkit. currently all mesh shortcuts are active
stippling/decal mode, each sample is either a point, or map on an arbitary object, or sampled object?
per stipple, adjust rotation, scale, color, morph
text (see also src/text/text.txt):
need options per font on export to: convert to path, subset, embed
need standard way to have default font, apart from defaultlaxfont, as well as default color/other visual attributes
global font list, finish implementing uniquinizing font names, need final step of some kind of file name diff
freetype/fribidi/harfbuzz all over everything?
interface base for utf8 based editing.. share this with window edits somehow
maybe fonts should point to their creators to make duplication more reliable if there are more than just default fontmanager
need support for font substitution
harfbuzz support
math mode
track bookmarks
inline graphics
css import/export
tabs on arbitrary paths
google font import
text on path textonpath: TextOnPath
need kern control
kern handles
mouse click to position caret
need to do proper coordinate finding for mouseposition when paste into a nested group
offset from stroke or from path
click for new, then save, saves a blank one! probably issue in captioninterface also
need to only add to the document only after there is non-null text, like add_on_change flag
bbox should be better.. currently is a wide approximation
option to auto expand line
stretch envelope
rotation handle
drag out line to define chain connection
from big import:
load in seems to wholly load images, instead of only grabbing info
need some kind of "loading" indication when loading in large images
need image path mass reassign
spread editor:
select all for current marker type
arrange in rows at current scale not scaling and placing correctly
crash during thumbnail generation if you delete pages while there are still some to render
auto-arrange not consistent.. doesn't really respect the screen aspect
should be able to save from any window
delete discontinous range of pages doesn't delete all sometimes
undo extremely necessary
thumbs refreshing a lot unnecessarily
selecting ranges
for images, need edit image feature, with watch for changes, or "reload image"
image dialog, select new image, hangs on imlib complain about null image
save as should have sample file names: from directory name with ".laidout", incremented from any *.laidout
export directory should default to last loaded file
large images all being loaded in, need way to ask about creating proxy images. only img info is supposed to be read in until img data is actually needed
need better ui for selecting templates
load in autosave should ask if you want to save as the original
spread editor needs edge dragging
Perspective perspective:
finish debugging update path object without reallocating each time
optimize the image mapping
filtering paths needs to detect big distortions and add points, as simply transforming bez points is not enough
node editor NodeInterface nodes node interface:
should probably bring forward any selected
load/save custom properties needs to preserve name, label, tooltip, types, custom info
undo redo
grouping framed objects have complications
check for double linking
idea seen in anim nodes: collapsing math shows expression as label
control drag on slot to reconnect all connections
duplicate linked nodes needs to preserve connections
by label(done), name, or type
search node or property name, or data contents
stack of last searches
search in child groups
find all
gegl nodes:
need browser buttons on "path" properties of IsSaveNode()s
need needtoupdate caching or force work on small proxy images.. gegl with big images takes a long time
scale-size has runaway render for undefined rect
make sure deleting/rearranging nodes correctly removes gegl connections
inkscape filter read in, set up as gegl nodes internally
make sure input/outputs can translate from other data types
need protection against unknown gegl ops, like when "gpl" is toggled
some process actions bog everything down like overlay a crop with a non-cropped input.. need a check for unbounded nodes before process
some nodes define a particular extent, like gradients. preview should detect
need a gegl <-> Value converter to allow interacting with Get/SetVariableNode
do something decent with property types: GeglCurve GeglPath. ignore these for now: GeglAudioFragment GeglBuffer GdkPixbuf GeglNode
svg/inkscape specific filter interface, io passthrough
svg color properties are strings, but there should be button for color select
need full "length" readin, not just floats, ie "100%", "15in"
feTurbulence->baseFrequency is TWO numbers, not one, need data[] support
handle child groups
handle chaining full filter group nodes
Embossed Leather fails
Plastify has an orphan feFlood node
nodes with children, loading in puts the child properties at the end
for memory saving, need to determine what is a "final" node, since intermediate nodes can free data, or pass it on
node browser
tooltips for operation, not just properties
in menu, so many nodes, need way to classify favorites, maybe custom arrangements of menu
progressive search
need a way to collect custom property types, so they can be added to custom nodes
for connecting, drop onto a property at all should link, not just on slot
for preview resizer, shouldn't have it when preview is too tiny, since then usually you want to move the node, not resize
save needs to remember file name per loader, plus default file
no overlap needs to stack siblings as nicely as possible
image object creation node, tie node output to a custom LaxImage importer (the proof of concept node for 0.097)
load something already loaded makes dups of everything.. need to check for name collision!!
extensibility: need easy way to extend functionality, both menu actions and new nodes
allow editable labels for input props
add dummy prop on in/out to hot link data (only from within group)
linked vs appended node groups, to allow mass changing of particular effects
GroupRef : NodeGroup, with some sort of relay to actual group internals
node libraries: nodes as resources
auto shift on connection
auto connect when dragging nodes.. needs parsing of compatible properties
view area things:
node magnifier for easier browsing when otherwise zoomed way out
toggle show only selected nodes?
exec paths
events for ui tool construction?
exec tick speed control for debugging
make sure entire nodes don't go totally offscreen
scriptify node graph
nodes to script and script to nodes
deferred update when massive operations, maybe highlight nodes in yellow?
color code pipes by value type, color: yellow, number: gray, vector: purple
need better styling.. too much is hardcoded. problems later with high dpi screens
finish implementing no cycle check: on load in could be a crash magnet currently if constructed with loops
file properties need browser button
object filters:
a filter to respond to a global frame value, thus have minimal animation control
list nodes
set range [start,end] = value
subset [start, end], neg nums for from end
element [index]
create list [type, number]
foreach thread processor
examine imgflo for compatibility
imgflo lets you compile and load new operations on the fly
css named filter: brightness(1) contrast(67%) saturate(250%) grayscale(0%) invert(0%) hue-rotate(330deg) sepia(40%) blur(0px)
see for svg filter equivalents
gmic nodes
graphicsmagick nodes
antiprism nodes
examine blender for compatibility -> animation node addon seems fuller for general data processing
examine godot for compatibility -> does full scripting execution
examine Natron for compatibility
examine pure data for compatibility
proprietary import like substance or houdini?
any crossover with mypaint brushes or krita???
viewer node, resizable
image from file node
simplex noise node
frames need to be moveable
label font size should be adjustable
changeable color
drag out a rectangle
if any nodes in rect, bind them and shrinkwrap frame
if no nodes in rect, just use dragged area for bounds
drag and drop nodes to insert into frame
shift-drag to remove from frame?
have visible/togglable comment
expression node:
any number of inputs
any number of outputs
inputs map to names according to property label
expression must result in a hash, which must map to defined output properties
scriptify nodes
nodify script
use PlainText objects
edit text externally or in different text editor frame
string ops:
more math:
interpolate with easing
select from panel:
+ - * / % ^
< > != ==
min max avg
and or xor not << >>
---one arg---
abs neg sqrt sgn
sin cos tan asin acos atan
sinh cosh tanh asinh acosh atanh
resource manager needs to store unknown objects as Attribute trees, so they can still be preserved
for future processing. for instance, be able to recover from when a plugin is missing
need to implement DRAW_Hires for all interfaces that default to preview renders. needed for proper image out
includes at least image(done), path, engraver
mousemove decorations shouldn't change when an interface absorbs one
color strips for full transparent should show checkers in all strips, not just the alpha strip
MenuInfo AddItem functions are really terrible overload nightmare, need something simpler like, with no menu combined:
AddItem (const char *name, int id = 0, int info = 0, int where = -1);
AddIconItem (const char *name, LaxImage *icon, int id = 0, int info = 0, int where = -1);
AddToggleItem(const char *name, LaxImage *icon, int id, int info, int state, int where = -1);
figure out proper de-loading.. have to restart?
check for already loaded
captioninterface CaptionInterface captiondata CaptionData
bug: bitstream vera sans, "Text" convert to path puts e correct, but screen render puts it out too far. huh??
implement proper pdf export
color fonts: consider native otf:
Mozilla and Adobe’s svg table, microsoft's colr/cpal, Google’s PNG images (CBDT/CBLC tables), Apple’s PNG images (SBIX table)
freetype dev branch maybe supports colr/cpal and google's way?
implement the different layout modes: rtl ttb
debug for rtl and vertical as returned by hb, or set explicitly with direction
right to left (figure out how to do with harfbuzz)
need to do proper coordinate finding for mouseposition when paste into a nested group
text to path:
option to do all one path,
or separate objects per character (or glyph), but clones of a resourced group of glyphs
need handy option to mirror, instead of escaping to object tool
need handling when opening a file and the font is not found!!!!!!! options for substitution
opentype variations
select, copy
for overstretched alignment, bounding box not updating correctly
should adapt from multiline edit, since it already has cut/paste, selections, and is mostly debugged??
control-u hack for poweruser unicode character insertion
use selected text as sample when popping up font dialog
lorem ipsum
markov ipsum
export/print dialog
make print button experimental only?
vital to debug send to printer
export should have a preview of what is actually going out, flip through spreads
in papergroups with multiple papers and double sided impositions, need to ensure front and back are output properly for printer
clean up filefilter.h definition to allow explicit declaration of ObjectFilter in DrawableObject
fontdialog: FontDialog
need a way to remember layered fonts, to easily activate and deactivate
read from standard fonts places, like .config/laidout/(version)/fonts
favorites: tag and column
user tags, not just fontmatrix tags, option to update fontmatrix?
should be able to access list of font favorites, and a user's preferred organization of fonts..
need to implement load specific file for a font
makeinwindow SOMETIMES not working, select one, puts on bottom line
font->SetFromFile() should do more fontconfig checking to grab propper file+family+style+size
FindFont() is faulty, as it only lookes up family/style.. should search by the unique file name
sometimes family+style is not unique, but has different languages.. should detect this
use postscriptname: "DroidSansHebrew-Bold" --> "Droid Sans Hebrew"/"Bold"
bookman font style names getting chopped off: due to name collision and using psname as reported by fontconfig
this is unreliable! need to have proper unique font naming
sample block should be multiline
need support for svg fonts.. useful for pure svg fonts, and opentype svg, see cairo user fonts
pgup and down doesn't select a reasonable one
fontconfig directory config options
should REALLY have a LayerFont head containing the whole list, not a stand alone list which causes too many problems
figure out why some color fonts are not scanned by fontconfig
needs line spacing slider
option to search by spacing, ie monospace, see fontconfig: FC_PROPORTIONAL, FC_DUAL, FC_MONO, FC_CHARCELL
vague search via fontconfig matching, to find a match for something like a "sans"
font preview column in list, custom sample
language coverage search
select default language/script
select opentype features
optional common font finishers? like centering, underline, color, highlight, fg/bg, etc
use float or double for color sample
abstract to be a filter, with optional stand alone object
Clean up mesh/patch controls: Mesh PatchInterface
perspective arrangement: approximate transform controls through perspective grid
maybe should not be able to escape off path tool when editing as path
reverse lookup is not very precise: need to warp back and forth ONLY when necessary, as when
switching to different, non-point-distort mode
edit multi objects in mesh tool.. should be able to move around many nodes?
coons are not really smooth at internal edges? try with engraver, makes corners with current inner interpolation
tracing infrastructure should be part of base mesh class.. would make easy for color mesh to use
when on edge, it highlights, but if you are outside of mesh, it will switch to other object
smooth edit mode should be default. It's not working when more than one square
smooth edit fails along edges
rotate/scale single control point should move attached controls in smooth mode
add new patches should smoothify joins when in smooth edit
just as moving edges, should be able to move any vert column or horizontal row of points
selected nodes should probably be colored, just gray disappears, hard to work with
maybe have status message say how many points are selected
nudge mode with shift?
rect select nodes
for cache preview, only update affected patches.. difficult to compute when overlaps
changing recurse and rendermode in patch controls doesn't change that setting in the instance that does random rendering!!
implement more right button config options to make the settings more discoverable
circle warp needs a proper circle/ellipse interface
make base path dump_out as Path, not PathsData? make it easier to read file removing the unnecessary??
Remove obsolete HelpWindow code?
when change number of named paper, make it "custom"
open on image should create a new singles with default paper and image centered
save as should change save/import/export/current directory to that directory
-> need to test current behavior
finish phasing out MenuSelector
click open jumping current to 0
with text colors, mouse over highlight is off (can't dup?!?)
not showing alternate gray/white bgs (can't dup?!?)
option to use markup for labels
tree display flat option
makeinwindow() doesn't account for columns
need something like Convert(value, units_from, units_to, &error, overrides), where overrides is
something like: list of [units_id, newscaling], like for temp redefining "Em" or "px"
collect for out: define directory to pull all files and external resources in, including the .laidout file
General design usability
to be a decent editing platform, Laidout needs:
master pages with auto page number is important.. for image based page numbers, dynamic objects important!!
would be convenient to send to gimp for editing, update later live
when delete/add pages, need option to reposition to same orientation in margin area
snapping rotate, maybe drag handle with control?
drag constraints more accessible in only y or x direction
more specific control over transform.. numerical specification
per object visibility
per object opacity
better key input edits, right click on menu items to ch key
select only within group zone
easy selection of proper group zone
remove 'i' from common shortcuts for all tools to let it be used for ObjectIndicator
page navigator should allow type in shortcuts like "end"
GroupInterface groupinterface ObjectInterface objectinterface:
default hide draggable flip, but have as right click option
viewport should fully utilize Selection::CurrentObject(), keep curobj in sync
double click on group should change selection area to group contents?
need to clarify how grouping operates. Perhaps implement sets at same time
clearCurobj() with skim to group for group->double click?
implement move to "Some other page..." when 'm' in groupinterface
things to allow editing of wrap, inset, clip paths, and chains
maybe show flip and 90 deg rotate handles only when mouse outside the selection area?
control-move flip line to snap to horizontal, vertical, 45 deg, or common gravity points
ObjectIndicator objectindicator:
need ability to click on object to select that object. Rename only when already selected
allow drag reparenting
hover over parents to pop list of alternate children to reparent to
show (root) at bottom of stack
voronoi Voronoi delauney Delauney:
is double rendering when object is selected
importing raw points or data without matrix should map so that it all appears on screen
intersect with page bounds? or other custom boundary? default bounding box + padding?
implement show_points
implement as extension for delauney/voronoi interface
right click
start new object
toggle delauney lines
toggle voronoi lines
toggle points
auto fill with randomized colors
merge different voronoi objects
sample point color from background?
less than three points doesn't remap rationally, need to update extra lines to something proper
FileDialog filedialog:
focus should start on file line
^l should shift focus to file line
when something is not openable or saveable, buttons should be greyed out
should probably have a scroll bar
implement icon list selector
implement option for (or just show) directories first
Resizing zaps view to top, should preserve 1st in window
need laidout only bookmarks file
edits color style: bg alternating isn't highlighting
tooltip to show full path of bookmarks
need drag and drop bookmarking
when you change directories, it should indicate if it corresponds to a bookmark
when resizing viewportwindow and a temp_input window active, make sure it stays on screen?
start fresh doc, autosaves which may be saving into confusing location. maybe save in config dir?
autorecover.. -> when an autosave is newer than the file we are opening
option to choose how many to save near original file, and how to remove old
[ ] Backup on save to: __%f~__ ___%f#~___ <-- use '#' to signal increment save
%f=filename, %b=basename (without extension), %e=extension, # for numbered autosave
[ ] Autosave.
Time between autosaves:___5_minute__ millisecond s sec seconds second m minute min hr hour h
Naming for autosaves: __%f-autosave#____
Number of different autosaves: ___1___
need option for always write relative links.. now defaults to absolute
file button expansion:
Collect... <- gather all refd files into one place. ask to specifically not collect per file
Commit (git) <- ensure file is git tracked.. add if necssary before commit
double check that other files refd by this one are tracked in same repo as well?
maintain list of what to collect, what to ignore when committing?
Commit settings... <- choose or set up repository, how to handle passwords?? libgit?
Revert... <- show log, select old
open from template:
get template list:
scan all template dirs: ~/.config/laidout/version/templates, or SHAREDIR/templates
name -- file path -- basic info about file
really thin objects should still be selectable, need to add a slight grab area outside bounding box
should be able to click within selection box to move all and not click right down on one of them
need to implement image cache clearing on low memory, to substitute for cairo not doing it like imlib did
minimum dp size is not small enough
anInterface::PreRefresh(), for instance to get engraver trace object to render below all selected objects
need to clarify what happens when you open and close documents. open already open pops new window, not sure if it should
also record ownership of limbos, open and close docs always leaves limbos behind
color slider popup:
have a "Done"/"Dismiss" button
be able to choose which color sets are visible
make color slider box be able to be a pane
would be nice to enter number values in any color format
need palette selection tab
click without dragging select color
click and drag shifts, but DOES not set value under mouse
out click on hex edit is picking color
optionally show clickable numbers
clicking anywher in the new/old should swap
show numbers to click on: 255, 65535, float
toggle sets of sliders: rgb, cmyk, alpha, cielab, hsl
resize inner circle, make small past a threshhold makes circle go away
extending past bounds
double click to call up color selector
load palette should have a preview: file dialog preview function
allow editing palette strips, import those to gradient tools
custom palettes
if height < 2*textheight, then hide name info
wheel between loaded palettes?
have a none color
right click for:
load palette
select palette
save palette
dup palette
New from a generator (like rainbow)
Soup up the color box so one can recall previous colors, and/or integration with palette window
-->delay until proper color implementation in place
gradient resources
owner: file/user global/system global
color strip: stops
color picker that previews text?
convert to using Color objects instead of all ScreenColor:
color patch gradient
image patch
DONE images (doesn't use color per se)
in general for windows, need better styling.. too much is hardcoded. problems later with high dpi screens
for instance revamp interfaces' concept of single pixel lines
make drag and drop selections work
need more mechanism so that popup dialogs stay on top of window they are "children" of
need a global Laidout method of making unique ids
-> update in Engraver tool, and object indicator overlay
image graphics filters:
node editor
plugin for easy antiprism import for net creation
for purely command line execution, should be able to make a binary totally not X dependent.
Import image list: default previews
externally saved pages, for long documents
save "page" files? reference from Document?
and/or save "object" files, with layers in the file, have special DrawableObject flag to save its contents externally
conformal mapping option instead of mesh? see
crash on lbdown: dp is null???
command prompt window: command line
bug: delete at pos 1 deletes space after prompt, then does not allow any input
option to record/save/load whole session of prompt window
up/down should traverse history
control-up/down, break out so you can go anywhere
load document, should load images on display only(done), or create previews in background..
snap guides to objects
snap objects edges to various things
align tool: aligninterface AlignInterface
needs polishing, the lines and indicators get a bit lost
context menu seems to be the group interface menu
need way to specify center of rotation per object
need to make discoverable, not just as key shortcuts
-> make as standalone tools, now that viewport stores selection?
endpoints should be oriented triangle, not circles which make it look like path nodes
explode in normal align
should be able to scale and rotate a non-line path when not in path mode
need manual mode.. drag grid marks to position manually... have that option available on others, auto transform to auto
gap looks ugly.. have indicator highlight path itself, drag that around
would be VERY handy to be able to recall previous arrangements, so you can partially redo
final layout options: unoverlap -> possibly snap to path, then spread out on path to not overlap
extra custom finishing per object?
reorder on layouts? -> how to handle reorder in gap and unoverlap?
trace out order path... show with numbers
drag out path, order of intersection is new object order?
maybe grid drag control to reorder
snapping to 0/50/100
number box while dragging, goes away after a second, or click on it to edit
if inc/dec arrows, have it inc or dec the decimal place cursor is on
default presets: inkscape crossover
Spread Editor:
need to make pagelocation ref count pages, or (need to anyway) check all known views for errant page refs after delete pages
would be nice if apply and reset should be grayed as relevant
adjust page preview resolution
after an insert, have temp wheelable number indicator, update on screen?
need to be able to move empty spreads
need to remove hidden pages from pagemarker
debug select spreads with rectangle -> need real box intersect? do we?
modify page range gui, click on a page label, where ever it might be... select pages in spread editor
debug spread limbo threads and page groups
implement render
debug drag and drop
create new document from spread view?
hide should collapse into a single thing so you can arrange more simply, instead of still having to sift through many
need infrastructure to propagate and save tool settings
Tools should remember their settings
remember tool settings: double click on tool icon? right click...
remember tool settings
figure out which settings need to be remembered, and install as resource.. what happens when diff
windows are using diff tools? which settings are remembered? have tool styles that are saved, as
well as the running tool use settings
interface for custom paper size
implement paper favorites:
be able to nest favorites, item->favorite = "submenu/23", item2->favorite="2", final element is number?
laidoutrc needs list of custom paper sizes
papergroup tool needs custom paper input
debug papergroup tool in spread editor
paperinterface: in spread editor (done), and able to print it out, don't forget to remove DBG for release!
options to show order of papers, print all of one size paper first? auto sort order by size? auto wrap image?
Load, save, add, delete paper groups
papersizes are not translated. Should they be??
work out scheme for resource ownership: they can be owned by:
1.DONE Document: if no project, save with document by default
2.DONE Project: save in project file
3.or Global resource: save in ~/.laidout/version/papergroups
class FileRef
papergroup->owner=Document, Project, or FileRef
no doc, define papergroup, convert papergroup to singles pages?
orient viewport to paper
snap other papers to various boxes
double click to edit paper details
in spread editor (done), and be able to print it out
more versatile size control per paper
edit window? should be edit on screen....
Name: default single letter
Paper: Letter, 8.5/11, landscape
Box: Media [v] Box: Clip [v]
[ ] None
0 0 8.5 11 X: 0 Y: 0
W: 8.5 H: 11
[delete paper type][new paper type]
should take precautions so that dialogs do not get buried, would need to respond to circulate events
in laxkit, key and mouse state should already be filtered to only contain laxkit modifiers,
reserve names for CommandMask (macs), and a few other custom masks for other weird keyboards
mass image edit, need to remap dirs for old files!!
bleeding mechanism should be functional
option to use different go/don't go colors
animated beacons for anchor points to make them visible
curvemap needs predefined ramp profiles, remember last, load/save
curvemap needs brush ramp mode to show symmetric graph
clip wrap render to graph rect
brush ramp edit mode: incompatible with wrap? or just have editor move points symmetrically?
seems to be an occasional redo bug, reinserting in wrong position
DONE dir
Convert impose-only to be based on feeding it an ExportConfig
clarify how locks, visible, selectable works. base in Laxkit?
object select, 'a' toggle select or not, select all in current selection area (ie page or layer base)
'm' should be able to move whole groups, means must be in object tool?
For objects that appear very small, the drag handles should not be operable.. shift only
For objects that are really skinny, it is not practical to have the handles be a percentage of the skinny
part.. should have minimum drag areas?
for blend modes, maybe place name conversion in Displayer, in case there are a ton of custom blend modes??
unoverlap -> define strategy, either shift H, Vert, along v, or shift on axes between objects
object reorder
scale panel should allow mpx and control zoom around point
overlays should get first pick of input, BUT if another has a button lock, it shouldn't mouse move update
need a way to tell rect interface to enter move mode with lbdown, as when initialize a child interface
standardize new Impositions: convert to new ResourceManager system. each has:
interface OR window editor
class type
default resources
possible to define other editors for any imposition type
make "make uninstall" work, and remove coop from installed position
select region by intersect, not by corner inclusion...
When importing from an image list file, should be able to say if and when to auto-make previews
new option in file, should be easy
mystery data enhancement: import as placeholder objects: if convertible to laidout elements, do not actually
expose them as such. Keep source in external location, current laidout only rearranges.
---> this is same as import as image, but using laidout objects to render them with, not bitmap images
---> this is useful to have a standard object indicator built from laidout objects, but
do not let them be editable
when importing, have MysteryData, which has special attributes "@file-pos" which says
where in the original file the attribute starts:
title (shown in screen)
file format the data is from
attribute style listing of the object? or straight from file
in: convert file to attributes, or provide method to tailor to an output format (eps, pdf objs, raster image),
and provide a preview image or object to stand in for the file..
should have a way to narrow down what resources are saved when you save a single document.. right now, if you
have multiple docs open, the resources are mixed
really should have option to separate or merge resources when multiple documents open, rather than always merge?
how best to integrate Styles, Attributes, and Values??? style types:
draw objects: Image, ImagePatch, Paths, Path, LinearGradient, RadialGradient, PatchGradient
Imposition: Singles, DSS, Booklet, Signature, Net:Box, Dod, etc...
-->Styles are Values that can be cascaded from other Styles
Values cannot be cascaded
-->C++ classes represent data that can be accessed and modified through:
file saved to disk
would be advantageous to write a single object def, and output options and documention to
each of the 3 targets
when closing a document window, decide whether this removes access to it, or just the view to it
from laxkit: clear up focus handling which currently REALLY SUCKS especially when dialogs are up
focus off a dialog, then refocus, must manually set control focus. should store which subwindow
gets the focus when autofocused.
pointin should check to visual boundary, not bounding box (? maybe just optionally)
customizable object child relationships to parent, rather than simple transform
incorporate gss!!
DONE scale x
scale y
scale free
stretch, proxy displays ok, but after install stretch doesn't work
shear *** seems to be off from point, need shear protection, produces null axes sometimes
DONE scale
DONE rotate
DONE scale+rotate
DONE move
add page target anchor
add parent target anchor
add object anchor
margin area not working
implement rules list click remove
implement click rule, update display, watch for offset
anchor names should not have quotes in them, because disk i/o is easier and I'm lazy
problems when anchors are on a page that is not at origin?
check for only align objects that are on pages
margin area anchors not staying when margins change
transform relative to alignment point of parent (50,50) for center, for instance
edge magnet
when trying to move an anchor when you still need to select invariants, flash the invariants
need edge indicators for more convenient snapping
security restrictions?
showing defined functions should show the code
set dump_out_atts should do full atts if any subattribute has full atts, else output "set": "{1,2,3}"
dump_out_atts should output raw toStr things.. Strings currently return "str" which is output "\"str\""
debug for
debug generic with operators, doesn't seem to be working
debug operator definitions
debug using and import... maybe remove using, use import Math.* instead
debug number deref: var a={1,2}.. out of bounds not returning cannot deref.. returning "Ok"
var a if a already exists should fail
error reporting up function calls doesn't say pos/line for each expression
overloading does not handle parameter mapping per overloaded, it is scanning only the first, and using that
print string plus any non string should stringify the thing and append to string
curline not getting incremented properly when there is skipping or looping going on
implement a PaperSizes object that recognizes all the names, or maybe a set somewhere with all names?
Math.oeuaeou does not produce an error
allow if statements on single line without curly braces
inputting lines when open {"( maybe prompt "... " to wait for closure?
how best to allow created object defs to be referenced as parameter, variable, or set types, it is a mess right now
show overloaded entries
needs massive testing
type "tool." (for instance), you can highlight choice with mouse, but does not insert into edit, only inserts when nothing had been typed
*** not getting options for all tool and object!!
searching seems to be messed up, improper matches when mid stream
mid stream search is messing up match names
completion should be worked into the edit.. "object.|" then tab is replacing all text with field name
when in function, search among parameter names also
need to search for context names before searching for calculator names
search within area, not total tree
text delete to nothing should only show the top areas in search results
thoroughly test object access
object.translate((1,0)) -> MapParameters should map the flatvector to p, not to x
shift up/down for showing completion
reposition cursor to error
for parameters, facility for special edit dodads
custom tools:
normal tools, but jump to special settings for those tools..
implement marks
bleed marks
color bars from a palette
spread info: spread type, current date and time, creator, spread number/total number of spreads
turning off overlays should revert icon to current tool
maybe flag whether to export limbo with spreads?
action/shortcut selector overlay
templates Templates:
save as default, or just save as.
partial templates, fill in non defined, like use booklet but manually define paper size
ImageImport dialog: (actually, needs a total redesign) import images importimage
should have preview for alignment options.. grab destination page to show preview
auto bookmarks, one for examples, or save as template
Choose/Review tabbed window
horizontal stack frame between choose/review and preview window
fancier path selector
for preview field, show green or something and change tooltip if preview will get generated
click on file to preview file, preview to preview preview
generate image previews progress box...
autogenerate should do special check for ~/.thumbnails to conform to freedesktop spec size and type...
importimages-> eps --> they are fit into boxes!! they should maybe be inserted into a stream..
dynamic objects (generated images, dynamic images, rendered images)
eps objects to pdf: export as image, plant in PDF as image
group objects with laidout elements, updateable with script
image objects using ImageImportFilters
perhaps add TEX_BIN, LATEX_BIN, and text editor to quickly add stuff like that!!
external commands:
website to recommend learn more
needs what type of file
needs how many files
needs what other info
In image properties dialog, have the popup list of potential previews
preview style needs debugging and testing so as not to fry the freedesktop ones
if you change an eps to a non eps with the insert file, it still thinks it is an eps..
image objects should auto change between the available image formats:
bitmap--eps--embedded svg--dynamic
Dynamic Content:
displayed as images, or displayed as group of laidout objects
possibly multiple images or objects in linked list:
one source creates multipage ps, for instance, each page gets its own object
controller source object:
generator command + context
ps/tex/pdf/etc to eps files, import the eps files
broken down equirect panorama to net
Image import chain:
1. eps|EPS: Laidout builtin
2. svg|SVG: inkscape command line export
3. other external renderer: asymptote, structure synth, sunflow, pov-ray, lilypond, latex, graphviz, gnuplot
3. * images: graphicsmagick
4. jpg, png, gif, tiff: Imlib2
move Value and FieldPlace to laxkit? ValueHash would be very useful to ease configs
merge set and ValueHash?
pathinterface conversion must be done
true object tree with all lax data objects subclassed to hold children, and reference parent
debug multi head? seems to crash when showing with projectors plugged in
screen info should return x,y,w,h, with flag saying it is part of a whole.
if only one screen, then x,y is 0
drag off screen should toggle off
need overlay close box?
edit base in place
should remember old label format strings, to easily select back to them
for range on import/export, should have a range parser that accepts unconnected ranges, ie "2,4, 5-10"
shortcut dialog:
general window arrangement is really bad
area heads need to have human titles, _("Image Tool") instead of "ImageInterface"
mode for shortcut check not quite working, such as ' ' with button to duplicate
need hierarchy overlap features... it is easy to get lost in different zones
panning f'd up, close but incorrect bounds checking when drag
needs to make in window for cursor moving
char names for wacky xf86 codes.. accept 0x*
mode based shortcuts have no display capability
implement search
need ability to add multiple keys for same action
svg keyboard out
have option to specify language from command line
reimpose option: center images, but not rescale?
improve split window
control wheel to expand bevel
load/save split bevel settings
debug mouse cursor change when over gap
simplify pane customization, docking
signature editor Signature editor Signature Editor signaturei
should be able to drag and drop stacks
making new paper size should try to find matching paper name for a given size
fold replay should start showing FRONT page of stack, not back. THIS IS A BUG
if start from whichever, should show inverse of folds to normal as necessary
scale pages preview needs to use margin area, not page area
needs indicator of number of groups, show 3/10 for current sheet in little box above stack, allow numerical input
show margin, trim, binding when not totally folded
for large page counts, need number entry in stacks
would be nice to indicate when there is a centerfold of any signature
mixing different page sizes mixes up the PageLayout at boundaries. alignment should be either always centered, or custom
after you add stack, the added one should be selected
must implement dragging around instance blocks...
helper controls to adjust inset to match up final size for sigs of different size
indicators for different signature instances when viewing page spreads
need to be able to designate particular sheets with properties (like color),
as current insert mechanism assumes folds happen before insert
tab to cycle through handles for numerical input
mouse over and drag show numbers on canvas
export pdf or lo doc template
implement work and turn, work and tumble interface
should probably be some kind of tooltip to say shift for fold under.
binding edge must be same orientation for all stacks and inserts
need a paper size editor stand alone window, entering numbers should convert name to custom
paper select should give hints as to whether paper size can hold actual final size
detect non staplable binding edge, show red rather than green
test impose-only for all imposition types
be able to specify single sided.. allows bound accordian foldings?
implement creep
Make extension to be able to use Inkscape live path effects (lpe)!! The run on svg snippets, so should be somewhat
straightforward to call externally.. BUT have optional tool overlay. Figure out how to reverse implement to also
run within Inkscape.
printer mark rendering default to a single color? editing of net outline allowed, but
then changes not stored
probably should decide how to handle making windows based on interfaces.. it is a more productive route than window dominant
option to lock label size to real space? make export contact sheets a little prettier in some cases
page thumbnail should be rational, ie image should be whole page, not just contents+transform,
and thumb transform makes image dims to page coords
in number edit boxes, wheel should allow changing numbers, change on digit mouse is over?
is it better to wheel at curpos?? probably.. select that digit, must track after changes!!!
global resources:
current frame/time
current language, for conditional text
global Laidout settings:
color theme
per tool default settings
thin line width (default 1 pixel, but this is bad for high dpi screens)
external tools:
figure out a way to standardize verifying that tool exists and is executable
to image renderers
to object renderers
Image editor (gimp, krita)
plain text editor (gvim, console vim, command, etc)
associate (object type) <-> (external editor)
> laidout blah.laidout... <-- if starting like this, if blah.laidout does not exist, then abort
> laidout 1.laidout 2.laidout <-- if starting like this, if either exist, then start up, but have
warning message that one document failed to load?
-> could have a consumable message interface? show a message until the box is clicked on, then it removes itself?
textobjects,limbos,papergroups should maybe be able to be stored per document, not just file, project, or temp
either that, or do away with whole project/document difference, and use only
projects with their own directory, and projects without their own directory
Selected region out to image(s), regions optionally remembered
rectangle or path?
import/export styledefs should use the extendsdef mechanism!!!
views with multiple spreads
messages to the status line should have priorities? so once mouse over messages are cleared, it would revert
back to a lower priority message
perhaps split radial and linear gradients to different tools? makes more sense
WhateverImposition, to only have limbos, but extra handling for exporting
all at once imposition... this would allow mapping of scribus layout without fuss. that
could be a special case of n-up, where you specify n to be infinity, with m number of
columns, not necessarily aligned, as scribus does.
importimages: remember last settings
Master Pages master pages / template pages:
have objects be tagged with ref object, so you can create a page with a master page
that has a "text frame" for instance, but different children per page
need option to import master pages
some kind of grease pencil?
Saving: multiple documents open, save only the headwindows that refer only to that doc,
OR save no window configs (saved with project), OR save custom configs
need conversions: gradient->color patch
image -> imagepatch <- do with image filters rather than specific object type
imagepatch -> image
colorpatch -> image?
engraver -> path
path -> engraver
text -> path
bool reversible;
char *from;
char *to;
int support; //like how reliable it is to convert, warnings for what is lost
CanConvert(object, from, to, warnings_ret);
newobject = Convert(object, to);
file format prettification --file-format
dump should differentiate between DrawableObject and pure resource objects... right now, all lumped together
adapt the scribus xml/att convertor to parse the output of laidout --file-format
into something meaningful...
#-------blah-------- <- mark a new section
thing #thing's docs
subthing #subthing's docs
#docs for following atts indented same as previous atts
next_att #(one or more) next_att docs
export with limbo, and no doc or papergroup, means use bounding box for limbo?
measure tool.. configure measurements to be:
displayer units
object units
units mapped to either type of units, so can use light years for units that are actually inch physical paper units
have arrows, and write on screen what the size is...
check for empty groups
check for broken images
check for transparency
check for bad fonts/missing chars
compatibility should be determined by file type managers, not individual objects
return if object is currently compatible with some standard,
like "PS LL3", "EPS 3.0", "SVG 1.2", "PDF 1.3", "PDF 1.4" "HTML/CSS2"
1==yes, straight out
2==yes, but needs rasterizing
this would simplify preflight checking
maybe expand the page label system to have some kind of to-do markup.. this could be combined with preflight verifiers
or other search activities as work-in-progress annotations
cloning: convert to master: make a clone be the original..
means swapping the actual master with the clone
..if an object is cloned, maybe just have them all be clones, and original becomes a remote "data block"
to be dumped to file in a defs section? if all refs gone but one, then it takes place of clone?
for clones, it would be easier to have a "defs" group or something, so deleting the original of a ref will
not cause problems. When deleting objects, must then take care to update parent, so it is immediately known
if an object is without a home.
tiling cloner: clone tiler CloneInterface
new tiling should update viewport color per basecells
should not assume preview has I transform
memory hole back, third time!!!
radial needs wind scale input
need more distinction between what is a base object, and grabbing a copy of existing object.. too easy to confuse the two!
copies should be selectable, at least so you can adjust the colors: gave current_base, current_copy
should have z order controls for base cell stuff
clipping options when source images overlap in final layout
maybe be able to modify base cell outline, use that as clip? autocorrect for overlapping?
snap sources to fit/fill in base cell areas
implement proper shear/aspect protection for:
allow shear of p1, p2
allow non-locked aspect of p1,p2,pm,pg,pmm,pmg,pgg,cm,cmm
highlighting in selection box should draw name next to the thing on hover
making new id names needs to make unique
1m and mg do not seem to work: need a final transform to apply, NOT repeatX/YDir().. those shift without rotate
bug: not showing orientation arrows correctly when outline cuts through middle of bounding box
really need undo
save color hints of base cells with Tiling object
change color of boundary, and outline preview
select objects, wrap base cell around it
implement circular interface
need rudimentary editor
need flag for ok for cell to shear, ok for cell to scale x/y independently, and have it apply as it should afterwards
default line/fill render style (if any)
boundary outline style
base cell outline styles
should have a render preview to show actual grid coverage
need finishing tool
design interface for clone on path
Hisrchhorn Medallion
truchet tiling
penrose/heesch/net clone interface
penrose p1: pentagons, pentagrams, rhombus, sliced pentagram
penrose p2: kite and dart
penrose p3: 2 rhombs
need progressive search when mouse over box
autocreate seamless tile image
autofit source objects/images to the pattern to minimize gaps
map to inkscape tiling clone on export?
Imposition use cases:
for sig editor, need paper partitioner, then stack sections
for same document, have stack of impostions, each with its own page set? would make docs with body pages and
cover easier, without having to implement full "project"
booklet contains two threads, read one way, flip book over, read the other way
remember custom views, to swap rotated display, for instance
booklet but each paper is trimmed differently, like for tabs
need cutting marks for posterizing for lining up different sheets
impose only needs access to papergroups
maybe any spread setup temporarily to another imposition on export?
Net imposition
create from papergroup: one papergroup used as page spreads, another used as actual paper group?
net extra scaling non-functional
NetImposition needs import/export net,
export svg
convert to/from laidout elements
interactive unwrapper and build net interface figure out bleeding and connectivity infrastructure
figure out more efficient clipping of Imlib images
finish implementing double sided nets
saving when net is internal is not proper.. does not distinguish between diff. nets and whole
import/export cff2?
export vrml? pdf 1.6?
save different setups: papertile AND net layout
load save nets from: files or 2.OFF files(done)
hedron window:
send imp
receive imp
remember net and paper placement
sometimes paper disappears
auto generate equirectangular -> flat
reverse project net onto an equirect for export
highlight paper when dragging will move it
need to draw other nets in outline (at least) in paper view
need to preview sides on hedron
memory hole in polyptych
file open, preview hedra
file open, preview equirects
need to implement more options for polyhedron connections, to allow mobius strips...
DONE proper units for papers
implement undo.. ideally use same code for both undo and recordable/assignable actions
object interface
need to account for:
dragging m changes
key flip, or non-dragging changes
object deletion
inside curve editors
paper interface
spread editor
metadata stuff
during scripting?!
PlainTextWindow plaintextwindow PlainText plain text window:
need showing line numbers
clicking around doesn't properly update caret drawing
need control zoom to change font size
some day should have syntax highlighting in Laxkit::MultiLineEdit
indent/unindent selected lines
toggle expandtab
plain text edit window specify interpreter to process the text with
option to show line numbers
move selected lines up/down
regex searching
pixels units should be set as per document dpi
perhaps laidout configure should call laxkit configure if it thinks laxkit is not configured yet
CharacterInterface characterinterface
should show unicode number/glyph name if available
implement recent
implement suggestions
alternate glyphs
Spread editor: SpreadEditor spread editor spreadeditor
should have border drag to move, not middle drag
need python implementation of Attribute and class structure in/out to help file importers in other python based environments
limbo transform should be obeyed. It can be moved, scaled, etc,
page layers should be simplified, each layer behaves according to its transform, and more controls inserted to handle layer maneuvering
configurable command buttons to automate certain things with minimal window clutter....
dump OUT an image list? Scribus has "review images" feature.. can jump to location, edit print/view, etc
repeater tool on path: could be adapted to help animation tweening
===================Anything below here probably needs discussion before implementing================
---------------------------------- other enhancements ----------------------------------
how to keep track of class hierarchy? impositions are now listed by resource instance, what is
best way of keeping track of base imposition classes? this is needed for file format description output
for translations, there is a difference between locale translations and language translations!
not sure if it is worth paying attention to... need to investigate if locale as it affects keyboard input
is separate from what locale we read in translations from. If it is distinguishable, that is fabulous, in that
we can maintain the current locale key input, but change the language translation at will...
investigate pdfcreator as method to reduce file size
DumpImages within Arrangements, which are sort of a template of rect regions (2-d guides)
would also implement the dump into Limbo
dump into any string of objects, this is really the same thing as laying out a stream, maybe merge this?
historical impositions:
Name Abbr. Folds Leaves Pages
Folio fo, f 1 2 4
Quarto 4to 2 4 8
Sexto, Sixmo 6to, 6mo 3 6 12
Octavo 8vo 3 8 16
Duodecimo, Twelvemo 12mo 4 12 24
Sextodecimo, Sixteenmo 16mo 4 16 32
directory reorganization?
windows/ <-- purely ui elements
core/ <-- implies isolating core functions
a "Place" tool like indesign?? preview images and place by dragging out one by one, as well
as optionally into Arrangements
food for thought:
haskell envelope function:
When releasing new version, combine these with ROADMAP items for release notes.
These must be moved to the DONE file at each release.
DONE space to duplicate not working (on images)
DONE thumbnail images not showing in the spread editor view
DONE won't let me open for new preview image in imageinfo dialog, click ok, window comes back up
DONE inkscape bug!! zoom out, NextSpread/PreviousSpread icons stroke on side disappears, somehow handle related, adding more handles fixes
DONE wrong git rep on website
DONE option to change default exported file name
DONE make saveas file edit color code right: red for can't save, yellow for overwrite
DONE tooltips and event timers seem to be frelled
DONE for objectindicator, more than one input window allowed.. should block, and turn off when mouse out click
DONE crash on ungroup
DONE update touch_recent for Laidout files in the newer xbel type
DONE shell broken sometimes.. bad font??
DONE Singles not loading what was saved
DONE paper spread view, shadow is offset wrong
DONE bg for spread flipper not the same as the other buttons after popping up spread editor.. wtf???
DONE button or key down doesn't cancel tooltip once it is up
DONE (apparently) Printing only goes to letter, even though page size says go full page, in image(done), pdf(done) and ps(done) out!!! *(#@*&#*(&*&$(
DONE print command to printer is not respecting the paper size
DONE (but still must imp cache clearing on low memory) cairo doesn't cache images like Imlib does,
so every image is totally loaded on file open. bad, bad, bad!!!
DONE moving several limbo objects back to page does NOT actually move them all onto the page!! grrr!
move them on then off -> fail, move off then on -> fail.. problem with group bounding??
--> changing one context messed up the other contexts, each context in selection must be updated on move
DONE be able to change units preference via a window control rather than just editing laidoutrc by hand
DONE objectinterface/groupinterface deleteobject goes out of sync when telling viewport to delete:
-> loop over selected fails when object order changes.. need to update contexts of other objs in contexts
DONE group/ungroup needs to update viewport selection to current selection object
DONE group/ungroup calling TreeObjectReorder, and clearing any selection, needs to stay selected after
DONE ungroup is not applying transform appropriately
DONE grouping frelled.. can group, but cannot seem to select existing groups to ungroup
DONE group/ungroup broken
DONE objects disappear on group <- due to SOMEDATA_LOCK_CONTENTS blocking it out.. it shouldn't though
DONE importing images should default the image id to a variant of the file name
DONE cloning, jump to object in offscreen page, switches pages, but bounding box wrong place
DONE clone a child.. NOT PUTTING CORRECTLY!!!! totally wrong matrix, dropping into wrong context
DONE clone via space bar not moving object after space.. moves bounding box, but actual objects stays put
DONE reparent not installing correct transform
DONE jump to parent seems to be broken and causes crashes
DONE (? can't duplicate) object layer positioning for Home and End keys projecting out in wrong way
DONE (? can't duplicate) hang after reparent object
DONE (can't duplicate) test-tiled-mark.laidout: delete the bars, add bars back then try to export, program stops (not a segfault)!!!! headwindow gets decremented somehow
DONE cut marks are too thick.. cairo problem?? grey bars export to pdf ok, but don't display correctly, outline is too thick
DONE recent files do not appear to be most recent file opened
DONE memory hole: add gray bars and quit. 85 objects remain!?!
DONE gray bars does not have accurate bounding box initially
DONE add gray bars, displays wrong width, but save and load, width is proper. wtf?
DONE papergroup objects are drawing beneath the white of the pages
DONE bug: add gray marks, then '.' for next object, endless loop!
DONE bug: add gray bars, move to a page, ^g crashes!
DONE paper display shows shadow in wrong direction
DONE (can't duplicate anymore) file open, click around recent, etc, crashes!!
DONE filedialog: lost ability to define new bookmarks.. bad!!
DONE filedialog: control click no longer toggles
DONE should have a "touch" startup, to run laidout with a new named file, like you might do with "vim something_new.txt"
-->already there! -n 'saveas file.laidout, landscape, ...'
DONE transfer group behavior to GroupData. would greatly simplify some things
DONE ungroup should have ungrouped objects selected after ungrouping
DONE need infrastructure to propagate and save tool settings ( needs implementing per tool)
DONE add menu items to rulercornermenu for reseting view orientation <-- use lower light corner menu under scrollers instead
DONE CharacterInterface: outclick needs to destroy without sending
DONE when you try to open anything in ~/.laidout/*/templates, then it should open as a template
DONE everything loads as a template now???!!?!??!!
DONE SimpleColorAttribute() should allow css3 stuff, like rgb(50%, 25%, .5), and hsl(), where h->[0..360)
DONE should be able to handle any css color attribute, whether "#fff' "#ffffff"(done) or rgb(...)(done), hsl(...)(done), hsla()(done)
DONE SimpleColorAttribute() should have double rgbaf available
DONE SimpleColorAttribute() should return an end_ptr
DONE caption data up, objectindicator up, the OI not scanning mouse position correctly
DONE file button:
DONE Save As...
DONE Save a copy...
DONE Save a copy incremented
DONE Save as template... <- need to enter template name and file?
DONE Save as default template
DONE New...
DONE Open...
DONE Backup settings...
DONE autosave
DONE need a gui
DONE every X minutes
DONE voronoi Voronoi delauney Delauney:
DONE Equivalent object to PathsData, or GroupData with delauney, voronoi, points, numbers
DONE implement data tree insertion
DONE implement proper file name for import/export
DONE tooltips:
DONE mouse over to get rid of one tooltip, remain in window, it just pops up again shortly after. need check against last tooltip to prevent
DONE change desktop, tooltip remains
DONE ObjectIndicator: render text with white halo
DONE GroupInterface: Not catching mode==1 correctly.. can't zoom with just space anymore
DONE need to spiffify tabframe.. it is hideous
DONE need better render for tab frame headers
DONE add blank image, change description, do not change filename, makes width/height zap back to 0...
DONE should probably flock in UpdatePreference(), even though it's just reading, another thread may mess with it
DONE implement LineStyle::dump_out_atts
DONE implement FillStyle::dump_out_atts
DONE FillStyle: implement i/o of all the available blend modes
DONE some side handles on object tool scanning as different handles
DONE clone tiler:
DONE needs a tiling description dump_out
DONE big memory hole, maybe only after render?
DONE debug recursive, need controls to say how much to recurse
DONE dragging source image should optionally autoselect the base cell nearest mouse
DONE? render is slightly offset from base cells occasionally (??? can't dup)
DONE control box should either shrink oversized text or put bigger box
DONE need to be able to individual base objects
DONE transform the base cell complex should transform base objects along with it
DONE click on base cell, update viewport color box
DONE should have some indication which base cells source objects belong to, maybe outline with color?
DONE base cells click needs to check for in bounds of grey clones
DONE must be able to explicity say which control layer to act on: boundary, base cells, source objects, in case of bad overlap
DONE need to be able to use full object handles when moving source objects... the size handles are disabled
DONE line thickness of default render is way too thick, should be a small proportion of bounding box
DONE bug: can't scale base objects
DONE bug: spiral and rotation tilings not working again
DONE? debug groupify
DONE memory hole back <- this time in RectInterface!!
DONE need better context for non identity page transform for EditThis
DONE make groupify default
DONE on export the base tile line width is wrong, since inkscape doesn't handle screen width (now default to .01 of user unit)
DONE need to be able to remember tiling for future editing
DONE need to be able to delete base objects all at once
DONE should use preview->basecells, rather than generate fresh with Render, so if user edits base cells it behaves as expected
DONE hovering outside select box should not highlight a tiling
DONE color sliders input hex, it's flipping r and b
DONE Lightness slider appears black to white, but the middle is full color, needs segmented render like hue
DONE click enter area of color pickers, does not install color!!!!
DONE rectinterface with extra m not propagating transform correctly: move(done) rotate handles
DONE rectinterface should reset down point on control press
DONE captioninterface
DONE update svg and scribus exporters to using linespacing and glyphs
DONE? cant duplicate anymore bug: convert to path with viewport->ChangeObject(), puts obj way off, doesn't show path decs, other weird
DONE Paste not triggering recache
DONE fonts need to dump in(via fontmanager->dump_in_font) and out(done) by themselves
DONE need to implement dump_out_atts
DONE memory hole after convert to path
DONE FindPos needs to account for glyph/cluster coverage
DONE (seems to be gone with switch to harfbuzz) change centering not smooth, text placement hops, font to bitmap render size snafus?
DONE key move for caret not working for ffi
DONE deleting leaving excess glyphs???
DONE needs line spacing slider
DONE baseline justify
DONE needs hint to preserve baseline align when changing font size or line spacing
DONE page range tool in spread view not showing text
DONE bug: select path tool. one point. escape. delete. boom!
DONE saved file, not showing up in recent
DONE remove imlib dependency from ImagePatch
DONE (not sure why, switched to use explicit gradients) ColorSliders not really showing black unless you set from hex, but solid black is still sending properly
DONE file live search selects wrong one.. using absolute index instead of file
DONE filedialog click on directory icon, crash!
DONE bug: press 4, wtf?? should zoom to current object
DONE Can't actually select Recent
DONE Can't import images to limbo
DONE searchable menus
DONE switch to GPL v3? would broaden gegl usage, some of which requires gpl3
DONE laxkit/examples/ messagebar, resize window, dragging around smears. laxhello: Also can't double buffer
DONE ps:
DONE test ps out image patch does correct vert flippedness
DONE image out seems to have stopped working?? <-because it depended on images being LaxImlibImage
DONE must make sure it doesn't depend on Imlib
DONE image
DONE should really make this graphicsmagick or cairo based, not gs+pdf based
DONE should color background per paper if !transparent
DONE laidout import:
DONE inserts unneccesary layers
DONE (can't duplicate?) does not appear to scale correctly, does odd scaling
DONE filedialog: something wrong with bookmarks.. pressed add, and they all went away
DONE switch to net imposition, net render lines too big
DONE asymmetric cuts are not right for front sheets on spread generation (done), also on sig editor
DONE bug: export to range has bad initial upper value ?? can't reproduce, starts with -1, which is fine
DONE select filter editor tool through menu does not use current object
DONE can still click down on other objects while perspective for filter edit
DONE space duplicate object with filter, keeps duping until crash
DONE unparent from a group should remove the group if nothing left? no, empties have uses
DONE group: double click to enter group area
DONE group: ungroup doesn't check if FieldPlace indices change, making ungroup and group unreliable
DONE fontdialog:
DONE sample block should not strictly adhere to fontsize, as it can get very big (or too small)
DONE you can still scroll off when few visible items.. grrr!!
DONE should really get around to implementing scrollers
DONE fontmatrix import? fontmatrix uses a sqlite database.. should be straighforward to scan it
DONE plaintext editor: need control-'.' or something to jump to last mod point
DONE sig editor: stacks should display below squared bounding box of pages? -> have text rotate with it, more clearly shows where "bottom" is
DONE recently-used.xbel showing multiple: <bookmark:group>Laidout</bookmark:group>
DONE no recent in open!!
DONE? crash on rearrange sometimes: page range getting out of sync
DONE should not register autosaves as recent
DONE filedialog:
DONE need add and remove bookmarks
DONE sort by details
DONE sort by size should sort by actual size, must interpret "5 gb" vs "3242 b"
DONE columns need to autosize
DONE add scroller to treeselector
DONE color slider popup: should pop near the mouse
DONE need to update ColorSliders to use dp gradients
DONE engraver tool:
DONE bug: change type not tracing, same for selecting new trace object
DONE For trace, click on "..." when no trace object should bring up trace object menu
DONE (can't duplicate) bug: object rotate works fine. but then enter and leave engraver tool. Now object rotate is messed up
DONE bug: make a LineEdit overlay for number input, then Next bdown is ignored!! l, m, or right all ignored: viewportwindow line 947
DONE bug: several update triggers failing --> due to recent switch to cached image
DONE bug: show_points broken
DONE bug: add group, messes up the with: and not shared lines
DONE bug: Remane a resource, not updating name in resource list
DONE in shortcut list, backspace won't let me delete chars from search
DONE svg filter:
DONE debug initial scaling/viewBox issues
DONE out for meshes
DONE should NOT default to powerstroke.. the cache for complex stuff REALLY bogs down, creating NaN draws
DONE need clone ref check when finished reading file
DONE text in fail: in hangs..
DONE testsvg-disappearing.svg.. many objects disappear after read in at different zoom levels. wtaf??
DONE on out, need option to have 90/inch or the new 96/inch
DONE bug: only sometimes, exports at skew angle
DONE need in for style on paths
DONE scribus:
DONE encode < > ' " & \ as entities
DONE caption -> path, then out, all paths are normal EXCEPT text paths, which are upside down
DONE paths outputting upside down
DONE out using FinalObject: DONE pdf DONE scribus DONE image DONE svg
DONE for export, need way to have easy crop, especially from command line
DONE remember last export type
DONE when saving, name shouldn't be red if ok to save
DONE out textaspaths: textonpath: pdf, scribus, svg, caption: pdf, scribus(sort of), svg