Closed nein09 closed 8 years ago
@aeschylus Ok, I think this is ready for review and merging!
This patch adds proper handling of detail mode:
This looks awesome! :boat:
First of all, this is great. Things are starting to look pretty good. There are a few rendering problems, but those can probably be fixed by separating the renderer, which we'll get to later.
The book view layout (in overview) seems to be broken in that line-breaks cause openings/spreads to be split across lines.
Before the lines calculation was objectified there was a bit of logic that checked for the book view settings and clustered facing pages as though they were one page in the line-break algorithm. The line would forcibly break if the total width of the facing pages together exceeded the remaining line width.
Also (and I know this is partially due to the annoying side effects of the 50 if
statements determining the transition type), there are some rendering errors when changing thumb size or mode in overview perspective. Changing the thumbsize causes the thumbnails to jump out of frame and transition back into position, instead of changing size in-place. Similarly, when changing modes, the pages don't smoothly slide sideways to create the new layout, but sort of "jump and swoop" into view. There are a few reasons this is happening. First, the thumbsize change should be immediate (no animation). In practice this gives a fairly smooth animation because the user is scrubbing the slider bar. In the case of both errors, the right starting positions are not given for the frames in the d3 rendering code; it may be that d3 believes that all objects are part of the "enter" selection, so it doesn't move them from their current positions. Or, more likely, the starting position is not passed correctly in the interpolation functions.
Sometimes the positioning gets off when switching modes. I believe this has something to do with a race-condition with the osd tilesource addition and the layout properties being set. Here are some screenshots:
@aeschylus Cool, thanks for the issue reports! I've now fixed the paged mode line break thing (and cleaned up that code a bit, including addressing @nein09's comment). I'll continue looking into the other issues.
From #96