2013-05-28 20:07:32 +04:00
|
|
|
Roadmap
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 61% Pre-Alpha - limited preview
|
2013-10-12 14:18:46 +04:00
|
|
|
[_] 50% Supported formats
|
|
|
|
|
[X] jpeg
|
|
|
|
|
[_] RAW
|
|
|
|
|
[_] 33% Usecases
|
|
|
|
|
[_] view unprepared dir (read-only / tmp-cache / mem-cache)
|
|
|
|
|
| XXX initially lags for hi-res images...
|
|
|
|
|
[_] view unprepared dir (cache in background)
|
|
|
|
|
| XXX initially lags for hi-res images...
|
|
|
|
|
[X] view prepared dir
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 57% UI
|
2013-06-03 00:20:48 +04:00
|
|
|
[_] 0% Tablet-specific
|
|
|
|
|
[_] screen buttons
|
2013-10-12 14:26:46 +04:00
|
|
|
[X] 100% modes
|
2013-06-02 04:59:30 +04:00
|
|
|
[X] single image
|
|
|
|
|
[X] slideshow (single image)
|
|
|
|
|
[X] ribbon
|
2013-10-12 14:26:46 +04:00
|
|
|
[X] cropped mode
|
|
|
|
|
| show only selected images
|
2013-07-06 21:38:34 +04:00
|
|
|
[_] 71% other
|
2013-06-11 04:57:10 +04:00
|
|
|
[X] load/open
|
2013-07-06 21:38:34 +04:00
|
|
|
[X] browse for location (open)
|
|
|
|
|
[X] select saved set
|
2013-06-02 04:59:30 +04:00
|
|
|
[X] keyboard help
|
|
|
|
|
[_] general help
|
|
|
|
|
[_] settings
|
|
|
|
|
[X] image info
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] 75% navigation
|
|
|
|
|
[X] image next/prev
|
|
|
|
|
[X] ribbon next/prev
|
|
|
|
|
[X] screen next/prev
|
2013-07-13 01:41:00 +04:00
|
|
|
[_] marks next/prev (???)
|
|
|
|
|
[X] slideshow
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 71% editing
|
|
|
|
|
[X] 100% ribbon
|
2013-06-03 04:40:55 +04:00
|
|
|
[X] merge up/down
|
|
|
|
|
| via. marking...
|
|
|
|
|
|
|
|
|
|
|
| still thinking if this is the right way...
|
2013-06-02 04:59:30 +04:00
|
|
|
[X] sort
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 92% image
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] shift up/down
|
2013-06-03 00:18:57 +04:00
|
|
|
[X] shift left/right
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] mark/unmark (selection)
|
|
|
|
|
[X] rotate left/right
|
2013-06-05 00:21:11 +04:00
|
|
|
[X] flip H/V
|
2013-10-12 14:18:46 +04:00
|
|
|
[_] 50% metadata
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] tag
|
2013-10-12 14:18:46 +04:00
|
|
|
[X] note
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] open with external software
|
2013-07-06 21:38:34 +04:00
|
|
|
[_] 42% marked (selected) set
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] crop (marked only mode)
|
|
|
|
|
[_] tag
|
2013-06-03 00:18:57 +04:00
|
|
|
[X] shift up/down
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] shift left/right
|
|
|
|
|
[_] group
|
|
|
|
|
[_] note
|
2013-07-06 21:38:34 +04:00
|
|
|
[X] save as set
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 50% crop selection via
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] marked
|
2013-10-12 14:26:46 +04:00
|
|
|
[X] ribbon
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] tag
|
|
|
|
|
[_] date
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 54% storage and loading
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] 75% ImageGrid cache
|
|
|
|
|
[X] generate
|
|
|
|
|
[X] load
|
|
|
|
|
[X] save
|
|
|
|
|
[_] update
|
|
|
|
|
| needs revision...
|
2013-07-06 21:38:34 +04:00
|
|
|
[_] 75% fav tree
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] generate
|
2013-06-08 23:53:35 +04:00
|
|
|
[X] load
|
2013-07-06 21:38:34 +04:00
|
|
|
[X] save
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] update
|
2013-07-06 21:38:34 +04:00
|
|
|
| at this time images are added to the tree but not removed...
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 0% xmp files
|
|
|
|
|
[_] generate
|
2013-10-12 14:18:46 +04:00
|
|
|
| XXX make this native
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] load
|
|
|
|
|
[_] save
|
|
|
|
|
[_] update
|
2013-07-06 21:38:34 +04:00
|
|
|
[_] 66% raw directory tree
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] load
|
2013-07-06 21:38:34 +04:00
|
|
|
[X] save
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] update
|
2013-10-12 14:18:46 +04:00
|
|
|
[_] 50% build targets
|
2013-06-02 05:07:07 +04:00
|
|
|
[X] 100% Windows
|
|
|
|
|
[X] CEF (Python/...)
|
2013-06-08 23:53:35 +04:00
|
|
|
[X] node-webkit
|
2013-10-12 14:18:46 +04:00
|
|
|
[X] MacOS X (node-webkit)
|
|
|
|
|
| needs more work...
|
2013-06-02 05:07:07 +04:00
|
|
|
[_] Android (PhoneGap)
|
|
|
|
|
[_] iOS (PhoneGap)
|
|
|
|
|
[_] Windows 8 (Native?)
|
2013-10-12 14:18:46 +04:00
|
|
|
[X] Linux ia32 (node-webkit)
|
|
|
|
|
[X] Linux x64 (node-webkit)
|
2013-06-02 05:07:07 +04:00
|
|
|
[_] Windows Phone 8 (PhoneGap/Native)
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] 0% Alpha - limited preview
|
2013-10-12 14:26:46 +04:00
|
|
|
[_] 0% editing
|
|
|
|
|
[_] 0% ribbon
|
|
|
|
|
[_] flatten
|
|
|
|
|
[_] 0% image
|
|
|
|
|
[_] crop
|
2013-05-28 20:07:32 +04:00
|
|
|
[_] 0% Beta - public?
|
|
|
|
|
[_] 0% 1.0 - public
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-10-10 18:41:03 +04:00
|
|
|
[_] 27% Gen 3 current todo
|
2013-10-16 03:42:42 +04:00
|
|
|
[_] 54% High priority
|
2013-10-15 18:47:10 +04:00
|
|
|
[_] Q: how do we mark unsorted sections in base ribbon after aligning?
|
|
|
|
|
| - there is a big gap in the ribbon below, but it's not visible...
|
|
|
|
|
| - can we "mark" big gaps? ...what's the threshold of "big"?
|
2013-10-14 18:14:51 +04:00
|
|
|
[_] do we need to store marks in localstorage???
|
2013-10-15 18:47:10 +04:00
|
|
|
[_] would be good to unify buildcache and viewer to use the same code...
|
2013-10-12 14:56:54 +04:00
|
|
|
| rewrite buildcache in js?
|
2013-10-15 18:47:10 +04:00
|
|
|
[_] 66% add data updating to buildcache
|
|
|
|
|
[X] non-destructive updates...
|
2013-10-12 14:56:54 +04:00
|
|
|
| force create new data-set, backup old data
|
|
|
|
|
| default: update
|
|
|
|
|
|
|
|
|
|
|
| find and add new images to images.json and data.json
|
|
|
|
|
| should be added as updates, i.e. 201310101445-data.json
|
|
|
|
|
| and 201310101445-images-diff.json
|
|
|
|
|
|
|
|
|
|
|
| add new images to base ribbon
|
|
|
|
|
|
|
|
|
|
|
| NOTE: fav dirs are ignored by buildcache
|
2013-10-15 18:47:10 +04:00
|
|
|
[X] --base-ribbon=N
|
2013-10-12 14:56:54 +04:00
|
|
|
| default N=0 i.e. top ribbon
|
2013-10-10 18:41:03 +04:00
|
|
|
[_] --reset-gids
|
|
|
|
|
| replace gids in data.json and images.json
|
2013-10-10 18:48:54 +04:00
|
|
|
[_] add data updating to viewer...
|
|
|
|
|
| make this separate from ribbonsFromFavDirs(...)
|
2013-10-12 14:56:54 +04:00
|
|
|
|
|
|
|
|
|
| might be good to make this semi-manual:
|
|
|
|
|
| - notify user of "directory updated, load new data?"
|
|
|
|
|
| - ctrl-r reload and load new data
|
2013-10-10 18:41:03 +04:00
|
|
|
[_] 0% plugins:
|
2013-10-12 14:18:46 +04:00
|
|
|
[_] might be good to split some current functionality into plugins
|
|
|
|
|
| this mostly concerns non-core and not portable stuff like:
|
|
|
|
|
| - loadDirectoryDialog(...)
|
|
|
|
|
| - vips index generator
|
|
|
|
|
| - metadata readers (exiv2, exiftool, vips)
|
|
|
|
|
| - viewer/editor runner
|
2013-10-10 18:41:03 +04:00
|
|
|
[_] 0% directory selector
|
|
|
|
|
[_] path(s) to use as source
|
|
|
|
|
| to list sub-dirs under...
|
|
|
|
|
| e.g. /mnt/l/mnt/* (photo)/*/media/img/my/*
|
|
|
|
|
|
|
|
|
|
|
| editable in plugin config
|
|
|
|
|
[_] .ImageGrid.metadata
|
|
|
|
|
| store/get:
|
|
|
|
|
| - sup-path to index
|
|
|
|
|
| - title
|
|
|
|
|
| - directory taggs and meta info
|
|
|
|
|
| - ...
|
2013-08-26 03:05:19 +04:00
|
|
|
[_] 33% mormalize ribbons -- top-align sorted chunks
|
|
|
|
|
[X] basic mechanics
|
|
|
|
|
| splitData(...)
|
|
|
|
|
| mergeData(...)
|
|
|
|
|
| alignDataToRibbon(...)
|
|
|
|
|
| shiftRibbonBy(...)
|
|
|
|
|
[_] manual invoke mechanics
|
2013-08-30 01:14:29 +04:00
|
|
|
| ctrl-s is a good candidate
|
|
|
|
|
|
|
|
|
|
|
| NOTE: might need a good preview to make this understandable...
|
2013-08-26 03:05:19 +04:00
|
|
|
[_] auto-invoke mechanics
|
2013-10-12 14:18:46 +04:00
|
|
|
[_] BUG: when loading and a non-existing dir, opening a new dir raises an error
|
2013-10-10 16:31:14 +04:00
|
|
|
| i.e. the open dialog does not close, while the images are loaded...
|
2013-08-26 03:05:19 +04:00
|
|
|
[_] update data set...
|
|
|
|
|
| - add new images to the set
|
|
|
|
|
| - update changed images
|
|
|
|
|
[_] merge data sets...
|
|
|
|
|
| combine two or more separate data.json and images.json sets...
|
|
|
|
|
|
|
|
|
|
|
| this can be done in two ways:
|
|
|
|
|
| - live
|
|
|
|
|
| the view jumps between sets and saves the changes to its
|
|
|
|
|
| origin set.
|
|
|
|
|
| some operations like shifting left/right would be difficult
|
|
|
|
|
| - full merge (preferred)
|
|
|
|
|
| save a new data set.
|
|
|
|
|
| not different to single data set.
|
|
|
|
|
| will eventually need fragmenting...
|
|
|
|
|
[_] fragmenting of data/images/marks support...
|
|
|
|
|
| split data into chunks...
|
|
|
|
|
|
|
|
|
|
|
| need a simple way to split chunks to:
|
|
|
|
|
| 1) make the scheme as simple as possible
|
|
|
|
|
| 2) make things fast -- minimal read/write/cache
|
|
|
|
|
| 3) try not to depend on sort order
|
|
|
|
|
|
|
|
|
|
|
| a possible simple way out of this is to use a DB
|
|
|
|
|
| - CouchDB
|
|
|
|
|
| - SQL
|
|
|
|
|
| - file-db
|
2013-10-16 03:43:43 +04:00
|
|
|
[_] BUG CLASS: file-name auto escaping...
|
2013-08-23 04:20:47 +04:00
|
|
|
[_] BUG CLASS: everything should work with empty ribbons...
|
|
|
|
|
| currently some code breaks when seeing an empty ribbon...
|
2013-06-19 16:34:22 +04:00
|
|
|
[_] BUG: jumping in ribbon sometimes does not load the ribbon correctly...
|
|
|
|
|
| Example 1:
|
2013-06-20 16:39:26 +04:00
|
|
|
| first ribbon in (loaded at first image):
|
|
|
|
|
| "F:\work\ImageGrid\cur\ImageGrid\src\ui\BUGS\ribbon loading error\"
|
2013-06-19 16:34:22 +04:00
|
|
|
| jumping to the end will result in an inconsistent view:
|
2013-08-25 06:07:25 +04:00
|
|
|
| - ribbon not aligned at the correct spot
|
2013-06-19 16:34:22 +04:00
|
|
|
| - wrong image is .current
|
2013-08-25 06:07:25 +04:00
|
|
|
| - part of the images appear to be loaded but misaligned...
|
2013-06-19 16:34:22 +04:00
|
|
|
|
|
|
|
|
|
| Example 2:
|
|
|
|
|
| load same data at same position as in #1
|
|
|
|
|
| - shift-F2 to marked-only view
|
|
|
|
|
| - go to end of ribbon (any means work)
|
|
|
|
|
| - shift-F2 or Esc out of marked-only mode
|
|
|
|
|
| this will result in a state very similar (if not identical) to
|
|
|
|
|
| example #1...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| NOTE: jumping back and forth several times will make this problem
|
|
|
|
|
| go away...
|
|
|
|
|
| Q: could this be initial load/state error?
|
2013-08-25 06:07:25 +04:00
|
|
|
[_] BUG: sometimes duplicate images get loaded...
|
|
|
|
|
| this happens when jumping back and forth on the mid ribbon until
|
|
|
|
|
| the last element shows up and then moving left until the frame
|
|
|
|
|
| around the image disappears...
|
|
|
|
|
| at this point, this will return 2:
|
|
|
|
|
|
|
|
|
|
|
| $('[order='+$('.current.image').attr('order')+']').length
|
|
|
|
|
|
|
|
|
|
|
| happens when:
|
|
|
|
|
| ribbon length: ~42
|
|
|
|
|
| screen width: 4
|
|
|
|
|
| jumping to end from start of ribbon
|
|
|
|
|
|
|
|
|
|
|
| Example 1:
|
|
|
|
|
| 1) first ribbon in (loaded at first image):
|
|
|
|
|
| "F:\work\ImageGrid\cur\ImageGrid\src\ui\BUGS\ribbon loading error\"
|
|
|
|
|
| 2) ctrl-end (error state in "jumping ribbon .." bug)
|
|
|
|
|
| 3) left/right (next/prev image)
|
|
|
|
|
| now the last portion of the ribbon is loaded twice
|
|
|
|
|
[_] BUG: shifting last image out of a ribbon misaligns the current ribbon
|
|
|
|
|
| i.e. the prev ribbon was deleted and the new focused ribbon
|
|
|
|
|
| is aligned as if it was not current...
|
|
|
|
|
[_] BUG: sometimes opening a dir (open dialog) does not do anything...
|
|
|
|
|
| Uncaught TypeError: Cannot call method 'indexOf' of undefined -- data.js:576
|
2013-07-30 23:27:07 +04:00
|
|
|
[_] BUG: sometimes loading a raw directory stops at "error loading data.json"
|
|
|
|
|
| and some times it does not err..
|
2013-08-25 06:07:25 +04:00
|
|
|
|
|
|
|
|
|
| Q: did not see this for some time, is this resolved???
|
2013-06-14 13:16:27 +04:00
|
|
|
[_] BUG: align problems are back...
|
|
|
|
|
| default data set (browser/images.js) same images #4 (going
|
|
|
|
|
| from right) & #5 (going from left) of 18 in the first ribbon
|
|
|
|
|
| get aligned wrong...
|
|
|
|
|
|
|
|
|
|
|
| this is at a zoom level with screen proportions...
|
|
|
|
|
|
|
|
|
|
|
| zooming to a different level affects which images are
|
|
|
|
|
| misaligned, at "max" #2 and #5 are affected...
|
|
|
|
|
|
|
|
|
|
|
| centerView() fixes this, but only for the current image...
|
2013-08-25 06:07:25 +04:00
|
|
|
[_] BUG: sometimes images.json folder is created...
|
|
|
|
|
| can't repeat this yet, and seen only once...
|
2013-09-21 03:49:56 +04:00
|
|
|
[_] BUG: cropping in single image mode will change image scale...
|
|
|
|
|
| likely a problem with reloadViewer(...)
|
2013-08-25 06:07:25 +04:00
|
|
|
[_] 0% full archive index
|
|
|
|
|
[_] segmented loading of images and data
|
|
|
|
|
[_] ribbon separation
|
|
|
|
|
| split ribbon into manageable chunks
|
|
|
|
|
|
|
|
|
|
|
| this can be done naturally by:
|
|
|
|
|
| - date
|
|
|
|
|
| - event
|
|
|
|
|
| - tag
|
|
|
|
|
[_] index and group ALL files in an archive
|
|
|
|
|
[_] import metadata
|
|
|
|
|
[_] real GIDs
|
|
|
|
|
[_] 33% Thumbnail generation strategies
|
|
|
|
|
[_] 0% pass 1: generate really fast previews
|
|
|
|
|
[_] ~1/3 screen - for ribbon
|
|
|
|
|
[_] ~1 screen - for single image mode
|
|
|
|
|
[X] pass 2: generate normal previews
|
|
|
|
|
[_] extract existing raw thumbnails/previews (for RAW files)
|
2013-07-03 07:11:25 +04:00
|
|
|
[_] editable list of external commands...
|
|
|
|
|
| to add things like exportdirs.py etc.
|
2013-06-06 04:55:04 +04:00
|
|
|
[_] 0% Tablet UI
|
|
|
|
|
[_] screen buttons
|
2013-06-06 07:39:30 +04:00
|
|
|
[_] save settings to config.json
|
2013-06-08 23:53:35 +04:00
|
|
|
[_] Q: do we need separate theme settings?
|
2013-06-06 07:39:30 +04:00
|
|
|
| ...for ribbon and single-image modes?
|
2013-06-06 05:04:25 +04:00
|
|
|
[_] workflow editor (external app?)...
|
|
|
|
|
| edit sequence of actions and events...
|
|
|
|
|
|
|
|
|
|
|
| Example:
|
|
|
|
|
| - on mount volume name X
|
|
|
|
|
| -> make previews
|
|
|
|
|
| -> make cache
|
|
|
|
|
| -> import to index
|
|
|
|
|
| -> run Viewer
|
|
|
|
|
| - on Viewer data change
|
|
|
|
|
| -> run exportdirs.py
|
|
|
|
|
| - on tweak
|
|
|
|
|
| -> run Irfan view
|
|
|
|
|
| - on edit
|
|
|
|
|
| -> run Photoshop
|
|
|
|
|
| - on PSD created
|
|
|
|
|
| -> make preview
|
|
|
|
|
| -> add to index
|
|
|
|
|
| -> group with preview
|
|
|
|
|
| ...
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-05 15:54:24 +04:00
|
|
|
[_] 0% keyboard.js
|
|
|
|
|
[_] multiple key handler...
|
|
|
|
|
| handle multiple key presses...
|
|
|
|
|
|
|
|
|
|
|
| one way to do this:
|
|
|
|
|
| - a generic handler with timeout
|
|
|
|
|
| - if key N pressed before timeout kandle it's action
|
|
|
|
|
| - if timeout handle default action
|
|
|
|
|
|
|
|
|
|
|
| Q: how do we organize the config for this?
|
|
|
|
|
| a) <key-spec> syntax, some thing like 'A, B'
|
|
|
|
|
| b) complex handler with keys (in addition to modifiers)
|
|
|
|
|
|
|
|
|
|
|
[_] 0% online config editor API...
|
|
|
|
|
[_] onKey(<key-spec>, handler[, mode])
|
|
|
|
|
| <key-spec> should be something simple like a string
|
|
|
|
|
|
|
|
|
|
|
| Examples that should work:
|
|
|
|
|
| 'Enter'
|
|
|
|
|
| 'alt-F4'
|
|
|
|
|
|
|
|
|
|
|
| NOTE: with current config structure this is not that
|
|
|
|
|
| trivial
|
|
|
|
|
[_] offKey(<key-spec>[, mode])
|
|
|
|
|
[_] introspection
|
|
|
|
|
| this is partially done already, need a simpler API for
|
|
|
|
|
| the user...
|
2013-06-04 01:55:42 +04:00
|
|
|
[_] ASAP: test on Android...
|
2013-06-01 23:12:32 +04:00
|
|
|
[_] 50% Undo/Redo
|
|
|
|
|
[X] basic one step (revert to last save)
|
|
|
|
|
[_] push/pop state stack
|
2013-07-03 07:11:25 +04:00
|
|
|
[_] 30% mark-based operations
|
|
|
|
|
[_] 50% cropping selection
|
2013-05-28 15:22:05 +04:00
|
|
|
[X] marked
|
2013-07-03 07:11:25 +04:00
|
|
|
[X] ribbon
|
2013-05-28 15:22:05 +04:00
|
|
|
[_] by tag/collection
|
|
|
|
|
[_] by group
|
2013-06-03 00:01:49 +04:00
|
|
|
[X] shift up/down
|
2013-05-28 15:22:05 +04:00
|
|
|
[_] tag
|
|
|
|
|
[_] group
|
|
|
|
|
| a group should behave as a single image but is
|
|
|
|
|
| viewable/expandable as a ribbon...
|
2012-07-31 11:37:18 +04:00
|
|
|
|
|
2013-05-28 15:22:05 +04:00
|
|
|
| should be two types of groups:
|
|
|
|
|
| - strict - always as a single image
|
|
|
|
|
| like a set of versions, processed and processing
|
|
|
|
|
| versions of the same image.
|
|
|
|
|
| (auto-group?)
|
|
|
|
|
| - loose - similar images, could be named collections
|
|
|
|
|
| viewed individually, but can be accessed either from
|
|
|
|
|
| a list or a member image (primary).
|
|
|
|
|
[_] collection
|
|
|
|
|
| make or add to existing collection
|
2013-07-30 23:27:07 +04:00
|
|
|
[_] check if preview loaded, else load a different preview...
|
2013-06-03 00:01:49 +04:00
|
|
|
[_] add ability to save/load ranges of images and the structures around them
|
|
|
|
|
| e.g.load image 100 to current ribbon -> will load 100 images
|
|
|
|
|
| for current ribbon and all the in between images from other
|
|
|
|
|
| ribbons above and below...
|
2013-06-13 18:16:16 +04:00
|
|
|
[_] single image mode transition (alpha-blend/fade/none)
|
2013-05-28 15:22:05 +04:00
|
|
|
[_] 0% grouping / meta-image
|
|
|
|
|
[_] versions w. label image
|
|
|
|
|
| a set of images that is represented by one of the group
|
|
|
|
|
[_] collection
|
|
|
|
|
[_] 0% CSS
|
|
|
|
|
[_] cleanup
|
|
|
|
|
[_] split themes and layout
|
2013-06-02 04:55:10 +04:00
|
|
|
[_] tweak image pre-caching size -- keep as many images cached as possible.
|
|
|
|
|
| might be good to always cache the smaller previews so as to make things
|
|
|
|
|
| look faster...
|
2013-06-01 23:12:32 +04:00
|
|
|
[_] revise reporting scheme...
|
|
|
|
|
| showStatus(...) should be called uniformly, either at the source
|
|
|
|
|
| or a specific reporting layer...
|
2013-05-28 15:22:05 +04:00
|
|
|
[_] 0% tweak loader
|
|
|
|
|
[_] thresholds and frame size
|
|
|
|
|
[_] remove extra and repetitive actions
|
|
|
|
|
[_] caching config
|
2013-06-11 04:57:10 +04:00
|
|
|
[_] side-by side view...
|
2013-10-16 03:42:42 +04:00
|
|
|
[X] BUG: something wrong with the export dialog...
|
|
|
|
|
| when a different destination is specified nothing is copied
|
|
|
|
|
| form the base ribbon...
|
2013-10-14 18:14:51 +04:00
|
|
|
[X] BUG: need to prioretize marks loading...
|
|
|
|
|
| if no markes.json is empty then localstorage marks will get
|
|
|
|
|
| loaded...
|
2013-09-21 03:49:56 +04:00
|
|
|
[X] rework the marks.js/modes.js to enable multi-level ribbon cropping...
|
2013-09-13 21:51:58 +04:00
|
|
|
[X] add indicator to ribbon up/down navigation in full screen...
|
|
|
|
|
| this might be a number or some kind of animation...
|
2013-08-30 01:14:29 +04:00
|
|
|
[X] BUG: scaling #2 in single image mode fits image to screen on wide screens
|
2013-08-08 22:48:24 +04:00
|
|
|
[X] BUG: cropping in cropped mode will not save the whole data...
|
2013-07-30 23:27:07 +04:00
|
|
|
[X] 100% BUG: sometimes the previews are not updated...
|
|
|
|
|
[X] wrong resolution preview is loaded
|
|
|
|
|
| when coming out of single-image-mode after moving to a
|
|
|
|
|
| different position (so as ribbons go reloaded)
|
|
|
|
|
[X] previews do not get replaced at all, e.g. everything
|
|
|
|
|
| behaves correctly (order, etc.) but the previews are
|
|
|
|
|
| from wrong (ones before re-attaching) images
|
|
|
|
|
| (this I can't repeat at this point)
|
|
|
|
|
|
|
|
|
|
|
| Example:
|
|
|
|
|
| URL: "file:///L:/mnt/P7000 (photo)/PHOTOS/Last week of September 2011/"
|
|
|
|
|
| going through the previews in the top row forward and backward
|
|
|
|
|
| watch the ribbon below -- on the way back everything is aligned
|
|
|
|
|
| correctly but the images are different.
|
|
|
|
|
| also, there are times when the ribbon below is partially loaded
|
|
|
|
|
| or at it's edge when there are other images...
|
|
|
|
|
| NOTE: calling updateImages() will load the correct previews.
|
|
|
|
|
|
|
|
|
|
|
| The mechanics of this bug:
|
|
|
|
|
| - sometimes the .onload handler gets the right image ref in
|
|
|
|
|
| the closue but a wrong p_url, how can this happen I do not
|
|
|
|
|
| know.
|
|
|
|
|
| - slowing down the browser appears to make this happen
|
|
|
|
|
| less often, is this a race condition?
|
|
|
|
|
|
|
|
|
|
|
| Might be caused by fast sequential updating/reloading of an image:
|
|
|
|
|
| - call the updateImage(...) in order several times
|
|
|
|
|
| - cache .onload events get called in order of images loading
|
|
|
|
|
| not in order of updateImage(...) calls...
|
|
|
|
|
| (this cause is not confirmed)
|
|
|
|
|
|
|
|
|
|
|
| Apparently fixed by storing the preview URL in image.data(), this
|
|
|
|
|
| is slower but avoids problems with multiple updates and races...
|
|
|
|
|
[X] make tooltip balloons on top of everything else...
|
|
|
|
|
| currently a tooltip balloon is bellow the next tooltip...
|
|
|
|
|
[X] add min-height to tooltips
|
|
|
|
|
| one line tooltip-right get messed-up...
|
|
|
|
|
[X] add option to export either original or preview (exportDialog)
|
|
|
|
|
[X] BUG: when creating previews for small-ish pics the original is not used
|
|
|
|
|
| after updating the image...
|
|
|
|
|
|
|
|
|
|
|
| e.g. for a 900px image, 150px and 350px images are created and
|
|
|
|
|
| the 350px is used in full screen.
|
2013-07-08 07:48:03 +04:00
|
|
|
[X] 100% basic dialogs
|
|
|
|
|
[X] select from list
|
|
|
|
|
[X] alert
|
|
|
|
|
[X] prompt
|
|
|
|
|
[X] open directory (native)
|
2013-07-05 19:23:31 +04:00
|
|
|
[X] BUG: context status does not get updated on Ctrl-D
|
2013-07-03 07:11:25 +04:00
|
|
|
[X] single ribbon mode
|
|
|
|
|
| should this have up/down navigation?
|
|
|
|
|
|
|
|
|
|
|
| something like showGidsAsRibbon(gids) would be generic and logical...
|
|
|
|
|
[X] build cache in background...
|
|
|
|
|
| this must be done while updating IMAGES live...
|
|
|
|
|
[X] 100% dialog constructor
|
|
|
|
|
[X] widget: text
|
|
|
|
|
[X] widget: bool
|
|
|
|
|
[X] widget: choice
|
|
|
|
|
[X] widget: dir/ndir
|
|
|
|
|
| browser native (dir) and custom (ndir) directory selector...
|
|
|
|
|
[X] 100% image sorting (date/name/...)
|
|
|
|
|
[X] 100% sort by:
|
|
|
|
|
[X] date
|
|
|
|
|
[X] name
|
|
|
|
|
[X] manual shift left/right/position
|
|
|
|
|
| position shift is mark and shift here..
|
|
|
|
|
[X] 100% Sort ui
|
|
|
|
|
[X] reverse
|
|
|
|
|
[X] select sort method
|
2013-06-14 20:47:37 +04:00
|
|
|
[X] usable empty view -- w.o. data...
|
2013-06-11 04:57:10 +04:00
|
|
|
[X] 100% UI elements
|
|
|
|
|
[X] indicators
|
|
|
|
|
[X] image info
|
|
|
|
|
[X] stub info dialog
|
|
|
|
|
[X] detailed image info
|
|
|
|
|
[X] build for windows (node-webkit)
|
|
|
|
|
[X] BUG: scaling is again broken with rotated images
|
|
|
|
|
| - rotate an image
|
|
|
|
|
| - scale it to 1 (press 1)
|
2013-06-09 02:26:22 +04:00
|
|
|
[X] BUG: BASE_URL seems to gain a new trailing '/' on each save...
|
2013-06-03 04:40:55 +04:00
|
|
|
| low priority as this does not affect anything...
|
2013-06-09 02:26:22 +04:00
|
|
|
[X] 100% gesture support
|
|
|
|
|
[X] up/down - navigate
|
|
|
|
|
[X] left/right - navigate
|
2013-06-04 09:14:59 +04:00
|
|
|
[X] make the marks in single image mode show in corner of viewer, not image
|
|
|
|
|
| and think of a uniform indicator position...
|
|
|
|
|
|
|
|
|
|
|
| +---------------------------+
|
|
|
|
|
| | oooo | <-- global indicators
|
|
|
|
|
| | | (all modes)
|
|
|
|
|
| | |
|
|
|
|
|
| | |
|
|
|
|
|
| | |
|
|
|
|
|
| | |
|
|
|
|
|
| | |
|
|
|
|
|
| | |
|
|
|
|
|
| | |
|
|
|
|
|
| | oooo | <-- context indicators
|
|
|
|
|
| +---------------------------+ (single image mode)
|
|
|
|
|
|
|
|
|
|
|
| make global indicators semi-transparent in single-image-mode, so as to
|
|
|
|
|
| indicate their lesser priority than context/image indicators...
|
|
|
|
|
|
|
|
|
|
|
| keep image indicators within the image square for ribbon mode...
|
|
|
|
|
|
|
|
|
|
|
| possible indicator styles:
|
|
|
|
|
| - letter, expand on hover
|
|
|
|
|
| - colored circle -- show text of same color under or to the side on hover
|
|
|
|
|
|
|
|
|
|
|
| might bee nice too use both styles, one for images one for global...
|
2013-06-03 23:37:50 +04:00
|
|
|
[X] BUG: shifting ribbon left sometimes results in wrong order...
|
|
|
|
|
| i.e. an image with order 12 before image with order 11
|
|
|
|
|
|
|
|
|
|
|
| Example:
|
|
|
|
|
| - default image set
|
|
|
|
|
| - move first image 2 positions right
|
|
|
|
|
|
|
|
|
|
|
| Resulting state:
|
|
|
|
|
| - current image order: 12
|
|
|
|
|
| - next image order: 11
|
|
|
|
|
| - prev image order: 10
|
|
|
|
|
|
|
|
|
|
|
| This is stably reproducible.
|
2013-06-03 23:36:40 +04:00
|
|
|
[X] BUG: changing window size (F11) in single image modes messes things up...
|
|
|
|
|
| some images are of different sizes (newly loaded) and aligned in a wrong way...
|
|
|
|
|
|
|
|
|
|
|
| appears not to affect square-fit view...
|
|
|
|
|
|
|
|
|
|
|
| until we cycle to ribbon mode and back...
|
|
|
|
|
|
|
|
|
|
|
| Q: does this trigger the on-resize event???
|
|
|
|
|
| A: no, not connected...
|
|
|
|
|
|
|
|
|
|
|
| possible that this is connected with the align/load bug...
|
|
|
|
|
|
|
|
|
|
|
| appears to be a state leak, this affects:
|
|
|
|
|
| - correctImageProportionsForRotation(image) -- mis-alignes images
|
|
|
|
|
| while after cycling single image mode, behaves correctly...
|
|
|
|
|
| - affects finNImages(...) -- uses old size of viewer...
|
|
|
|
|
[X] BUG: aligning still sometimes gets off...
|
|
|
|
|
| ...after rotating a number of images
|
|
|
|
|
|
|
|
|
|
|
| happens when:
|
|
|
|
|
| - getScreenWidthInImages() < 2
|
|
|
|
|
| - looking through images in one direction and back, some get misaligned
|
|
|
|
|
| ...this is stable behaviour by centerRibbon(...),
|
|
|
|
|
| calling it again will not fix this.
|
|
|
|
|
| moving next/prev will fix the issue until it comes back again
|
|
|
|
|
| - affected by LOAD_SCREENS and number of images in ribbon
|
|
|
|
|
| current figures:
|
|
|
|
|
| Ribbon: 18
|
|
|
|
|
| Position going forward: 4
|
|
|
|
|
| Position going back: 1
|
|
|
|
|
| LOAD_SCREENS: 6
|
|
|
|
|
| NOTE: changing LOAD_SCREENS moves the affected positions.
|
|
|
|
|
| NOTE: had a similar bug where some images still kept their
|
|
|
|
|
| prior sizing after recycling...
|
|
|
|
|
| ...check if centerRibbon(...) and correctImageProportionsForRotation(...)
|
|
|
|
|
| are called in right sequence...
|
2013-06-03 18:30:54 +04:00
|
|
|
[X] BUG: keyboard.js, some combinations resolve problems...
|
|
|
|
|
| in current help shows E, F4, alt-F4 as "Open image in ..."
|
|
|
|
|
| - E and F4 work OK
|
|
|
|
|
| - alt-F4 both close the viewer (default) and open an image.
|
|
|
|
|
|
|
|
|
|
|
| Example:
|
|
|
|
|
| E: doc('Open image in external software', openImage),
|
|
|
|
|
| F4: {
|
|
|
|
|
| default: 'E',
|
|
|
|
|
| alt: doc('Close viewer'),
|
|
|
|
|
| },
|
|
|
|
|
|
|
2013-06-01 23:12:32 +04:00
|
|
|
[X] reverse ribbons...
|
2013-06-01 21:06:10 +04:00
|
|
|
[X] slideshow mode...
|
|
|
|
|
[X] default STUB image...
|
|
|
|
|
| or a loading animation..
|
|
|
|
|
|
|
|
|
|
|
| ...would be good to make something pixilated so as to look nise
|
|
|
|
|
| on various magnifications.
|
|
|
|
|
|
|
|
|
|
|
| keep always cached.
|
2013-05-29 01:57:24 +04:00
|
|
|
[X] import fav dirs (wo. index)...
|
2013-05-28 20:07:32 +04:00
|
|
|
[X] ASAP: load/view un-cached directories...
|
2013-05-28 15:22:05 +04:00
|
|
|
[X] ASAP: support relative paths in cache...
|
|
|
|
|
[X] ASAP: account for image rotation with screen proportions while positioning
|
|
|
|
|
| getRelativeVisualPosition(...) gives an odd position when:
|
|
|
|
|
| - image is rotated
|
|
|
|
|
| - image is screen-proportioned
|
|
|
|
|
[X] NOTE: rotating might still produce alignment errors
|
|
|
|
|
| this is due:
|
|
|
|
|
| - most outerWidth/outerHeight being used do not account for margins...
|
|
|
|
|
[X] ASAP: rotate images in the viewer...
|
|
|
|
|
| This is a tad complicated by:
|
|
|
|
|
| - marks
|
|
|
|
|
| - image elem proportions that can change
|
|
|
|
|
[X] 100% themes
|
|
|
|
|
[X] light
|
|
|
|
|
[X] gray
|
|
|
|
|
[X] dark
|
|
|
|
|
[X] make focus up/down chose a closest independently of direction...
|
|
|
|
|
| navigation should be stable and moving up then down should yield
|
|
|
|
|
| exactly the same result...
|
|
|
|
|
[X] ASAP: rewrite binSearch!!
|
|
|
|
|
| linSearch obviously is not usable for large sets of data...
|
|
|
|
|
[X] split saving/loading into files and localStorage
|
|
|
|
|
| DATA
|
|
|
|
|
| - stored in localStorage
|
|
|
|
|
| - stored in file
|
|
|
|
|
| IMAGES
|
|
|
|
|
| - stored only in files (does not change)
|
|
|
|
|
|
|
|
|
|
|
[X] 100% modes
|
|
|
|
|
[X] ribbon
|
|
|
|
|
[X] single-image
|
|
|
|
|
[X] Save/load state
|
|
|
|
|
[X] 100% action visual indication
|
|
|
|
|
[X] first/last image
|
|
|
|
|
[X] shift up/down
|
|
|
|
|
[_] Low priority
|
|
|
|
|
[_] Help
|
|
|
|
|
[_] Keyboard config
|
|
|
|
|
[_] general config
|
|
|
|
|
|
2012-06-08 21:07:27 +04:00
|
|
|
|
|
|
|
|
|
2013-10-12 14:18:46 +04:00
|
|
|
[_] 61% Gen 3 UI implementation
|
2013-05-28 15:22:05 +04:00
|
|
|
[X] 100% Infinite ribbon (lib)
|
|
|
|
|
[X] cyclic ribbon
|
|
|
|
|
[X] image block generation
|
|
|
|
|
[X] image block update
|
|
|
|
|
[X] ribbon head/tail management
|
|
|
|
|
| must be adaptive to current user scroll speed...
|
|
|
|
|
|
|
|
|
|
|
| at least a couple of screens at current zoom level...
|
|
|
|
|
[_] Partial save/load
|
|
|
|
|
| save only a block or changed data...
|
|
|
|
|
[X] Adaptive preview size (lib)
|
|
|
|
|
[X] Multiple ribbon (reuse)
|
|
|
|
|
[_] 0% User actions
|
|
|
|
|
| see [[controls.otl]] for basic actions...
|
2012-06-13 21:49:52 +04:00
|
|
|
|
|
2013-05-28 15:22:05 +04:00
|
|
|
| additional actions:
|
|
|
|
|
[X] 100% toggle mark image
|
|
|
|
|
[X] mark between
|
|
|
|
|
| mark all images between closest marks
|
|
|
|
|
[X] mark all/none
|
|
|
|
|
[X] mark invert
|
|
|
|
|
[X] show marked only in ribbon (crop selection)
|
|
|
|
|
[_] crop image
|
|
|
|
|
| shows a red/blue rectangle around image
|
|
|
|
|
|
|
|
|
|
|
| can be:
|
|
|
|
|
| turned +/- 90 deg
|
|
|
|
|
| turned arbitrarily
|
|
|
|
|
| scaled with constrained proportions
|
|
|
|
|
[_] show crop as red rectangle
|
|
|
|
|
[_] show only cropped area
|
|
|
|
|
[_] show crop as black veil
|
2013-10-12 14:18:46 +04:00
|
|
|
[X] add note to image
|
2013-05-28 15:22:05 +04:00
|
|
|
| a-la flickr notes...
|
|
|
|
|
[_] edit IPCT
|
2013-08-26 03:09:34 +04:00
|
|
|
[_] add/edit tags (set of images)
|
|
|
|
|
[_] add/edit tags (single image)
|
2013-05-28 15:22:05 +04:00
|
|
|
[X] rotate image
|
2013-08-26 03:09:34 +04:00
|
|
|
[_] 88% UI modes
|
|
|
|
|
[_] 66% single ribbon
|
|
|
|
|
[X] show marked only
|
|
|
|
|
[X] show current ribbon
|
2013-05-28 15:22:05 +04:00
|
|
|
[_] show images shifted (all / above only / below only) in current ribbon
|
|
|
|
|
[X] 100% multiple ribbons
|
|
|
|
|
[X] show images above/below
|
|
|
|
|
[X] show marked only
|
|
|
|
|
[X] 100% single image
|
2012-06-08 21:07:27 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
.
|
|
|
|
|
| vim:set spell :
|