Interpolation mode required for views.
Cinema views should restore their params from window hash.
When changing cinema parameters, if data is not loaded yet it should not go to interpolation with old data.
When stepping over cinema line boundary, there should be no jumps if data not loaded yet for new line.
Vrml surface should have flat shading by default, required for Dubins car visualization (ehh).
It should be able to turn it off, in case if data is not appropriate for interpolation.
Navigation in scene is sometimes not usable thanks to default behaviour of orbitcontrol. =>
Intersect current camera ray with visual objects in scene and focus rotation on nearest point of intersection.
If data is reloaded, sometimes current parameter values in gui goes out of range. This situation should be tracked and current gui param value should go into new range.
We had such feature with TextLoader, and have to port it to current version too. DONE - at viewlang level.
We should be able to reload data.csv with easy. Branch: do it automatically by some sort of signal.
When refreshing in R-REFRESH, if we were in some sense "last" position of some parameter (maybe primary/first) then refreshing should switch to next (newer, maybe last) paremeter value, if one is determined after refresh process.
We should clear file cache when refreshing data.csv in R-REFRESH. E.g. files loaded again with same name should be at least fetched again (maybe with 304 reponse). This is because these files actually might change too, and because we cache parsed objects from them in utils.js in memory, we need to consider all this.
Allow to specify multiple inputs for visual object. E.g data.csv:
FILE_points_a
alfa.csv
beta.csv
in that case both alfa.csv and beta.csv should be shown. Same if some parameter corresponds to multiple values. This will allow to generate complex scenes of objects of same nature, for example chess game.
Provide a cinema artefact, e.g. cinema db referring to cinema db in artifact column.
There is a need to show obj file rotated by 90. Or at least gltf.
There is a need to position and rotate gltf file.
To solve R-ROTATE-OBJS and R-POSITION-GLTF, provide a way to setup params for artifacts. E.g. FILE_points_a->rotatex, and this corresponds to setting some parameter (attitribute) of visual objects.
If parameter is specified after artefact, it should be dropped. This is according to CinemaScience spec. First parameters list, then artefacts list.
If loading cinema from cinema, clone parameters to upper cinema. So they all are joined. Same for "interpolation" mode.
During combine of columns of source file of visual object, if some required column is absent, consider it as columns of zeroes.
If during combine value is absent, consider it zero.
if blank path specified, that means no data should be displayed in artifact.
index.html should use local viewzavr, not internet-based.
Save preview images to Cinema scenes and show them in explore screen.
Allow to specify dir other than current directory in command line.
Allow following: npx vr-cinema url-to-remote-dir which means visualize remote dir. If url ends with data.csv, consider dir of that file (and probably load data.csv as specified in command line).
If vr-cinema is runned with -d key, this is dir mode. If vr-cinema is runned with -u key, this is remote url mode. If vr-cinema is runned just with arg, auto-guess what is it.
If running in local mode (client is 127.0.0.1), allow to open folders by starting explorer/nautilus. Also, maybe, allow to open it in browser in index mode.
-
prefetch ongoing views data files? (generate html prefetch tags for all artefacts?) https://3perf.com/blog/link-rels/ or maybe just for ongoing artefacts during animation or just load next artefact.. https://blog.bitsrc.io/faster-page-loads-by-prefetching-links-during-idle-time-5abe42dacf9 see linkPrefetchStrategy (or preload?)
-
somehow do that loaders used in vr-cinema will be available in other viewzavr programs?
Probably good idea - a button to show current data csv. For learning and control purposes.
Together with viewzavr-player.json, save thumb files.
Maybe, keep a history of viewzavr-player.json. Maybe in separate files, or maybe in 1 big file (including thumbs?)
npx vr-cinema https://viewzavr.com/apps/vr-cinema-samples/wafe-fronts-2/ [data.csv] - open scene of that url. thus we may define not only dirs, but urls. But in that case -d arg is not usable.... npx vr-cinema --url https://viewzavr.com/apps/vr-cinema-samples/wafe-fronts-2/ Need to solve: --url arg, or [auto-guess].