181 Commits

Author SHA1 Message Date
Oscar Lorentzon
bf5464017a feat: do not require cluster id to exist for node 2023-11-15 15:32:10 +01:00
Oscar Lorentzon
7fe4052ff9 feat: add option to use computed positions in graph
Make it possible to have consistency if data provider
return core images based on computed lng lat.
2023-11-15 10:52:46 +01:00
Oscar Lorentzon
a9948ec4d0 fix: check if node is complete before accessing prop
Nodes beloning to a tile may not have been
made complete before they are disposed.
2023-08-15 18:50:04 +02:00
Oscar Lorentzon
92f544dde5 feat: event api to delete cluster from graph
Handle deletion in graph.
Remove cluster from spatial on delete.
Unit tests.
2023-05-05 15:57:34 -07:00
Oscar Lorentzon
5f47015dc2 feat: prestore all nodes of tiles being uncached 2022-12-22 15:37:47 -05:00
Oscar Lorentzon
99f65410ee docs: fix links and event tags
Tag event types with event jsdoc tag.
Remove event tag from event interfaces
to enable full info in the docs.
2021-05-22 12:07:41 +02:00
Oscar Lorentzon
03b50a99b0 fix: render visible items on spatial activation
Replay all cells for all subscriptions.
Ensure that valid spatially visualized
cells are not uncached in graph.
Reset scene completely on deactivation.
2021-05-04 08:01:35 +02:00
Oscar Lorentzon
e1ebee79e9 fix: throw if node does not exist
Improve error logging by only logging
the errors relevant to specific streams
in graph service.
2021-04-23 22:12:39 +02:00
Oscar Lorentzon
0e08de7f85 refactor: rename latlon to lnglat 2021-03-29 10:35:45 +02:00
Oscar Lorentzon
5e3873ee9f refactor: rename node to image 2021-03-28 18:55:20 +02:00
Oscar Lorentzon
d318d4eaf8 refactor: remove redundant lat lon to cell ids provider method 2021-03-27 14:23:56 +01:00
Oscar Lorentzon
28ebd43d44 refactor: make sequence api singular 2021-03-25 09:20:27 +01:00
Oscar Lorentzon
e5ef19cf7f refactor: graphql style core images contract 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
5a62b7e9c7 refactor: graphql style images contract 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
930e5368d7 refactor: graphql style spatial images contract 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
ab0278182b refactor: graphql style sequence contract 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
214f3c6d7c refactor: rename creator and owner props 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
d5d7ff6964 refactor: provider method names correspond to contracts 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
c40d25ab00 refactor: rename key to id 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
6c37c600f6 refactor: clarify ent structure and node names 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
297d8ebffd refactor: rename interfaces for clarity 2021-03-22 11:56:49 +01:00
Oscar Lorentzon
dd2fc56539 refactor: replace pano with spherical 2021-03-16 08:19:29 +01:00
Oscar Lorentzon
b562a0b06c chore: build with rollup
Migrate to Rollup.
Emit umd, minified umd, module, type declarations
and source maps.
Work around problems with Falcor by using
virtual module.

Migrate to Jest.
Run tests in with CommonJS modules becasue ES6
is not supported.
Work around dependency problems by bootstrap
to ensure they are not loaded during test.

Remove all unused dependencies.

Create state transition matrix to avoid
circular dependencies.

chore: tsc and rollup watch build
chore: incremental watch build
Remove unused dependencies.
chore: use existing type packages
chore: mock favicon
chore: improve watch build
chore: fix styles build
chore: specific commonjs build for tests
chore: reset spec files
refactor: explicit state transition matrix
chore: make src commands work
chore: working unit tests and lib
chore: add serve docs script
chore: remove unused bundle config
chore: refactor rollup config to avoid duplication
fix: falcor imports
fix: transition from source to target

