Closed azaroth42 closed 10 years ago
I've narrowed this down to something in the initialisation of the osd viewport, but the error seems to only occur in manuscripts with no annotations. It may be in OSD itself, but still investigating.
Actually, it seems the manuscript mentioned is lacking part of the tile source information needed for OSD to render a canvas correctly.
I've added a default tile size into mirador.js that will provide for the case where a manifest does not list a tilesize. This solved the issue of OSD trying to render a canvas with infinitesimally-small tiles.
Yes I can confirm this, the bug is from OSD. It is because Sanddragon at BL does not provide any tile dimensions in info.json (tile_width and tile_height). And since the version of OSD built with Mirador does not include IIIF1_1tilesource implementation, every info request is treated as an IIIFTileSource implementation and thus causes OSD to fail because it needs at least tile_width (unlike IIIF1_1TileSource, it does not use the short dimension if there aren't tile sizes provided : see this commit by jstroop : https://github.com/openseadragon/openseadragon/commit/22587cec6e0ade72d72e79ad5937a59211de05f4, solving this issue : https://github.com/openseadragon/openseadragon/pull/286)
That's why the BL hacked OSD to make their Mirador instance work with IIIFTileSource: see http://sanddragon.bl.uk/mirador/mirador.js (line 13282)
But nevermind if the issue is solved by iiif.js.
Steps to reproduce:
Expected behaviour:
Actual behaviour: