Roadmap [_] 41% Pre-Alpha - limited preview [_] 31% UI [_] 0% Tablet-specific [_] screen buttons [_] 60% modes [_] cropped mode | show only selected images [X] single image [X] slideshow (single image) [X] ribbon [_] single ribbon [_] 33% other [_] load/open [_] select saved set [X] keyboard help [_] general help [_] settings [X] image info [_] 75% navigation [X] image next/prev [X] ribbon next/prev [X] screen next/prev [_] marks next/prev [_] 49% editing [_] 66% ribbon [X] merge up/down | via. marking... | | still thinking if this is the right way... [_] flatten [X] sort [_] 71% image [X] shift up/down [X] shift left/right [X] mark/unmark (selection) [X] rotate left/right [_] crop [_] 0% metadata [_] tag [_] note [X] open with external software [_] 28% marked (selected) set [X] crop (marked only mode) [_] tag [X] shift up/down [_] shift left/right [_] group [_] note [_] save as set [_] 33% crop selection via [X] marked [_] tag [_] date [_] 39% storage and loading [_] 75% ImageGrid cache [X] generate [X] load [X] save [_] update | needs revision... [_] 25% fav tree [X] generate [_] load [_] save [_] update [_] 25% xmp files [X] generate [_] load [_] save [_] update [_] 33% raw directory tree [X] load [_] save [_] update [_] 14% build targets [X] 100% Windows [X] CEF (Python/...) [X] AppJS [_] MacOS X (AppJS) [_] Android (PhoneGap) [_] iOS (PhoneGap) [_] Windows 8 (Native?) [_] Linux (AppJS) [_] Windows Phone 8 (PhoneGap/Native) [_] 0% Alpha - limited preview [_] 0% Beta - public? [_] 0% 1.0 - public [_] 27% Gen 3 current todo [_] 55% High priority [_] 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 [_] usable empty view -- w.o. data... [_] single image mode transition (alpha-blend/fade/none) [_] 0% Tablet UI [_] screen buttons [_] ASAP: test on Android... [_] 75% 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.. [_] 50% Sort ui [X] reverse [_] select sort method [_] 50% Undo/Redo [X] basic one step (revert to last save) [_] push/pop state stack [_] 26% mark-based operations [_] 33% cropping selection [X] marked [_] by tag/collection [_] by group [X] shift up/down [_] 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 [_] single ribbon mode | should this have up/down navigation? | | something like showGidsAsRibbon(gids) would be generic and logical... [_] 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... [_] build cache in background... | this must be done while updating IMAGES live... [_] 0% grouping / meta-image [_] versions w. label image | a set of images that is represented by one of the group [_] collection [_] 75% UI elements [X] indicators [X] image info [X] stub info dialog [_] detailed image info [_] 0% gesture support [_] up/down - shift [_] left/right - navigate [_] 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... | showStatus(...) should be called uniformly, either at the source | or a specific reporting layer... [_] 0% tweak loader [_] thresholds and frame size [_] remove extra and repetitive actions [_] caching config [_] BUG: jumping screen images does not load the adjacent ribbons... | positioning is OK but ribbons are not fully visible... [_] BUG: BASE_URL seems to gain a new trailing '/' on each save... | low priority as this does not affect anything... [_] start/stop gif animations... [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... [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. [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... [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'), | }, | [X] reverse ribbons... [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. [X] import fav dirs (wo. index)... [X] ASAP: load/view un-cached directories... [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 [_] 58% Gen 3 UI implementation [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... | | 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 [_] add note to image | a-la flickr notes... [_] edit IPCT [X] rotate image [_] 66% UI modes [_] 0% single ribbon [_] show images shifted (all / above only / below only) in current ribbon [_] show marked only [X] 100% multiple ribbons [X] show images above/below [X] show marked only [X] 100% single image . | vim:set spell :