Fixes #87
Fixes #100
Fixes #159
Fixes #208
2021-03-15 11:23:22 +01:00
Oscar Lorentzon
4981d2f006 feat(spatial): apply filter on cluster points 2021-03-09 08:18:30 +01:00
Oscar Lorentzon
fb0af17176 test: unit test graph update logic 2021-03-09 08:08:36 +01:00
Oscar Lorentzon
ee7ea17061 feat: add additional data to data provider 2021-03-09 08:08:36 +01:00
Oscar Lorentzon
cc350f41d6 refactor: remove proivder interfaces
Use abstract base classes everywhere.
2021-03-09 08:08:36 +01:00
Oscar Lorentzon
ae11785fe1 refactor(api): rename api wrapper for clarity 2021-02-24 08:53:07 +01:00
Oscar Lorentzon
035be97a23 refactor: use direct imports everywhere
Use direct imports everywhere for uniformity
and clarity.
Bootstrap component service in bundle.
2021-02-24 08:53:07 +01:00
Oscar Lorentzon
1d4c7c48ee feat(spatial): apply graph filter on spatial cameras
Filter spatial cameras based on graph filter function.
Emit filter function from graph service.
Use threejs layer for interactive object filtering.
2021-01-20 08:10:17 +01:00
Oscar Lorentzon
d093883c11 refactor(api): support single cell fetch only
Require API user to parallelize the cell fetching.
2020-11-04 17:44:56 +01:00
Oscar Lorentzon
7731ce46ce refactor: rename data provider property 2020-10-16 11:07:28 +02:00
Oscar Lorentzon
4ddede39c4 refactor(api): geometry provider api
Make tile abstraction layer to enable different
implementations.
2020-10-15 14:04:42 +02:00
Oscar Lorentzon
2b4617bd7a feat(api): get static resources through data provider
Use data provider in node caching.
2020-10-05 18:07:55 +02:00
Oscar Lorentzon
0469c966ab refactor(api): replace api v3 with data provider solution 2020-09-22 15:42:28 +02:00
Oscar Lorentzon
a4972660c0 chore: update rbush
Handle class export by creating types file.
2020-06-08 13:46:49 +02:00
Oscar Lorentzon
1969bd83bc refactor: use pipe operators
Use pipe operators everywhere.
Fix errors becasue of piping more than nine operations.
2018-06-13 12:03:40 +00:00
Oscar Lorentzon
c38f4e7c4f chore: remove typings dependency
Add types folder as type root.
Declare modules in type def files to be able to compile.
2018-06-11 06:16:58 +00:00
Oscar Lorentzon
e3250d8162 refactor: import rxjs operators in a single place 2018-04-17 12:50:59 +00:00
Oscar Lorentzon
2a42296372 fix: simplify batching
Create just one smaller batch around reference for simplified
logic.
Adjust unit tests.
Catch and log errors when caching sequence nodes to ensure
kept alive subscriptions.
2018-02-20 11:51:48 +01:00
Oscar Lorentzon
f3f2e26029 feat(graph): add cache bounding box method
Add method for caching full nodes (not node assets) to graph.)
Cache tiles covering bounding box and then fill nodes inside
it.
Reuse cache tile logic to avoid making multiple calls for same
tile for different API methods.
Unit test.
2018-02-20 11:51:48 +01:00
Oscar Lorentzon
38169b5125 refactor: request non nested sequence_key property
Request non nested sequence_key property for performance reasons.
Handle non exisiting sequences by returning empty sequence as
fallback in API.
Add tests for fallback logic.
2018-02-20 11:51:48 +01:00
Oscar Lorentzon
739eea9237 test: graph service modes
Test that graph mode is set correctly, spatial subscriptions
are reset when setting mode to sequence and that spatial
edges are not cached when in sequence mode.
Add docs to set graph mode method.
2017-12-01 07:58:41 +00:00
Oscar Lorentzon
feb1f95b06 test: sequence node batch caching
Ensure that no nodes are requested twice and that correct
batches are created around reference node.
Fix batching logic.
Ensure that sequence keys property is not affected.
2017-12-01 07:02:28 +00:00
Oscar Lorentzon
ece797eb07 feat: prioritize caching around reference node
Avoid long blocking calls requesting data for 200 keys at a time
by requesting smaller batches around reference node.
This ensures that requesting a single key, which is
done by the append node subscription is not
blocked by the internal falcor handling.
Use current node as reference when caching sequence nodes
in play service.
2017-11-30 13:03:07 +00:00
Oscar Lorentzon
8dec6ea143 feat: make max pre-stored count configurable
Separete pre-stored value from unused nodes value.
2017-11-23 14:35:58 +00:00
Oscar Lorentzon
1fbfd963f6 test: sequence should be kept according to key
Ensure that sequence or sequence nodes are not uncached
if sequence key is specified.
2017-11-23 12:28:53 +00:00
Oscar Lorentzon
2b681c4c10 feat: do not dispose nodes in sequence to keep
Uncache node and put in prestore if tile is uncached.
2017-11-23 12:25:34 +00:00
Oscar Lorentzon
14e2dcedfb feat: uncache prestored nodes
Dispose all prestored nodes that are not cache initialized.
If node is a cached sequence node, remove the
indicator from dict.
Keep max unused nodes in prestore to avoid uncaching
potentially used nodes.
2017-11-22 14:27:43 +00:00
Oscar Lorentzon
37426120ab test: graph cache sequence nodes
Test that graph caches sequence nodes correctly
and throw errors in correct circumstances.
2017-11-21 12:52:59 +00:00