--- title: "Cubert video and temporal access" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Cubert video and temporal access} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} resource_files: - figures/logo.svg - figures/logo-dark.svg --- ```{r setup, include=FALSE} library(hypermodR) knitr::opts_chunk$set(collapse = TRUE, comment = "#>", error = FALSE) ``` The task is bounded framewise prediction from synthetic feature vectors. Recordings, and any connected subjects, must remain together in evaluation. Time is elapsed seconds, not frame number. This example preserves unequal intervals and makes no SDK, instrument-rate or learned temporal claim. ```{r stream} stream <- hm_stream(function(frame, timestamp) mean(frame), max_frames = 4L) out <- hm_stream_push(stream, list(c(1, 3), c(2, 4), c(4, 6)), timestamps = c(0, 0.1, 0.4), sequence_id = "recording_1" ) str(out) hm_stream_cancel(stream) ``` `hm_sequence()` constructs S4 `HMSequence` objects with explicit `frame_index`, linked observations and geometry. `hm_portable_sequence()` declares portable source interchange; cuvis.r conversion through `hm_as_dataset()` requires a supported source and explicit calibration provenance. `hm_read_block()` reads bounded acquisition/frame selections. Missing source times remain unavailable; streaming rejects missing, duplicate or reversed times. Gaps are not repaired. `hm_temporal_model()` declares framewise, timestamp_mean, temporal_cnn, lstm, gru, transformer and state_space package references. Python temporal references have separate causal/chunk/reset tests; the R callback above is framewise. Live Cubert/cuvis SDK scaling, enumeration, device calibration and source-rate qualification remain pending.