Commit graph

52 commits

Author SHA1 Message Date
Aiosa
535507568f Fix docs syntax. 2024-11-05 12:06:59 +01:00
Aiosa
9bfdd55b2e Make tile-invalidated event before tile-loaded. Try to fix behavior of maxTilesperFrame 2024-11-05 10:58:41 +01:00
Aiosa
f127014f0f Design of separated events: drop update data support for tile-loaded, use only invalidated event. 2024-11-01 21:43:12 +01:00
Aiosa
cd60aff5dc Fix demo further: clear tile processing logics, perform locking on tile level, delete tile if drawn process encountered _destroyed state. 2024-10-23 15:54:31 +02:00
Aiosa
207bc88aab Fix demo further: _queuedInvalidateTiles was not being used, simplify how tile cache updates are being called (but without priorities). 2024-10-23 14:37:43 +02:00
Aiosa
6cbe359398 Fix demo filtering plugin: certain guards made rendering not being properly updated. 2024-10-23 10:07:16 +02:00
Aiosa
20177116e7 Integration tests: bugfixing of manipulation of tiles that share data: when tiles are loaded, when tiles are processed, also await async data preparation befre finishing the invalidation event. 2024-10-22 17:25:02 +02:00
Aiosa
e403e29312 Fix tests: bug in type equality checking 2024-10-21 12:59:21 +02:00
Aiosa
82e1160508 Clean up outdated TODO comments. 2024-10-21 11:00:23 +02:00
Aiosa
68f0ed8901 Do not spit out warns on invalid tile unload (preemtive working cache deletion), do not ignore working cache even if __restore=true. 2024-10-21 09:00:24 +02:00
Aiosa
1e47bd6add Add cache tests, add more robust CacheRecord creation/deletion logics. Zombies now do not replace data, prevents also potential memory leak. 2024-10-18 14:38:04 +02:00
Aiosa
0b63a943b6 Tests & Bugfixes: new cache tests, working cache preemptively deleted when restore() called, zombie cache had bug (restored cache had no attached tile reference and restoration failed since we relied on any existing tile on the cache to inherit state), deprecated old HTMLDrawer props on tile, rewritten HTMLDrawer to work also with cache API. 2024-10-17 12:10:04 +02:00
Aiosa
f8e5cff117 Feature/Optimization: cache can be created by a callback (async or sync), to avoid premature data creation 2024-10-16 16:31:08 +02:00
Aiosa
29b01cf1bd First visually correct design: tile invalidation event manages three caches that are shared among equal tiles (based on cache key). Works with both latest drawers and shared caches. 2024-08-24 09:49:16 +02:00
Aiosa
e0f442209b Fix black viewport with testing filtering demo on webgl renderer. Introduce managed mock getters for tests. 2024-03-05 10:48:07 +01:00
Aiosa
e2c633a23b Small bugfixes, rename some properties. Add more redraw calls. 2024-03-04 19:23:47 +01:00
Aiosa
52ef8156c0 Fixed: internal cache not allways calling destructor, refresh handler was not called on internal cache. Polish code. Improve filtering demo. 2024-03-03 17:59:39 +01:00
Aiosa
a9b50a8fdb Test fixes (except gl null reference error - test fails sometimes). 2024-03-03 16:39:15 +01:00
Aiosa
360f0d6796 Fix docs, commit before upstream merge. 2024-03-03 14:50:01 +01:00
Aiosa
63f0adbc15 Fix issues with tile reference in cache: keep the 'most fresh' ref. 2024-02-11 17:18:03 +01:00
Aiosa
d91df0126b Add base drawer options and fix docs. Implement 'simple internal cache' for drawer data, optional to use. 2024-02-11 11:27:02 +01:00
Aiosa
fcf20be8ea Drawers now use new cache API to draw onto a canvas. The type conversion now requires also the tile argument so that conversion can rely on the tile metadata. 2024-02-04 18:48:25 +01:00
Aiosa
3fa13570ef Resolve Merge with First WebGL PR: code is merged, but not operable [drawer refactoring needs interaction implemented with cache system]. 2024-02-04 15:41:05 +01:00
Tom
3f7e7141b9 fixes from review of drawerbase.js 2023-12-14 19:14:05 -05:00
Aiosa
a690b50eee Add external execution pipeline (proof of concept implementation, needs polishing). Add filtering plugin live demo for testing. Fix issues with tile cache access outside its lifespan. Add custom css for the static page renderer and differentiate folder icons. Remove some old deprecations. 2023-12-10 16:34:42 +01:00
Aiosa
90ce0669c5 Add auto recognition of the need for tiledImage draw call. Fix ajax-headers test: did not finish because we don't call tile-loaded on cached tiles by default. 2023-11-27 12:12:54 +01:00
Aiosa
2c67860c61 Implement cache manipulation strategy: default copy on access if tile in the rendering process, remove 'canvas' type support, many bugfixes and new tests. 2023-11-26 21:32:26 +01:00
Aiosa
219049976c Add tests for zombie and data type conversion, ensure destructors are called.
Fix bugs (zombie was disabled on item replace, fix zombie cache system by separating to its own cache array). Fix CacheRecord destructor & dijkstra. Deduce cache only from originalCacheKey. Force explicit type declaration with types on users.
2023-11-18 20:16:35 +01:00
Aiosa
cd9d340038 Removed date loader (will be handled by future OSD cache system). Attempt to use instanced rendering. Refactoring of the module. 2023-10-23 16:03:47 +02:00
Aiosa
750d45be81 Implement asynchronous tile processing logic wrt. tile cache conversion. 2023-09-24 22:30:28 +02:00
Aiosa
f01a7a4b3c Cache Overhaul for OpenSeadragon (areas to discuss marked with FIXME). 2023-09-08 08:47:43 +02:00
Tom
386ca85db8 implement native webgl renderer, and many associated changes related to drawing pipeline and testing 2023-06-26 21:29:08 -04:00
Ian Gilman
b9cb52a184 Updated copyright to 2023 2023-05-25 14:52:20 -07:00
Aiosa
bb1755613e Merge branch 'master' of https://github.com/openseadragon/openseadragon into openseadragon-master
# Conflicts:
#	src/tiledimage.js
2022-06-28 14:11:02 +02:00
Jirka
d82fd35323 Fix comments on #2148: part 2. Better commens on the new TileSource API. Deprecation if 'tile-loaded' image event parameter. Unwrap ImageJob and add userData property. 2022-04-29 23:45:01 +02:00
Jirka
45a7a4aaf3 Fix comments on #2148: hasTransparency as a property. Move '.image' tile property to be a getter instead. Rename 'ImageJob' data property from 'image' to 'data'. Repair comments related to #2148. 2022-04-29 18:41:43 +02:00
Jirka
4f79f29238 Move cache creation, image downloading process and transparency deduction to the TileSource instance to allow custom data fetching, caching, processing. 2022-04-16 21:19:54 +02:00
Mark Salsbery
c4351f64e8 stricter linting 2020-06-25 16:01:14 -07:00
Sean Nichols
15fe35a589 Improve documentation and option/argument names 2017-05-05 15:37:33 -04:00
Sean Nichols
ddab768696 Add options for loading tiles via AJAX and custom AJAX request headers. 2017-05-05 15:37:33 -04:00
Antoine Vandecreme
a12b74ec17 Fix @lends for new JSDoc. Fix polymorphic functions doc (#824). 2016-01-24 16:09:18 -05:00
Antoine Vandecreme
5e653b4796 Fix assert in cacheTile. 2015-06-15 16:43:34 -04:00
Antoine Vandecreme
d671049a17 Fix and add unit tests. 2015-06-11 15:27:36 -04:00
Antoine Vandecreme
8a6177b729 Add tile-unloaded event. 2015-06-11 13:18:17 -04:00
Antoine Vandecreme
4c1d0f9a4c Fix Ian's comments. 2015-06-02 11:35:59 -04:00
Antoine Vandecreme
2538f2023c Move tile caching code inside tilecache.js. 2015-05-29 11:49:58 -04:00
Ian Gilman
78e44d487b TileCache tests 2014-11-20 11:51:24 -08:00
Ian Gilman
e52e2fef34 Improved docs 2014-11-05 14:48:37 -08:00
Ian Gilman
8641279890 Better tile caching for duplicate images 2014-11-05 13:48:27 -08:00
Ian Gilman
d346d165f8 Updated documentation 2014-11-04 11:53:39 -08:00