diff --git a/pd/nw/todo.txt b/pd/nw/todo.txt index 4a81be8c1cf6ee22f4514906d2063fbb099a421d..05b769dd043b8c800fd5bb63238ded91e0b5020e 100644 --- a/pd/nw/todo.txt +++ b/pd/nw/todo.txt @@ -64,49 +64,59 @@ Everything else: (A [x] means we've fixed it) tags and appends the word "BASE". (Maybe use an inner <g> to do this.) [x] make mycnv use its own selection logic [ ] abstract away appendChild -[ ] font-size should be set as css property for a class of text, rather than per each gobj in svg -[ ] remove the "fudge_factor" kludge in g_rtext.c, and handle fonts in a sane manner. In doing so - we must decide whether or not we want to be able to fetch the bounding box of objects from - within a Pd patch. (Currently [canvasinfo] and [objectinfo] are the only objects that can +[ ] font-size should be set as css property for a class of text, rather than + per each gobj in svg +[ ] remove the "fudge_factor" kludge in g_rtext.c, and handle fonts in a sane + manner. In doing so we must decide whether or not we want to be able to + fetch the bounding box of objects from within a Pd patch. + (Currently [canvasinfo] and [objectinfo] are the only objects that can do this, though there might also be) [x] replace things like gui_select_color with css -[ ] find a better approach to escaping characters for the gui than escape_double_quotes kludge - (and handle any other problematic chars) -[ ] look into using <def> and <use> for scalars. -[ ] in draw_vis, make circle and ellipse radii attr floats instead of ints -[ ] should stroke-dasharray values be floats? -[ ] once garrays are drawn inside a <g> we won't have to individually erase each child of a scalar +[ ] find a better approach to escaping characters for the gui than + escape_double_quotes kludge (and handle any other problematic chars) +[x] look into using <def> and <use> for scalars. (Looked into it-- doesn't + seem necessary or helpful...) +[x] in draw_vis, make circle and ellipse radii attr floats instead of ints +[x] should stroke-dasharray values be floats? (Yes.) +[ ] once garrays are drawn inside a <g> we won't have to individually erase + each child of a scalar [ ] clean up svg_sendupdate -- put a single gui_vmess at the end [ ] svg_sendupdate -- make sure there aren't arbitrary %d's that should actually be %g's -[ ] svg_sendupdate -- need a gui interface for stuff like stroke-dasharray (and garrays) -[ ] ibid., for path data, points +[x] svg_sendupdate -- need a gui interface for stuff like stroke-dasharray + (and garrays) +[x] ibid., for path data, points [ ] make pdgui function names more consistent -[ ] in draw_vis, move tags to front of function call so they don't have to be in an array -[ ] in draw_vis, remove all the coords logic and let svg_togui do that work. In svg_new, - leverage the "d", "points", etc. methods to do the same. +[ ] in draw_vis, move tags to front of function call so they don't have to + be in an array +[ ] in draw_vis, remove all the coords logic and let svg_togui do that work. + In svg_new, leverage the "d", "points", etc. methods to do the same. [ ] remove the draw_vis warning/code about needing 2 points to draw [ ] need to clean up dead windows inside patchwin object (on close) -[ ] make gui_menu_close filename less hacky (currently includes patch args in the middle) +[ ] make gui_menu_close filename less hacky (currently includes patch args in + the middle) [ ] figure out why -nrt flag causes Pd to bail on the GUI (it wasn't doing this on the amd_64 virtual Jessie machine, nor on my 32-bit machine). [ ] make dialogs with [yes/no] instead of [cancel/ok] -[ ] make a gui_mess interface for the edge cases that don't require args (similar to sys_gui) +[ ] make a gui_mess interface for the edge cases that don't require args + (similar to sys_gui) [ ] make sure we're breaking down the socket properly from the GUI side on quit [ ] looks like nwworkingdir isn't working for open/save dialogs atm [ ] nwworkingdir only works on the second file open [ ] implement the stuff at the end of saveas_callback (recentfiles et al) -[ ] make an "export" menu command for max patch saving. That way we can accept a single extension - for saving (.pd), and the native save dialog will warn us on potential file overwrites (even when - the user neglects to type an extension). +[ ] make an "export" menu command for max patch saving. That way we can accept + a single extension for saving (.pd), and the native save dialog will warn + us on potential file overwrites (even when the user neglects to type an + extension). [ ] draw graph inside gobj group [ ] merge gui_text_select and gui_text_deselect [ ] in function gui_cord_inspector_update, use parameter "moved" to flash text -[ ] cord_inspector_flash doesn't seem to be deterministic-- if you move among several cords very fast - it will try to flash a non-existent svg item. (Probably want to either make a permanent item in - the pdcanvas.html for it, or hard-code a separate div.) -[ ] for data structure demos, change "" to 'none' +[ ] cord_inspector_flash doesn't seem to be deterministic-- if you move among + several cords very fast it will try to flash a non-existent svg item. + (Probably want to either make a permanent item in the pdcanvas.html for it, + or hard-code a separate div.) +[x] for data structure demos, change "" to 'none' [ ] fix "Reselect" <ctrl-Enter> Keybinding. It doesn't work atm because nw.js - cannot bind to Enter. + cannot bind to Enter. But canvas_events should make this pretty easy. [ ] keyup doesn't register autokeypresses, but keyname and key do [ ] text_set doesn't work when a numbox is first created (but works otherwise) [ ] clean up nw_create_window (doesn't need so many parameters) @@ -114,12 +124,13 @@ Everything else: (A [x] means we've fixed it) [ ] implement the crappy iemgui color dialog presets [x] find a simple translation API [ ] use underscores for iemgui dialog element names -[ ] revisit the x_thick logic in g_slider.c. It thickens the indicator when it's - in the middle of the slider, but it's pretty obscure in the current impl. +[ ] revisit the x_thick logic in g_slider.c. It thickens the indicator when + it's in the middle of the slider, but it's pretty obscure in the current + implementation. [ ] for as many items as possible, hide them instead of removing from DOM [ ] fix iemgui_font so it doesn't use tcl list syntax -[ ] change all the gui color char[MAXPDSTRING] junk to simple int, and do the conversion to - hex html string in the gui +[ ] change all the gui color char[MAXPDSTRING] junk to simple int, and do the + conversion to hex html string in the gui. [ ] implement iemgui labels and its ascetic font chooser [ ] think about scaling the svg instead of the page, and making the selection rectangle a div above that @@ -127,7 +138,8 @@ Everything else: (A [x] means we've fixed it) [ ] in dialog_iemgui.html, use an object to store all the prop/value pairs that got sent. That way we don't have to use all those awful tricks to conditionally fill the slots -[ ] look into the font metrics, see if we can use floating point fonts to simplify things +[ ] look into the font metrics, see if we can use floating point fonts to + simplify things [ ] iemgui font configuration -- de-tcl-ize the {fontface fontsize} tcl list, then make it work [x] do msg box click animation in css @@ -136,32 +148,20 @@ Everything else: (A [x] means we've fixed it) [ ] standardize javascript function names [x] in gui_plot_vis, we have to check for gobj existence. For some reason, at very fast drawing rates we end up with two svg elements if we don't check - for this. This would be simplified if gop stuff was just children of parent <group> + for this. This would be simplified if gop stuff was just children of + parent <group> [x] add garray_update for changing the path coords without having to recreate the entire scalar edifice -[x] when duplicating a large number of iemguis, the label or border will eventually try to append - to null. It looks like it's receiving the correct gui calls from Pd, in the correct order. - But for some reason the calls from Pd are getting split in the middle of a string. - Not sure why, probably something to do with the hacky parser I wrote to split on newlines. - Anyway, when we can just split on semis this problem should hopefully go away. Make sure to - test for it once that happens. - Some gui_posts that show the problem-- the string is split between lines 2 and 3: - nextCmd is gui_create_toggle ".x98be5e8","x99c0740","#000000",1,0,181,67,192,78,181,78,192,67,179,65; - nextCmd is gui_iemgui_label_new ".x98be5e - 8","x99c0740",17,7,"#000000","","{{DejaVu Sans Mono} -10 normal}"; - nextCmd is gui_canvas_drawio ".x98be5e8","x99c0740",".x98be5e8.t99c0de0o0",179,79,186,80,179,65,"o",0,0,1; - the tag for this XLET is .x98be5e8.t99c0de0o0 - - Note: this was a simple problem of partial msgs not being prepended to the next buffer. - [ ] remove gui_text_select_color (css takes care of this) [ ] add a canvas message to set a transform on the patchsvg. Good for: * obscure display needs (zooming past the browser limits) * rotating for a display * transforming or scaling all scalars on a patch at once - However: This will require more math on the mousemotion. So this should probably wait until + However: This will require more math on the mousemotion. + So this should probably wait until moving a lot of the editing code out of C and into the GUI -[ ] change 'array_element_fill' to 'element_fill', array_outline to 'array_element_outline' +[ ] change 'array_element_fill' to 'element_fill', array_outline to + 'array_element_outline' [ ] either nw_create_window should take fewer parameters or it should take an object with name: value pairs [ ] getting the sense that glist_isselected should _always_ have @@ -206,12 +206,13 @@ Everything else: (A [x] means we've fixed it) [ ] ds-demos unit-circle node throws an "unexpected string" error when trying to open it [ ] gui_canvas_getscroll isn't called upon patch load + Crashers -------- *** -Differences in Purrd and Pd +Differences in Purr Data and Pd --------------------------- When editing box content, you cannot currently trigger xlet highlight when