| 
									
										
										
										
											2013-05-28 20:07:32 +04:00
										 |  |  | Roadmap | 
					
						
							| 
									
										
										
										
											2013-12-24 06:38:37 +04:00
										 |  |  | 	[_] 64% 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-12-24 06:38:37 +04:00
										 |  |  | 		[X] 100% navigation | 
					
						
							| 
									
										
										
										
											2013-05-28 20:07:32 +04:00
										 |  |  | 			[X] image next/prev | 
					
						
							|  |  |  | 			[X] ribbon next/prev | 
					
						
							|  |  |  | 			[X] screen next/prev | 
					
						
							| 
									
										
										
										
											2013-12-24 06:38:37 +04:00
										 |  |  | 			[X] bookmarks next/prev | 
					
						
							| 
									
										
										
										
											2013-07-13 01:41:00 +04:00
										 |  |  | 		[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 | 
					
						
							|  |  |  | 	 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-01-26 08:56:36 +04:00
										 |  |  | [_] 32% Gen 3 current todo | 
					
						
							|  |  |  | 	[_] 64% High priority | 
					
						
							| 
									
										
										
										
											2014-01-13 03:38:06 +04:00
										 |  |  | 		[_] BUG: sorting breaks when at or near the end of a ribbon... | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2014-01-13 06:37:08 +04:00
										 |  |  | 		| Race condition... | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2014-01-13 03:38:06 +04:00
										 |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	- go to end of a ribbon | 
					
						
							|  |  |  | 		| 	- shift-s  | 
					
						
							|  |  |  | 		| 		- select a sort method | 
					
						
							|  |  |  | 		| 		- click "OK" | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| NOTE: this will not break of sorting will not change the order of | 
					
						
							|  |  |  | 		| 		visible images... | 
					
						
							|  |  |  | 		| 		thus, if this the above procedure does not break do one of: | 
					
						
							|  |  |  | 		| 			- ctrl-r (reverse) before sorting | 
					
						
							|  |  |  | 		| 			- check "Descending" in the sort dialog | 
					
						
							|  |  |  | 		| NOTE: this breaks because current the current image is not  | 
					
						
							|  |  |  | 		| 		yet loaded/created when reloadViewer(..) tries to focus it... | 
					
						
							| 
									
										
										
										
											2014-01-13 06:37:08 +04:00
										 |  |  | 		| | 
					
						
							|  |  |  | 		| Temporary workaround: | 
					
						
							|  |  |  | 		| 	because there is nothing wrong with sorting itself, just the | 
					
						
							|  |  |  | 		| 	UI, the resulting state can be fixed by simply reloading the  | 
					
						
							|  |  |  | 		| 	viewer (reloadViewer(true) or ctrl-alt-r) | 
					
						
							| 
									
										
										
										
											2014-01-23 06:56:17 +04:00
										 |  |  | 		|  | 
					
						
							|  |  |  | 		| NOTE: appears to affect beginning of the ribbon too... | 
					
						
							| 
									
										
										
										
											2014-01-13 06:37:08 +04:00
										 |  |  | 		[_] BUG: sorting mis-aligns ribbons in some cases... | 
					
						
							|  |  |  | 		| Example: | 
					
						
							|  |  |  | 		| 				 oooo...	--[reverse]->	   ...oooo | 
					
						
							|  |  |  | 		| 		...oooo[o]oooo...					...oooo[o]oooo... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| 		Should be: | 
					
						
							|  |  |  | 		| 				 oooo...	--[reverse]->	 ...oooo | 
					
						
							|  |  |  | 		| 		...oooo[o]oooo...					...oooo[o]oooo... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| 	The above can happen when, for example, sorting the images via data | 
					
						
							|  |  |  | 		| 	and then sorting them in the same way with reverse checked... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| XXX is this related to? | 
					
						
							|  |  |  | 		|	BUG: sorting breaks when at or near the end of a ribbon... | 
					
						
							| 
									
										
										
										
											2014-01-07 10:21:29 +04:00
										 |  |  | 		[_] BUG: panels: open/close events get triggered on panel drag/sort... | 
					
						
							|  |  |  | 		[_] buildcache: add option to control image sort... | 
					
						
							| 
									
										
										
										
											2014-01-26 08:56:36 +04:00
										 |  |  | 		[X] buildcache: add ability to process multiple dirs... | 
					
						
							|  |  |  | 		[_] 50% ASAP: Need visual indicators for long operations... | 
					
						
							|  |  |  | 			[X] progress bars... | 
					
						
							|  |  |  | 			[_] spinners... | 
					
						
							| 
									
										
										
										
											2014-01-07 10:21:29 +04:00
										 |  |  | 		[_] 66% tags | 
					
						
							|  |  |  | 			[X] local tags | 
					
						
							|  |  |  | 			[_] global tag list | 
					
						
							|  |  |  | 			[X] 100% actions | 
					
						
							|  |  |  | 				[X] add | 
					
						
							|  |  |  | 				[X] remove | 
					
						
							|  |  |  | 				[X] update | 
					
						
							|  |  |  | 				[X] select | 
					
						
							|  |  |  | 				[X] list operations | 
					
						
							|  |  |  | 				[X] ribbon (list) operations | 
					
						
							|  |  |  | 				[X] marked (list) operations | 
					
						
							|  |  |  | 				[X] bookmarked (list) operations | 
					
						
							|  |  |  | 				[X] mark/unmark tagged | 
					
						
							|  |  |  | 				[X] crop | 
					
						
							| 
									
										
										
										
											2014-01-13 08:57:44 +04:00
										 |  |  | 		[_] 51% Panels | 
					
						
							| 
									
										
										
										
											2014-01-07 07:32:45 +04:00
										 |  |  | 			[X] 100% panel constructors | 
					
						
							|  |  |  | 				[X] panel | 
					
						
							|  |  |  | 				[X] side-panel | 
					
						
							|  |  |  | 				[X] sub-panel | 
					
						
							|  |  |  | 			[_] 0% panel state | 
					
						
							|  |  |  | 				[_] track panel state | 
					
						
							|  |  |  | 				[_] use panel state for defaults when opening panels | 
					
						
							| 
									
										
										
										
											2014-01-07 23:10:50 +04:00
										 |  |  | 			[_] 75% actions | 
					
						
							|  |  |  | 				[X] 100% openPanel | 
					
						
							| 
									
										
										
										
											2014-01-07 07:32:45 +04:00
										 |  |  | 					[X] if panel is not loaded load it | 
					
						
							| 
									
										
										
										
											2014-01-07 10:19:41 +04:00
										 |  |  | 					[X] if a panel is not open, open it and all parents | 
					
						
							| 
									
										
										
										
											2014-01-07 07:32:45 +04:00
										 |  |  | 					| XXX need to open auto-hidden side panels... | 
					
						
							| 
									
										
										
										
											2014-01-07 23:10:50 +04:00
										 |  |  | 					[X] blink panel | 
					
						
							| 
									
										
										
										
											2014-01-07 07:32:45 +04:00
										 |  |  | 				[_] openPanels | 
					
						
							|  |  |  | 				[X] closePanel | 
					
						
							|  |  |  | 				| collapse a panel... | 
					
						
							|  |  |  | 				[X] removePanel | 
					
						
							|  |  |  | 				| remove a panel | 
					
						
							| 
									
										
										
										
											2014-01-13 08:57:44 +04:00
										 |  |  | 			[X] open panel dialog | 
					
						
							| 
									
										
										
										
											2014-01-07 10:19:41 +04:00
										 |  |  | 			| list all registered panels... | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 			[_] 0% mechanics | 
					
						
							|  |  |  | 				[_] serialization -- save/load panel state | 
					
						
							|  |  |  | 				[_] sub-panel-oriented actions / key bindings | 
					
						
							|  |  |  | 				| open a sub panel should: | 
					
						
							|  |  |  | 				| 	- if it does not exist create it and create a parent panel | 
					
						
							|  |  |  | 				| 	- if it exists, show it (open all parents) | 
					
						
							|  |  |  | 				[_] data handlers work only if a panel is loaded/visible/open | 
					
						
							|  |  |  | 				| and not break stuff when it's closed (as is now)... | 
					
						
							|  |  |  | 				[_] show hide all panels (TAB key) | 
					
						
							|  |  |  | 			[_] 33% new panels | 
					
						
							|  |  |  | 				[_] info | 
					
						
							|  |  |  | 					[_] general info | 
					
						
							|  |  |  | 					[_] EXIF | 
					
						
							|  |  |  | 					[_] IPCT / comment | 
					
						
							| 
									
										
										
										
											2013-12-13 08:02:33 +04:00
										 |  |  | 				[_] tags | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 					[_] cloud | 
					
						
							|  |  |  | 					[_] search | 
					
						
							|  |  |  | 					[_] tree | 
					
						
							|  |  |  | 				[X] editor | 
					
						
							|  |  |  | 					[X] filters | 
					
						
							|  |  |  | 					[X] snapshots | 
					
						
							|  |  |  | 		[_] BUG: closing editor panel breaks next/prev image in single image mode | 
					
						
							|  |  |  | 		| caused by editor action breaking and affecting image move... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	- Enter		- single image mode | 
					
						
							|  |  |  | 		| 	- ctrl-e	- open editor | 
					
						
							|  |  |  | 		| 	- close editor panel (destroy editor sub-panels) | 
					
						
							|  |  |  | 		| 	- left or right | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| This will produce an error in editor functionality that will break | 
					
						
							|  |  |  | 		| image loading... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| NOTE: not fixing this right away as the way panel infrastructure  | 
					
						
							|  |  |  | 		| 		is connected to the system needs a rewrite that will likely | 
					
						
							|  |  |  | 		| 		fix this and other connected bugs... | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-12-13 08:02:33 +04:00
										 |  |  | 		[_] BUG: showImage(..) does not load the ribbons correctly... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	Load ribbon with ~28 images @ 4 images per screen width: | 
					
						
							|  |  |  | 		|	lastImage() | 
					
						
							|  |  |  | 		|	showImage(getImageGID(getRibbon().find('.image').first())) | 
					
						
							|  |  |  | 		| or: | 
					
						
							|  |  |  | 		| 	Load ribbon with ~28 images @ 4 images per screen width: | 
					
						
							|  |  |  | 		|	firstImage() | 
					
						
							|  |  |  | 		|	showImage(getImageGID(getRibbon().find('.image').last())) | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Expected: | 
					
						
							|  |  |  | 		| 	- ribbon loaded and fills screen | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Effect: | 
					
						
							|  |  |  | 		| 	- ribbon not loaded after current image | 
					
						
							|  |  |  | 		| 	- reloadViewer() loads the state correctly | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-12-05 06:00:16 +04:00
										 |  |  | 		[_] BUG: OSX: unable to load absolute paths... | 
					
						
							|  |  |  | 		[_] OSX: add alternatives to function buttons... | 
					
						
							| 
									
										
										
										
											2014-01-26 08:56:36 +04:00
										 |  |  | 		[_] 75% normalize ribbons -- top-align sorted chunks | 
					
						
							| 
									
										
										
										
											2013-12-24 04:40:57 +04:00
										 |  |  | 			[X] basic mechanics | 
					
						
							|  |  |  | 			| splitData(...) | 
					
						
							|  |  |  | 			| mergeData(...) | 
					
						
							|  |  |  | 			| alignDataToRibbon(...) | 
					
						
							|  |  |  | 			| shiftRibbonBy(...) | 
					
						
							| 
									
										
										
										
											2014-01-26 08:56:36 +04:00
										 |  |  | 			[X] manual invoke mechanics | 
					
						
							|  |  |  | 			| ctrl-alt-down | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 			[_] auto-invoke mechanics (???) | 
					
						
							|  |  |  | 			[X] 100% 'unsorted' tag mechanics... | 
					
						
							|  |  |  | 				[X] remove tag on shift | 
					
						
							|  |  |  | 				[X] remove tag on alignToRibbon(..) | 
					
						
							|  |  |  | 				[X] add tag for new images (buildcache) | 
					
						
							| 
									
										
										
										
											2013-12-24 04:40:57 +04:00
										 |  |  | 		[_] 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.  | 
					
						
							| 
									
										
										
										
											2013-12-05 05:50:26 +04:00
										 |  |  | 		| ...if at least one filter is applied, appears to only affect  | 
					
						
							|  |  |  | 		| scaled images. | 
					
						
							| 
									
										
										
										
											2013-12-17 07:14:32 +04:00
										 |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-12-24 04:40:57 +04:00
										 |  |  | 		| Actual cause: | 
					
						
							|  |  |  | 		| 	Bug in Blink-CSS-filters (BUG#329091) causing filters to  | 
					
						
							|  |  |  | 		| 	mess up scaled (via CSS transforms) images. | 
					
						
							|  |  |  | 		| 	Filed at: | 
					
						
							|  |  |  | 		| 		https://code.google.com/p/chromium/issues/detail?id=329091&thanks=329091&ts=1387246111 | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Status: | 
					
						
							| 
									
										
										
										
											2014-01-08 05:29:55 +04:00
										 |  |  | 		| 	- Waiting for feedback... | 
					
						
							|  |  |  | 		| 	- got a "Wont Fix" status, still negotiating... | 
					
						
							| 
									
										
										
										
											2013-12-24 04:40:57 +04:00
										 |  |  | 		| | 
					
						
							|  |  |  | 		| 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. | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 		[_] 66% Bookmarks | 
					
						
							|  |  |  | 			[X] toggle | 
					
						
							|  |  |  | 			[X] save/load | 
					
						
							|  |  |  | 			[X] 100% navigate | 
					
						
							|  |  |  | 				[X] next/prev | 
					
						
							|  |  |  | 			[X] crop | 
					
						
							|  |  |  | 			[_] global | 
					
						
							|  |  |  | 			[_] 0% metadata | 
					
						
							|  |  |  | 				[_] comment | 
					
						
							|  |  |  | 				[_] tags | 
					
						
							| 
									
										
										
										
											2013-12-05 06:00:16 +04:00
										 |  |  | 		[_] BUG: opening a dir form history sometimes loads wrong size previews | 
					
						
							|  |  |  | 		| this happens in part of the view and a refresh, reload or image | 
					
						
							|  |  |  | 		| update (updateImages()) fixes the issue... | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 		[_] BUG: Something is causing previews to reload... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	- moving left/right in one ribbon | 
					
						
							|  |  |  | 		| 	- adjacent ribbon is not moving | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Expected: | 
					
						
							|  |  |  | 		| 	- all unmoving ribbons remain static | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Effect: | 
					
						
							|  |  |  | 		| 	- previews get reloaded/redrawn | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-11-28 05:04:12 +04:00
										 |  |  | 		[_] UI: touch controls / toolbars... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| 	+-+-----------------------+-+ | 
					
						
							|  |  |  | 		| 	| |    				  	  | | | 
					
						
							|  |  |  | 		| 	| |    				  	  | | | 
					
						
							|  |  |  | 		| 	| |    	+-----------+ 	  | | | 
					
						
							|  |  |  | 		| 	| |    	|			| 	  |<--- Button bar | 
					
						
							|  |  |  | 		| 	| |    	|	Image	| 	  | | | 
					
						
							|  |  |  | 		| 	| |    	|			| 	  | | | 
					
						
							|  |  |  | 		| 	| |    	+-----------+ 	  | | | 
					
						
							|  |  |  | 		| 	| |    				  	  | | | 
					
						
							|  |  |  | 		| 	| |    				  	  | | | 
					
						
							|  |  |  | 		| 	+-+-----------------------+-+ | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Basic layout: | 
					
						
							|  |  |  | 		| 		Left bar			Right bar | 
					
						
							|  |  |  | 		| 			help				config		+ low priority | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| 			up					up			+ | 
					
						
							|  |  |  | 		| 			prev				next		| main controls | 
					
						
							|  |  |  | 		| 			down				down		+  (under thumbs) | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		|											+ | 
					
						
							|  |  |  | 		| 			...					...			| misc controls | 
					
						
							|  |  |  | 		|											+ | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Things to have in buttons: | 
					
						
							|  |  |  | 		| 	- navigation | 
					
						
							|  |  |  | 		| 	- shift | 
					
						
							|  |  |  | 		| 	- crop select / exit crop | 
					
						
							|  |  |  | 		| 	- modes | 
					
						
							|  |  |  | 		| 		- slideshow | 
					
						
							|  |  |  | 		| 		- image/ribbon toggle | 
					
						
							|  |  |  | 		| 	- zoom | 
					
						
							|  |  |  | 		| 	- tags/metadata editor toggle | 
					
						
							|  |  |  | 		| 	- image editor toggle | 
					
						
							|  |  |  | 		| 	- open/history/... | 
					
						
							|  |  |  | 		| 	- sort | 
					
						
							|  |  |  | 		| 	- export | 
					
						
							| 
									
										
										
										
											2013-11-25 04:12:40 +04:00
										 |  |  | 		[_] editable list of external commands... | 
					
						
							|  |  |  | 		| to add things like exportdirs.py etc. | 
					
						
							|  |  |  | 		[_] Export data... | 
					
						
							|  |  |  | 		| same as export dirs but also include .ImageGrid/ dir with current | 
					
						
							|  |  |  | 		| data and images... | 
					
						
							| 
									
										
										
										
											2013-11-25 08:09:52 +04:00
										 |  |  | 		[_] BUG: after loading a non-existing dir, opening a new dir raises an error | 
					
						
							| 
									
										
										
										
											2013-11-13 02:59:14 +04:00
										 |  |  | 		| i.e. the open dialog does not close, while the images are loaded... | 
					
						
							| 
									
										
										
										
											2013-11-25 03:08:47 +04:00
										 |  |  | 		[_] BUG: sometimes opening a dir (open dialog) does not do anything... | 
					
						
							|  |  |  | 		| Uncaught TypeError: Cannot call method 'indexOf' of undefined -- data.js:576 | 
					
						
							| 
									
										
										
										
											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-11-13 02:59:14 +04:00
										 |  |  | 		| | 
					
						
							|  |  |  | 		| XXX this will need code reorganization to support node.js' require(...) | 
					
						
							|  |  |  | 		| 		mechanics... | 
					
						
							|  |  |  | 		[_] 75% add data updating to buildcache | 
					
						
							| 
									
										
										
										
											2013-10-15 18:47:10 +04:00
										 |  |  | 			[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-12-24 04:40:57 +04:00
										 |  |  | 			[_] --reset-gids (???) | 
					
						
							| 
									
										
										
										
											2013-10-10 18:41:03 +04:00
										 |  |  | 			| replace gids in data.json and images.json | 
					
						
							| 
									
										
										
										
											2013-11-13 02:59:14 +04:00
										 |  |  | 			[X] fast update by default | 
					
						
							|  |  |  | 			| - store a file-list in .ImageGrid/filelist.json | 
					
						
							| 
									
										
										
										
											2013-10-17 01:40:13 +04:00
										 |  |  | 			| - make a pedantic update (current) optional via | 
					
						
							|  |  |  | 			|   	--force-full-scan | 
					
						
							| 
									
										
										
										
											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-12-24 04:40:57 +04:00
										 |  |  | 		[_] 66% plugins -- isolate functionality: | 
					
						
							|  |  |  | 			[X] register setup/init function... | 
					
						
							|  |  |  | 			| a module can register setup function... | 
					
						
							|  |  |  | 			[X] register image update functions... | 
					
						
							|  |  |  | 			[_] isolate context key bindings... | 
					
						
							|  |  |  | 			| essentially this may consist of: | 
					
						
							|  |  |  | 			| 	injecting new config | 
					
						
							|  |  |  | 			| 	shadowing  | 
					
						
							| 
									
										
										
										
											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-11-25 04:12:40 +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-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-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??? | 
					
						
							|  |  |  | 		[_] BUG: sometimes images.json folder is created... | 
					
						
							|  |  |  | 		| can't repeat this yet, and seen only once... | 
					
						
							|  |  |  | 		[_] 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 | 
					
						
							| 
									
										
										
										
											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-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-01 23:12:32 +04:00
										 |  |  | 		[_] 50% Undo/Redo | 
					
						
							|  |  |  | 			[X] basic one step (revert to last save) | 
					
						
							|  |  |  | 			[_] push/pop state stack | 
					
						
							|  |  |  | 		[_] revise reporting scheme... | 
					
						
							|  |  |  | 		| showStatus(...) should be called uniformly, either at the source  | 
					
						
							|  |  |  | 		| or a specific reporting layer... | 
					
						
							| 
									
										
										
										
											2013-06-11 04:57:10 +04:00
										 |  |  | 		[_] side-by side view... | 
					
						
							| 
									
										
										
										
											2013-11-26 19:16:27 +04:00
										 |  |  | 		[_] Simplify tool-tip structure in dialogs... | 
					
						
							|  |  |  | 		| might also bee good to unify tool-tips across the app... | 
					
						
							| 
									
										
										
										
											2013-12-24 04:40:57 +04:00
										 |  |  | 		[_] 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 | 
					
						
							|  |  |  | 		| 	... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-12-23 03:57:18 +04:00
										 |  |  | 		[_] BUG (low priority): dragging a sub-panel, over and out again is odd.. | 
					
						
							|  |  |  | 		| i.e. if the placeholder moves... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Expected: | 
					
						
							|  |  |  | 		| 	create a new panel and drop into it or revert | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Actual: | 
					
						
							|  |  |  | 		| 	drops to last placeholder | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 		[_] single image mode transition (alpha-blend/fade/none) | 
					
						
							| 
									
										
										
										
											2014-01-23 06:56:17 +04:00
										 |  |  | 		[X] Might be a good idea to use sparse arrays for things like marks... | 
					
						
							|  |  |  | 		| eliminate:	 | 
					
						
							|  |  |  | 		| 	- need for keeping things sorted all the time | 
					
						
							|  |  |  | 		| 	- speed-up access -- everything has the same index | 
					
						
							|  |  |  | 		| 	- speed-up modification -- just mirror all the operations | 
					
						
							|  |  |  | 		| 	- searching in more than one place | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| introduce: | 
					
						
							|  |  |  | 		| 	- conversion on import, export and crop | 
					
						
							|  |  |  | 		| 		need to clear / insert all the nulls | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| candidates: | 
					
						
							|  |  |  | 		| 	- marks | 
					
						
							|  |  |  | 		| 	- bookmarks | 
					
						
							|  |  |  | 		| 	- tags | 
					
						
							| 
									
										
										
										
											2014-01-13 06:38:25 +04:00
										 |  |  | 		[X] crop/filter/search dialog... | 
					
						
							|  |  |  | 		| make a number of fields each accepting a filter -- string/regexp | 
					
						
							| 
									
										
										
										
											2013-12-26 08:09:24 +04:00
										 |  |  | 		[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... | 
					
						
							|  |  |  | 		| - can we "mark" big gaps? ...what's the threshold of "big"? | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Possible approaches: | 
					
						
							|  |  |  | 		| 	- do not mark | 
					
						
							|  |  |  | 		| 		In theory the base ribbon is always "final", thus marking and  | 
					
						
							|  |  |  | 		| 		sorted/unsorted categories are un-needed complexity. | 
					
						
							|  |  |  | 		| 		This plays well with the "auto-align" mechanics... | 
					
						
							|  |  |  | 		| 		This may play well with bookmarking... | 
					
						
							|  |  |  | 		| 	- sorted/unsorted images marking (viewed/unviewed) | 
					
						
							|  |  |  | 		| 		This can be done in several ways: | 
					
						
							|  |  |  | 		| 			- track viewing | 
					
						
							|  |  |  | 		| 			- anything in the aligned group is "sorted" | 
					
						
							|  |  |  | 		| 			- ... | 
					
						
							|  |  |  | 		| 		Added complexity | 
					
						
							|  |  |  | 		| 	- manual bookmarking | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| 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. | 
					
						
							|  |  |  | 		[X] 100% UI: side-panels... | 
					
						
							|  |  |  | 			| | 
					
						
							|  |  |  | 			| 	+-----+---------------+-----+ | 
					
						
							|  |  |  | 			| 	|	  |				  |		| | 
					
						
							|  |  |  | 			| 	|	  |				  |		| | 
					
						
							|  |  |  | 			| 	|	  |	+-----------+ |		| | 
					
						
							|  |  |  | 			| 	|	  |	|			| |	  <---- side-panel | 
					
						
							|  |  |  | 			| 	|	  |	|	Image	| |		| | 
					
						
							|  |  |  | 			| 	|	  |	|			| |		| | 
					
						
							|  |  |  | 			| 	|	  |	+-----------+ |		| | 
					
						
							|  |  |  | 			| 	|	  |				  |		| | 
					
						
							|  |  |  | 			| 	|	  |				  |		| | 
					
						
							|  |  |  | 			| 	+-----+---------------+-----+ | 
					
						
							|  |  |  | 			| | 
					
						
							|  |  |  | 			|		  +---------------+ | 
					
						
							|  |  |  | 			|			Viewer | 
					
						
							|  |  |  | 			| | 
					
						
							|  |  |  | 			| | 
					
						
							|  |  |  | 			| NOTE: panes should be outside the viewer, so as not to overlap | 
					
						
							|  |  |  | 			| 		with the image... | 
					
						
							|  |  |  | 			| NOTE: we can also try and use top and bottom panes, but that  | 
					
						
							|  |  |  | 			| 		might over-complicate things... | 
					
						
							|  |  |  | 			[X] construct | 
					
						
							|  |  |  | 			[X] style | 
					
						
							|  |  |  | 			[X] lock/pin | 
					
						
							|  |  |  | 			[X] autohide | 
					
						
							| 
									
										
										
										
											2013-12-26 03:59:36 +04:00
										 |  |  | 		[X] BUG: shifting around images in very short ribbons produces lots of errors | 
					
						
							|  |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	- crop a ribbon of two-three images | 
					
						
							|  |  |  | 		| 	- start shifting | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Problems: | 
					
						
							|  |  |  | 		| 	- wrong alignment | 
					
						
							|  |  |  | 		| 	- sometimes by shifting an image up the focus shifts to the  | 
					
						
							|  |  |  | 		| 	  upper ribbon | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| The direct cause of the problem: | 
					
						
							|  |  |  | 		| 	- errors: | 
					
						
							|  |  |  | 		| 		- SyntaxError - likely the JSON parser in getImageGID() | 
					
						
							|  |  |  | 		| 		- TypeError - property of null | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Likely causes: | 
					
						
							|  |  |  | 		| 	- we access images BEFORE they are initialized properly... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Solution strategy: | 
					
						
							|  |  |  | 		| 	- make aligning independent of DOM state where possible... | 
					
						
							|  |  |  | 		| 	- make parts of the code wait for updates to finish... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Actual case: | 
					
						
							|  |  |  | 		| 	- this was not a problem with race conditions... | 
					
						
							|  |  |  | 		| 	- essentially all this took is a careful look at event and  | 
					
						
							|  |  |  | 		| 	  action ordering, and a forgotten filter... | 
					
						
							|  |  |  | 		| 	  (filtering for images is a possible bug class) | 
					
						
							| 
									
										
										
										
											2013-12-24 04:40:57 +04:00
										 |  |  | 		[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... | 
					
						
							| 
									
										
										
										
											2013-12-18 04:58:59 +04:00
										 |  |  | 		[X] BUG: zooming vertical images in single image view results in size jumping... | 
					
						
							|  |  |  | 		| Reason: | 
					
						
							|  |  |  | 		| 	This is due to the proportion ratio changing in one step... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Solution: | 
					
						
							|  |  |  | 		| 	Make the proportion transition smoothly, at least in two zoom-steps | 
					
						
							|  |  |  | 		[X] BUG: jumping more than one image in single image view messes up scale... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	- load: file:///L:/mnt/hdd13 (photo)/NTFS2/media/img/my/work/- 20131122Y.001/DCIM/preview (RAW)/ | 
					
						
							|  |  |  | 		| 	- go to single image mode | 
					
						
							|  |  |  | 		| 	- press 2 | 
					
						
							|  |  |  | 		| 	- go to end | 
					
						
							|  |  |  | 		| 	- press [ until a long jump between vertical and horizontal pics | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Effect: | 
					
						
							|  |  |  | 		| 	- the size of the images will change | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Solution: | 
					
						
							|  |  |  | 		| 	moved the proportions mode switch to preFittingImages handler | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Side-effect: | 
					
						
							|  |  |  | 		| 	vertical images, in horizontal viewer, and vice-versa jump  | 
					
						
							|  |  |  | 		| 	in size a bit when zooming past the threshold... | 
					
						
							|  |  |  | 		| 	the amount of "jump" depends on viewer proportions vs. image | 
					
						
							|  |  |  | 		| 	proportions... | 
					
						
							| 
									
										
										
										
											2013-12-13 08:02:33 +04:00
										 |  |  | 		[X] BUG: history dialog is focused on a disabled field... | 
					
						
							|  |  |  | 		| Procedure: | 
					
						
							|  |  |  | 		| 	- open a dir | 
					
						
							|  |  |  | 		| 	- rename dir | 
					
						
							|  |  |  | 		| 	- ctrl-H | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Expected: | 
					
						
							|  |  |  | 		| 	- current dir disabled and current | 
					
						
							|  |  |  | 		| 	- first enabled field focused/checked | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Result: | 
					
						
							|  |  |  | 		| 	- current dir is both focused/checked and disabled | 
					
						
							|  |  |  | 		| | 
					
						
							| 
									
										
										
										
											2013-12-05 05:50:26 +04:00
										 |  |  | 		[X] devise a better strategy to pruneBaseURLHistory(..)... | 
					
						
							|  |  |  | 		| currently it will remove anything that does not exist. | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| consider: | 
					
						
							|  |  |  | 		|	- push non-existing to back | 
					
						
							|  |  |  | 		|	- mark non-existing and show as disabled  | 
					
						
							|  |  |  | 		[X] Feature: basic editor... | 
					
						
							|  |  |  | 		| use CSS3 filters to edit and save edit values for: | 
					
						
							|  |  |  | 		| 	- brightness | 
					
						
							|  |  |  | 		| 	- contrast | 
					
						
							|  |  |  | 		| 	- saturation | 
					
						
							|  |  |  | 		| 	- hue | 
					
						
							|  |  |  | 		| 	- grayscale | 
					
						
							|  |  |  | 		| 	- sepia | 
					
						
							|  |  |  | 		| 	- invert | 
					
						
							|  |  |  | 		| 	- blur | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| save settings and load them on a per preview basis... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| see: http://html5-demos.appspot.com/static/css/filters/index.html | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| For UI use a left/right pane to "hold" the sliders... | 
					
						
							|  |  |  | 		[X] BUG: editor also affects the image background and border... | 
					
						
							|  |  |  | 		| to view just set invert to 1 | 
					
						
							|  |  |  | 		| 	- background turns white... | 
					
						
							|  |  |  | 		| 	- red border turns blue... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| need to either compensate or figure out a way to work around  | 
					
						
							|  |  |  | 		| this without adding ne tags... | 
					
						
							| 
									
										
										
										
											2013-11-25 07:06:37 +04:00
										 |  |  | 		[X] URL history... | 
					
						
							| 
									
										
										
										
											2013-11-25 05:05:11 +04:00
										 |  |  | 		[X] BUG: ribbons above and below are still sometimes loaded incorrectly | 
					
						
							|  |  |  | 		| likely due to trying to align  | 
					
						
							| 
									
										
										
										
											2013-11-25 03:08:47 +04:00
										 |  |  | 		[X] BUG: cropping in single image mode will change image scale... | 
					
						
							|  |  |  | 		| likely a problem with reloadViewer(...) | 
					
						
							|  |  |  | 		[X] 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... | 
					
						
							|  |  |  | 		[X] BUG CLASS: file-name auto escaping... | 
					
						
							|  |  |  | 		| mostly fixed, but need to check more thoroughly... | 
					
						
							|  |  |  | 		[X] BUG: @ 9 image width, jumping to end of ribbon length 39 messes up loading... | 
					
						
							|  |  |  | 		| problem likely in loadImagesAround(...) | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		|	- ribbon length 178 also ends up messing things up, while 68 and | 
					
						
							|  |  |  | 		|	  69 pose no problems... | 
					
						
							|  |  |  | 		|	- 19 images @ 5 per ribbon also breaks things... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| was a bug in rollImages(...) | 
					
						
							|  |  |  | 		[X] BUG CLASS (ASAP!): race conditions due to browser rendering lag... | 
					
						
							|  |  |  | 		| this happens when updating/adding lots of elements: | 
					
						
							|  |  |  | 		|  | 
					
						
							|  |  |  | 		| the update code is done and returns BEFORE the browser is done  | 
					
						
							|  |  |  | 		| rendering the updates... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| one of the side-effects is that the updates or added elements | 
					
						
							|  |  |  | 		| do not yet exist when the code is done and returned. | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| XXX I do not know why or how but this appears to have gotten fixed | 
					
						
							|  |  |  | 		| 		by rewriting loadImages(...) to loadImagesAround(...) | 
					
						
							|  |  |  | 		[X] BUG: reloadViewer(...) loses image focus... | 
					
						
							|  |  |  | 		| ...if the image is not near ribbon start. | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| This is due to the fact that we are trying to focus an image | 
					
						
							|  |  |  | 		| before the DOM is ready... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| To fix: | 
					
						
							|  |  |  | 		| 	- make focusImage(...) in reload viewer run AFTER all the  | 
					
						
							|  |  |  | 		| 	  images are created... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| XXX this is the cause for several other bugs... | 
					
						
							|  |  |  | 		[X] 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 | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| XXX possibly related to  | 
					
						
							|  |  |  | 		|		 BUG CLASS (ASAP!): race conditions due to browser rendering lag... | 
					
						
							|  |  |  | 		[X] BUG: jumping in ribbon sometimes does not load the ribbon correctly... | 
					
						
							|  |  |  | 		| Example 1: | 
					
						
							|  |  |  | 		| 	first ribbon in (loaded at first image): | 
					
						
							|  |  |  | 		|	 "F:\work\ImageGrid\cur\ImageGrid\src\ui\BUGS\ribbon loading error\" | 
					
						
							|  |  |  | 		|	jumping to the end will result in an inconsistent view: | 
					
						
							|  |  |  | 		|		- ribbon not aligned at the correct spot | 
					
						
							|  |  |  | 		|		- wrong image is .current | 
					
						
							|  |  |  | 		|		- part of the images appear to be loaded but misaligned... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| 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? | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| XXX possibly related to  | 
					
						
							|  |  |  | 		|		 BUG CLASS (ASAP!): race conditions due to browser rendering lag... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| Appears to be fixed... | 
					
						
							| 
									
										
										
										
											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-11-25 04:12:40 +04:00
										 |  |  | [_] 74% 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) | 
					
						
							| 
									
										
										
										
											2013-11-25 04:12:40 +04:00
										 |  |  | 	[_] 44% User actions | 
					
						
							|  |  |  | 		| see [[controls.otl]] for basic actions... | 
					
						
							|  |  |  | 		| | 
					
						
							|  |  |  | 		| additional actions: | 
					
						
							| 
									
										
										
										
											2013-05-28 15:22:05 +04:00
										 |  |  | 		[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-11-25 04:12:40 +04:00
										 |  |  | 	[X] 100% UI modes | 
					
						
							|  |  |  | 		[X] 100% single ribbon | 
					
						
							| 
									
										
										
										
											2013-08-26 03:09:34 +04:00
										 |  |  | 			[X] show marked only | 
					
						
							|  |  |  | 			[X] show current ribbon | 
					
						
							| 
									
										
										
										
											2013-11-25 04:12:40 +04:00
										 |  |  | 			[X] show images shifted (all / above only / below only) in current ribbon | 
					
						
							| 
									
										
										
										
											2013-05-28 15:22:05 +04:00
										 |  |  | 		[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 : |