mirror of
https://github.com/flynx/ImageGrid.git
synced 2025-10-30 10:50:08 +00:00
updated todo and some minor changes to panels.js...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
parent
78191eff7e
commit
3c223b3fa5
259
ui/TODO.otl
259
ui/TODO.otl
@ -108,9 +108,9 @@ Roadmap
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
[_] 28% Gen 3 current todo
|
[_] 32% Gen 3 current todo
|
||||||
[_] 57% High priority
|
[_] 64% High priority
|
||||||
[_] Need visual indicators for long operations...
|
[_] ASAP: Need visual indicators for long operations...
|
||||||
[_] BUG: (phantom) in single image mode shifting first image up to new ribbon errs...
|
[_] BUG: (phantom) in single image mode shifting first image up to new ribbon errs...
|
||||||
| error location/reason:
|
| error location/reason:
|
||||||
| getImageGid(..) got something odd in the image gid attribute...
|
| getImageGid(..) got something odd in the image gid attribute...
|
||||||
@ -118,17 +118,6 @@ Roadmap
|
|||||||
| Race condition??
|
| Race condition??
|
||||||
|
|
|
|
||||||
| Can't reproduce this... need to test on a faster machine...
|
| Can't reproduce this... need to test on a faster machine...
|
||||||
[X] BUG: appear to be leaking memory on very large sets of images (>8K)
|
|
||||||
| don't remember it before, so it might be due to the new
|
|
||||||
| loadImagesAround(..)
|
|
||||||
|
|
|
||||||
| Another place to check is pre-caching...
|
|
||||||
|
|
|
||||||
| Ran a test session -- we appear to never invalidate cache...
|
|
||||||
|
|
|
||||||
| Actual Cause: range check bug in getGIDsAfter(..) that caused
|
|
||||||
| wrapping around 0 and caching of all images in the ribbon
|
|
||||||
| by preCacheRibbonImages(..)...
|
|
||||||
[_] 66% Bookmarks
|
[_] 66% Bookmarks
|
||||||
[X] toggle
|
[X] toggle
|
||||||
[X] save/load
|
[X] save/load
|
||||||
@ -153,7 +142,7 @@ Roadmap
|
|||||||
[X] 100% unsorted image state handling (tag?)
|
[X] 100% unsorted image state handling (tag?)
|
||||||
[X] remove tag on shift
|
[X] remove tag on shift
|
||||||
[X] remove tag on alignToRibbon(..)
|
[X] remove tag on alignToRibbon(..)
|
||||||
[X] add tag on index (buildcache)
|
[X] add tag for new images (buildcache)
|
||||||
[_] 25% Panels
|
[_] 25% Panels
|
||||||
[_] bookmarks
|
[_] bookmarks
|
||||||
[_] info
|
[_] info
|
||||||
@ -196,23 +185,46 @@ Roadmap
|
|||||||
| Effect:
|
| Effect:
|
||||||
| - previews get reloaded/redrawn
|
| - previews get reloaded/redrawn
|
||||||
|
|
|
|
||||||
[_] Polish: on LOCAL actions do ALL the loading in background...
|
|
||||||
| make the lags completely even...
|
|
||||||
[_] check image caching strategy and thresholds....
|
|
||||||
[_] BUG: OSX: unable to load absolute paths...
|
[_] BUG: OSX: unable to load absolute paths...
|
||||||
[_] OSX: add alternatives to function buttons...
|
[_] OSX: add alternatives to function buttons...
|
||||||
[_] BUG: basic editor causes images to blur up
|
[_] 33% normalize ribbons -- top-align sorted chunks
|
||||||
|
[X] basic mechanics
|
||||||
|
| splitData(...)
|
||||||
|
| mergeData(...)
|
||||||
|
| alignDataToRibbon(...)
|
||||||
|
| shiftRibbonBy(...)
|
||||||
|
[_] manual invoke mechanics
|
||||||
|
| ctrl-s is a good candidate
|
||||||
|
|
|
||||||
|
| NOTE: might need a good preview to make this understandable...
|
||||||
|
[_] auto-invoke mechanics
|
||||||
|
[_] 33% FAST 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)
|
||||||
|
[_] EXTERNAL BUG: Chrome: CSS filters degrade scaled images.
|
||||||
| ...if at least one filter is applied, appears to only affect
|
| ...if at least one filter is applied, appears to only affect
|
||||||
| scaled images.
|
| scaled images.
|
||||||
|
|
|
|
||||||
| Possible cause: actual dom size (300px) forces the image to
|
| Actual cause:
|
||||||
| re-render (to 300px and then resized up) on filter
|
| Bug in Blink-CSS-filters (BUG#329091) causing filters to
|
||||||
| application...
|
| mess up scaled (via CSS transforms) images.
|
||||||
| Test this by making the image bigger...
|
| Filed at:
|
||||||
|
| https://code.google.com/p/chromium/issues/detail?id=329091&thanks=329091&ts=1387246111
|
||||||
|
|
|
||||||
|
| Status:
|
||||||
|
| Waiting for feedback...
|
||||||
|
|
|
||||||
|
| Workaround:
|
||||||
|
| Make image size similar to screen size, in the best case
|
||||||
|
| scenario dynamic (too complex for what it gives), in the
|
||||||
|
| worse, just big enough.
|
||||||
[_] BUG: opening a dir form history sometimes loads wrong size previews
|
[_] BUG: opening a dir form history sometimes loads wrong size previews
|
||||||
| this happens in part of the view and a refresh, reload or image
|
| this happens in part of the view and a refresh, reload or image
|
||||||
| update (updateImages()) fixes the issue...
|
| update (updateImages()) fixes the issue...
|
||||||
[_] 50% UI: side-panels...
|
[X] 100% UI: side-panels...
|
||||||
|
|
|
|
||||||
| +-----+---------------+-----+
|
| +-----+---------------+-----+
|
||||||
| | | | |
|
| | | | |
|
||||||
@ -236,8 +248,8 @@ Roadmap
|
|||||||
| might over-complicate things...
|
| might over-complicate things...
|
||||||
[X] construct
|
[X] construct
|
||||||
[X] style
|
[X] style
|
||||||
[_] lock/pin
|
[X] lock/pin
|
||||||
[_] autohide
|
[X] autohide
|
||||||
[_] UI: touch controls / toolbars...
|
[_] UI: touch controls / toolbars...
|
||||||
|
|
|
|
||||||
| +-+-----------------------+-+
|
| +-+-----------------------+-+
|
||||||
@ -278,32 +290,6 @@ Roadmap
|
|||||||
| - open/history/...
|
| - open/history/...
|
||||||
| - sort
|
| - sort
|
||||||
| - export
|
| - export
|
||||||
[_] 55% mark-based operations
|
|
||||||
[_] 75% cropping selection
|
|
||||||
[X] marked
|
|
||||||
[X] ribbon
|
|
||||||
[X] by tag/collection
|
|
||||||
[_] by group
|
|
||||||
[X] shift up/down
|
|
||||||
[X] tag
|
|
||||||
[_] group
|
|
||||||
| a group should behave as a single image but is
|
|
||||||
| viewable/expandable as a ribbon...
|
|
||||||
|
|
|
||||||
| 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
|
|
||||||
[_] 0% grouping / meta-image
|
|
||||||
[_] versions w. label image
|
|
||||||
| a set of images that is represented by one of the group
|
|
||||||
[_] collection
|
|
||||||
[_] editable list of external commands...
|
[_] editable list of external commands...
|
||||||
| to add things like exportdirs.py etc.
|
| to add things like exportdirs.py etc.
|
||||||
[_] Export data...
|
[_] Export data...
|
||||||
@ -313,7 +299,7 @@ Roadmap
|
|||||||
| i.e. the open dialog does not close, while the images are loaded...
|
| i.e. the open dialog does not close, while the images are loaded...
|
||||||
[_] BUG: sometimes opening a dir (open dialog) does not do anything...
|
[_] BUG: sometimes opening a dir (open dialog) does not do anything...
|
||||||
| Uncaught TypeError: Cannot call method 'indexOf' of undefined -- data.js:576
|
| Uncaught TypeError: Cannot call method 'indexOf' of undefined -- data.js:576
|
||||||
[_] Q: how do we mark unsorted sections in base ribbon after aligning?
|
[X] 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...
|
| - 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"?
|
| - can we "mark" big gaps? ...what's the threshold of "big"?
|
||||||
|
|
|
|
||||||
@ -330,7 +316,17 @@ Roadmap
|
|||||||
| - ...
|
| - ...
|
||||||
| Added complexity
|
| Added complexity
|
||||||
| - manual bookmarking
|
| - manual bookmarking
|
||||||
[_] do we need to store marks in localstorage???
|
|
|
||||||
|
| Approach used:
|
||||||
|
| - tag all new images with 'unsorted'
|
||||||
|
| - remove tag on:
|
||||||
|
| - shift up/down (i.e. on sort)
|
||||||
|
| - align to ribbon
|
||||||
|
| this will remove the tag form images that were not
|
||||||
|
| shifted.
|
||||||
|
|
|
||||||
|
| NOTE: with this approach effectively the base ribbon is the one,
|
||||||
|
| and the only one, that contains 'unsorted' images.
|
||||||
[_] would be good to unify buildcache and viewer to use the same code...
|
[_] would be good to unify buildcache and viewer to use the same code...
|
||||||
| rewrite buildcache in js?
|
| rewrite buildcache in js?
|
||||||
|
|
|
|
||||||
@ -350,7 +346,7 @@ Roadmap
|
|||||||
| NOTE: fav dirs are ignored by buildcache
|
| NOTE: fav dirs are ignored by buildcache
|
||||||
[X] --base-ribbon=N
|
[X] --base-ribbon=N
|
||||||
| default N=0 i.e. top ribbon
|
| default N=0 i.e. top ribbon
|
||||||
[_] --reset-gids
|
[_] --reset-gids (???)
|
||||||
| replace gids in data.json and images.json
|
| replace gids in data.json and images.json
|
||||||
[X] fast update by default
|
[X] fast update by default
|
||||||
| - store a file-list in .ImageGrid/filelist.json
|
| - store a file-list in .ImageGrid/filelist.json
|
||||||
@ -362,36 +358,14 @@ Roadmap
|
|||||||
| might be good to make this semi-manual:
|
| might be good to make this semi-manual:
|
||||||
| - notify user of "directory updated, load new data?"
|
| - notify user of "directory updated, load new data?"
|
||||||
| - ctrl-r reload and load new data
|
| - ctrl-r reload and load new data
|
||||||
[_] 0% plugins:
|
[_] 66% plugins -- isolate functionality:
|
||||||
[_] might be good to split some current functionality into plugins
|
[X] register setup/init function...
|
||||||
| this mostly concerns non-core and not portable stuff like:
|
| a module can register setup function...
|
||||||
| - loadDirectoryDialog(...)
|
[X] register image update functions...
|
||||||
| - vips index generator
|
[_] isolate context key bindings...
|
||||||
| - metadata readers (exiv2, exiftool, vips)
|
| essentially this may consist of:
|
||||||
| - viewer/editor runner
|
| injecting new config
|
||||||
[_] 0% directory selector
|
| shadowing
|
||||||
[_] 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
|
|
||||||
| - ...
|
|
||||||
[_] 33% normalize ribbons -- top-align sorted chunks
|
|
||||||
[X] basic mechanics
|
|
||||||
| splitData(...)
|
|
||||||
| mergeData(...)
|
|
||||||
| alignDataToRibbon(...)
|
|
||||||
| shiftRibbonBy(...)
|
|
||||||
[_] manual invoke mechanics
|
|
||||||
| ctrl-s is a good candidate
|
|
||||||
|
|
|
||||||
| NOTE: might need a good preview to make this understandable...
|
|
||||||
[_] auto-invoke mechanics
|
|
||||||
[_] update data set...
|
[_] update data set...
|
||||||
| - add new images to the set
|
| - add new images to the set
|
||||||
| - update changed images
|
| - update changed images
|
||||||
@ -425,12 +399,6 @@ Roadmap
|
|||||||
| ribbons above and below...
|
| ribbons above and below...
|
||||||
[_] BUG CLASS: everything should work with empty ribbons...
|
[_] BUG CLASS: everything should work with empty ribbons...
|
||||||
| currently some code breaks when seeing an empty ribbon...
|
| currently some code breaks when seeing an empty ribbon...
|
||||||
[_] 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...
|
|
||||||
|
|
|
||||||
| this is due to a race condition -- the alignment is done BEFORE
|
|
||||||
| the current image is set...
|
|
||||||
[_] BUG: sometimes loading a raw directory stops at "error loading data.json"
|
[_] BUG: sometimes loading a raw directory stops at "error loading data.json"
|
||||||
| and some times it does not err..
|
| and some times it does not err..
|
||||||
|
|
|
|
||||||
@ -449,39 +417,9 @@ Roadmap
|
|||||||
[_] index and group ALL files in an archive
|
[_] index and group ALL files in an archive
|
||||||
[_] import metadata
|
[_] import metadata
|
||||||
[_] real GIDs
|
[_] real GIDs
|
||||||
[_] 33% FAST 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)
|
|
||||||
[_] 0% Tablet UI
|
|
||||||
[_] screen buttons
|
|
||||||
[_] save settings to config.json
|
[_] save settings to config.json
|
||||||
[_] Q: do we need separate theme settings?
|
[_] Q: do we need separate theme settings?
|
||||||
| ...for ribbon and single-image modes?
|
| ...for ribbon and single-image modes?
|
||||||
[_] 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
|
|
||||||
| ...
|
|
||||||
|
|
|
||||||
|
|
|
||||||
[_] 0% keyboard.js
|
[_] 0% keyboard.js
|
||||||
[_] multiple key handler...
|
[_] multiple key handler...
|
||||||
| handle multiple key presses...
|
| handle multiple key presses...
|
||||||
@ -513,24 +451,64 @@ Roadmap
|
|||||||
[_] 50% Undo/Redo
|
[_] 50% Undo/Redo
|
||||||
[X] basic one step (revert to last save)
|
[X] basic one step (revert to last save)
|
||||||
[_] push/pop state stack
|
[_] push/pop state stack
|
||||||
[_] check if preview loaded, else load a different preview...
|
|
||||||
[_] single image mode transition (alpha-blend/fade/none)
|
[_] single image mode transition (alpha-blend/fade/none)
|
||||||
[_] 0% CSS
|
|
||||||
[_] cleanup
|
|
||||||
[_] split themes and layout
|
|
||||||
[_] 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...
|
|
||||||
[_] revise reporting scheme...
|
[_] revise reporting scheme...
|
||||||
| showStatus(...) should be called uniformly, either at the source
|
| showStatus(...) should be called uniformly, either at the source
|
||||||
| or a specific reporting layer...
|
| or a specific reporting layer...
|
||||||
[_] 0% tweak loader
|
|
||||||
[_] thresholds and frame size
|
|
||||||
[_] remove extra and repetitive actions
|
|
||||||
[_] caching config
|
|
||||||
[_] side-by side view...
|
[_] side-by side view...
|
||||||
[_] Simplify tool-tip structure in dialogs...
|
[_] Simplify tool-tip structure in dialogs...
|
||||||
| might also bee good to unify tool-tips across the app...
|
| might also bee good to unify tool-tips across the app...
|
||||||
|
[_] 55% mark-based operations
|
||||||
|
[_] 75% cropping selection
|
||||||
|
[X] marked
|
||||||
|
[X] ribbon
|
||||||
|
[X] by tag/collection
|
||||||
|
[_] by group
|
||||||
|
[X] shift up/down
|
||||||
|
[X] tag
|
||||||
|
[_] group
|
||||||
|
| a group should behave as a single image but is
|
||||||
|
| viewable/expandable as a ribbon...
|
||||||
|
|
|
||||||
|
| 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
|
||||||
|
[_] 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
|
||||||
|
[_] 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
|
||||||
|
| ...
|
||||||
|
|
|
||||||
|
|
|
||||||
[_] BUG (low priority): dragging a sub-panel, over and out again is odd..
|
[_] BUG (low priority): dragging a sub-panel, over and out again is odd..
|
||||||
| i.e. if the placeholder moves...
|
| i.e. if the placeholder moves...
|
||||||
|
|
|
|
||||||
@ -540,6 +518,23 @@ Roadmap
|
|||||||
| Actual:
|
| Actual:
|
||||||
| drops to last placeholder
|
| drops to last placeholder
|
||||||
|
|
|
|
||||||
|
[X] BUG: appear to be leaking memory on very large sets of images (>8K)
|
||||||
|
| don't remember it before, so it might be due to the new
|
||||||
|
| loadImagesAround(..)
|
||||||
|
|
|
||||||
|
| Another place to check is pre-caching...
|
||||||
|
|
|
||||||
|
| Ran a test session -- we appear to never invalidate cache...
|
||||||
|
|
|
||||||
|
| Actual Cause: range check bug in getGIDsAfter(..) that caused
|
||||||
|
| wrapping around 0 and caching of all images in the ribbon
|
||||||
|
| by preCacheRibbonImages(..)...
|
||||||
|
[X] 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...
|
||||||
|
|
|
||||||
|
| this is due to a race condition -- the alignment is done BEFORE
|
||||||
|
| the current image is set...
|
||||||
[X] BUG: zooming vertical images in single image view results in size jumping...
|
[X] BUG: zooming vertical images in single image view results in size jumping...
|
||||||
| Reason:
|
| Reason:
|
||||||
| This is due to the proportion ratio changing in one step...
|
| This is due to the proportion ratio changing in one step...
|
||||||
|
|||||||
@ -130,7 +130,8 @@ function makePanel(title, open, editable_title, keep_empty){
|
|||||||
// - left
|
// - left
|
||||||
// - right
|
// - right
|
||||||
// XXX in part this is exactly the same as makePanel
|
// XXX in part this is exactly the same as makePanel
|
||||||
function makeSidePanel(side){
|
function makeSidePanel(side, autohide){
|
||||||
|
autohide = autohide == null ? 'on' : 'off'
|
||||||
var panel = $('.side-panel.'+side)
|
var panel = $('.side-panel.'+side)
|
||||||
// only one panel from each side can exist...
|
// only one panel from each side can exist...
|
||||||
if(panel.length != 0){
|
if(panel.length != 0){
|
||||||
@ -198,7 +199,7 @@ function makeSidePanel(side){
|
|||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
})
|
})
|
||||||
.attr('autohide', 'off')
|
.attr('autohide', autohide)
|
||||||
return panel
|
return panel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user