SYMBOL INDEX (13836 symbols across 662 files) FILE: .claude/helpers/auto-memory-hook.mjs constant PROJECT_ROOT (line 20) | const PROJECT_ROOT = join(__dirname, '../..'); constant DATA_DIR (line 21) | const DATA_DIR = join(PROJECT_ROOT, '.claude-flow', 'data'); constant STORE_PATH (line 22) | const STORE_PATH = join(DATA_DIR, 'auto-memory-store.json'); constant GREEN (line 25) | const GREEN = '\x1b[0;32m'; constant CYAN (line 26) | const CYAN = '\x1b[0;36m'; constant DIM (line 27) | const DIM = '\x1b[2m'; constant RESET (line 28) | const RESET = '\x1b[0m'; class JsonFileBackend (line 41) | class JsonFileBackend { method constructor (line 42) | constructor(filePath) { method initialize (line 47) | async initialize() { method shutdown (line 58) | async shutdown() { this._persist(); } method store (line 59) | async store(entry) { this.entries.set(entry.id, entry); this._persist(... method get (line 60) | async get(id) { return this.entries.get(id) ?? null; } method getByKey (line 61) | async getByKey(key, ns) { method update (line 67) | async update(id, updates) { method delete (line 77) | async delete(id) { return this.entries.delete(id); } method query (line 78) | async query(opts) { method search (line 85) | async search() { return []; } method bulkInsert (line 86) | async bulkInsert(entries) { for (const e of entries) this.entries.set(... method bulkDelete (line 87) | async bulkDelete(ids) { let n = 0; for (const id of ids) { if (this.en... method count (line 88) | async count() { return this.entries.size; } method listNamespaces (line 89) | async listNamespaces() { method clearNamespace (line 94) | async clearNamespace(ns) { method getStats (line 102) | async getStats() { method healthCheck (line 110) | async healthCheck() { method _persist (line 122) | _persist() { function loadMemoryPackage (line 133) | async function loadMemoryPackage() { function readConfig (line 162) | function readConfig() { function doImport (line 199) | async function doImport() { function doSync (line 252) | async function doSync() { function doStatus (line 311) | async function doStatus() { FILE: .claude/helpers/hook-handler.cjs function safeRequire (line 24) | function safeRequire(modulePath) { FILE: .claude/helpers/intelligence.cjs constant DATA_DIR (line 20) | const DATA_DIR = path.join(process.cwd(), '.claude-flow', 'data'); constant STORE_PATH (line 21) | const STORE_PATH = path.join(DATA_DIR, 'auto-memory-store.json'); constant GRAPH_PATH (line 22) | const GRAPH_PATH = path.join(DATA_DIR, 'graph-state.json'); constant RANKED_PATH (line 23) | const RANKED_PATH = path.join(DATA_DIR, 'ranked-context.json'); constant PENDING_PATH (line 24) | const PENDING_PATH = path.join(DATA_DIR, 'pending-insights.jsonl'); constant SESSION_DIR (line 25) | const SESSION_DIR = path.join(process.cwd(), '.claude-flow', 'sessions'); constant SESSION_FILE (line 26) | const SESSION_FILE = path.join(SESSION_DIR, 'current.json'); constant STOP_WORDS (line 30) | const STOP_WORDS = new Set([ function ensureDataDir (line 44) | function ensureDataDir() { function readJSON (line 48) | function readJSON(filePath) { function writeJSON (line 55) | function writeJSON(filePath, data) { function tokenize (line 60) | function tokenize(text) { function trigrams (line 68) | function trigrams(words) { function jaccardSimilarity (line 76) | function jaccardSimilarity(setA, setB) { function sessionGet (line 85) | function sessionGet(key) { function sessionSet (line 93) | function sessionSet(key, value) { function computePageRank (line 109) | function computePageRank(nodes, edges, damping, maxIter) { function buildEdges (line 161) | function buildEdges(entries) { function bootstrapFromMemoryFiles (line 222) | function bootstrapFromMemoryFiles() { function parseMemoryDir (line 258) | function parseMemoryDir(dir, entries) { function init (line 309) | function init() { function getContext (line 411) | function getContext(prompt) { function recordEdit (line 472) | function recordEdit(file) { function feedback (line 487) | function feedback(success) { function boostConfidence (line 495) | function boostConfidence(ids, amount) { function consolidate (line 527) | function consolidate() { constant SNAPSHOT_PATH (line 669) | const SNAPSHOT_PATH = path.join(DATA_DIR, 'intelligence-snapshot.json'); function saveSnapshot (line 671) | function saveSnapshot(graph, ranked) { function stats (line 713) | function stats(outputJson) { FILE: .claude/helpers/learning-service.mjs constant PROJECT_ROOT (line 29) | const PROJECT_ROOT = join(__dirname, '../..'); constant DATA_DIR (line 30) | const DATA_DIR = join(PROJECT_ROOT, '.claude-flow/learning'); constant DB_PATH (line 31) | const DB_PATH = join(DATA_DIR, 'patterns.db'); constant METRICS_PATH (line 32) | const METRICS_PATH = join(DATA_DIR, 'learning-metrics.json'); constant CONFIG (line 43) | const CONFIG = { function initializeDatabase (line 81) | function initializeDatabase(db) { class HNSWIndex (line 171) | class HNSWIndex { method constructor (line 172) | constructor(config) { method add (line 187) | add(patternId, embedding) { method search (line 204) | search(queryEmbedding, k = 5) { method remove (line 232) | remove(patternId) { method size (line 245) | size() { method _cosineSimilarity (line 250) | _cosineSimilarity(a, b) { method _cosineDistance (line 262) | _cosineDistance(a, b) { method _insertIntoGraph (line 267) | _insertIntoGraph(vectorId, vector) { method _searchGraph (line 296) | _searchGraph(query, k) { method _findNearest (line 363) | _findNearest(query, k) { method _pruneConnections (line 374) | _pruneConnections(vectorId) { method _removeFromGraph (line 396) | _removeFromGraph(vectorId) { method serialize (line 414) | serialize() { method deserialize (line 428) | static deserialize(data, config) { class EmbeddingService (line 450) | class EmbeddingService { method constructor (line 451) | constructor(config) { method initialize (line 459) | async initialize() { method embed (line 491) | async embed(text) { method embedBatch (line 524) | async embedBatch(texts) { method _fallbackEmbed (line 537) | _fallbackEmbed(text) { class LearningService (line 570) | class LearningService { method constructor (line 571) | constructor() { method initialize (line 587) | async initialize(sessionId = null) { method storePattern (line 621) | async storePattern(strategy, domain = 'general', metadata = {}) { method searchPatterns (line 665) | async searchPatterns(query, k = 5, includeShortTerm = true) { method recordPatternUsage (line 717) | recordPatternUsage(patternId, success = true) { method _checkPromotion (line 733) | _checkPromotion(patternId) { method _updatePatternUsage (line 785) | _updatePatternUsage(patternId, table, success = true) { method consolidate (line 801) | async consolidate() { method exportSession (line 861) | async exportSession() { method getStats (line 881) | getStats() { method _loadIndexes (line 907) | async _loadIndexes() { method _pruneShortTerm (line 930) | _pruneShortTerm() { method _getState (line 950) | _getState(key) { method _setState (line 955) | _setState(key, value) { method _cosineSimilarity (line 963) | _cosineSimilarity(a, b) { method close (line 975) | close() { method _bufferToFloat32Array (line 984) | _bufferToFloat32Array(buffer) { function main (line 1012) | async function main() { FILE: .claude/helpers/memory.js constant MEMORY_DIR (line 10) | const MEMORY_DIR = path.join(process.cwd(), '.claude-flow', 'data'); constant MEMORY_FILE (line 11) | const MEMORY_FILE = path.join(MEMORY_DIR, 'memory.json'); function loadMemory (line 13) | function loadMemory() { function saveMemory (line 24) | function saveMemory(memory) { FILE: .claude/helpers/metrics-db.mjs constant PROJECT_ROOT (line 15) | const PROJECT_ROOT = join(__dirname, '../..'); constant V3_DIR (line 16) | const V3_DIR = join(PROJECT_ROOT, 'v3'); constant DB_PATH (line 17) | const DB_PATH = join(PROJECT_ROOT, '.claude-flow', 'metrics.db'); constant SQL (line 25) | let SQL; function initDatabase (line 31) | async function initDatabase() { function persist (line 138) | function persist() { function countFilesAndLines (line 147) | function countFilesAndLines(dir, ext = '.ts') { constant UTILITY_PACKAGES (line 192) | const UTILITY_PACKAGES = new Set([ function calculateModuleProgress (line 197) | function calculateModuleProgress(moduleDir) { function checkSecurityFile (line 223) | function checkSecurityFile(filename, minLines = 100) { function countProcesses (line 251) | function countProcesses() { function syncMetrics (line 272) | async function syncMetrics() { function getMetricsJSON (line 389) | function getMetricsJSON() { function exportToJSON (line 414) | function exportToJSON() { function main (line 471) | async function main() { FILE: .claude/helpers/router.js constant AGENT_CAPABILITIES (line 7) | const AGENT_CAPABILITIES = { constant TASK_PATTERNS (line 18) | const TASK_PATTERNS = { function routeTask (line 32) | function routeTask(task) { FILE: .claude/helpers/session.js constant SESSION_DIR (line 10) | const SESSION_DIR = path.join(process.cwd(), '.claude-flow', 'sessions'); constant SESSION_FILE (line 11) | const SESSION_FILE = path.join(SESSION_DIR, 'current.json'); FILE: .claude/helpers/statusline.cjs constant CONFIG (line 23) | const CONFIG = { constant CWD (line 27) | const CWD = process.cwd(); function safeExec (line 51) | function safeExec(cmd, timeoutMs = 2000) { function readJSON (line 82) | function readJSON(filePath) { function safeStat (line 92) | function safeStat(filePath) { function getSettings (line 101) | function getSettings() { function getGitInfo (line 112) | function getGitInfo() { function getModelName (line 158) | function getModelName() { function getLearningStats (line 198) | function getLearningStats() { function getV3Progress (line 232) | function getV3Progress() { function getSecurityStatus (line 257) | function getSecurityStatus() { function getSwarmStatus (line 284) | function getSwarmStatus() { function getSystemMetrics (line 307) | function getSystemMetrics() { function getADRStatus (line 355) | function getADRStatus() { function getHooksStatus (line 388) | function getHooksStatus() { function getAgentDBStats (line 412) | function getAgentDBStats() { function getTestStats (line 474) | function getTestStats() { function getIntegrationStatus (line 506) | function getIntegrationStatus() { function getSessionStats (line 536) | function getSessionStats() { function progressBar (line 552) | function progressBar(current, total) { function generateStatusline (line 558) | function generateStatusline() { function generateJSON (line 684) | function generateJSON() { function getStdinData (line 708) | function getStdinData() { function getModelFromStdin (line 735) | function getModelFromStdin() { function getContextFromStdin (line 742) | function getContextFromStdin() { function getCostFromStdin (line 754) | function getCostFromStdin() { FILE: .claude/helpers/statusline.js constant CONFIG (line 14) | const CONFIG = { function getUserInfo (line 47) | function getUserInfo() { function getLearningStats (line 63) | function getLearningStats() { function getV3Progress (line 107) | function getV3Progress() { function getSecurityStatus (line 133) | function getSecurityStatus() { function getSwarmStatus (line 170) | function getSwarmStatus() { function getSystemMetrics (line 190) | function getSystemMetrics() { function progressBar (line 228) | function progressBar(current, total) { function generateStatusline (line 236) | function generateStatusline() { function generateJSON (line 293) | function generateJSON() { FILE: examples/environment/room_monitor.py function light_category (line 36) | def light_category(lux): function main (line 45) | def main(): FILE: examples/happiness-vector/seed_query.py function api (line 24) | def api(base, path, token=None, method="GET", data=None): function print_header (line 41) | def print_header(title): function cmd_status (line 47) | def cmd_status(args): function cmd_search (line 70) | def cmd_search(args): function cmd_witness (line 109) | def cmd_witness(args): function cmd_monitor (line 127) | def cmd_monitor(args): function cmd_happiness_report (line 165) | def cmd_happiness_report(args): function main (line 212) | def main(): FILE: examples/medical/bp_estimator.py class BPEstimator (line 62) | class BPEstimator: method __init__ (line 91) | def __init__(self, window_sec=60, cal_sys=None, cal_dia=None, cal_hr=N... method add_hr (line 109) | def add_hr(self, hr_bpm: float) -> None: method _get_recent (line 116) | def _get_recent(self, window_sec: float): method _compute_sdnn (line 126) | def _compute_sdnn(self, hrs: list) -> float: method _compute_lf_hf_ratio (line 147) | def _compute_lf_hf_ratio(self, hrs: list) -> float: method estimate (line 186) | def estimate(self) -> dict: function bp_category (line 249) | def bp_category(sys: int, dia: int) -> str: function main (line 266) | def main(): FILE: examples/medical/vitals_suite.py class WelfordStats (line 42) | class WelfordStats: method __init__ (line 43) | def __init__(self): method update (line 48) | def update(self, v): method std (line 54) | def std(self): method cv (line 57) | def cv(self): class VitalsSuite (line 61) | class VitalsSuite: method __init__ (line 62) | def __init__(self): method feed (line 101) | def feed(self, hr=0.0, br=0.0, presence=False, distance=0.0): method _classify_sleep (line 158) | def _classify_sleep(self): method _compute_meditation (line 199) | def _compute_meditation(self): method activity_state (line 230) | def activity_state(self): method hrv (line 244) | def hrv(self): method bp (line 258) | def bp(self): method stress (line 271) | def stress(self): function main (line 282) | def main(): FILE: examples/ruview_live.py class WelfordStats (line 52) | class WelfordStats: method __init__ (line 55) | def __init__(self): method update (line 60) | def update(self, value): method variance (line 67) | def variance(self): method std (line 70) | def std(self): method z_score (line 73) | def z_score(self, value): class VitalAnomalyDetector (line 78) | class VitalAnomalyDetector: method __init__ (line 81) | def __init__(self, z_threshold=2.5): method check (line 88) | def check(self, hr=0.0, br=0.0): class LongitudinalTracker (line 116) | class LongitudinalTracker: method __init__ (line 119) | def __init__(self, drift_sigma=2.0, min_observations=10): method observe (line 124) | def observe(self, metric_name, value): method check_drift (line 129) | def check_drift(self, metric_name, value): method summary (line 141) | def summary(self): class CoherenceScorer (line 148) | class CoherenceScorer: method __init__ (line 151) | def __init__(self, decay=0.95): method update (line 157) | def update(self, signal_quality): method is_coherent (line 166) | def is_coherent(self): method age_ms (line 169) | def age_ms(self): class HRVAnalyzer (line 173) | class HRVAnalyzer: method __init__ (line 176) | def __init__(self, window=60): method add_hr (line 179) | def add_hr(self, hr): method compute (line 183) | def compute(self): class BPEstimator (line 210) | class BPEstimator: method __init__ (line 213) | def __init__(self, cal_sys=None, cal_dia=None, cal_hr=None): method estimate (line 221) | def estimate(self, hr, sdnn, lf_hf=1.5): class HappinessScorer (line 230) | class HappinessScorer: method __init__ (line 233) | def __init__(self): method update (line 245) | def update(self, motion_energy, br, hr, rssi): method compute (line 283) | def compute(self): class SeedBridge (line 324) | class SeedBridge: method __init__ (line 327) | def __init__(self, base_url): method ingest (line 332) | def ingest(self, vector, metadata=None): method get_drift (line 350) | def get_drift(self): method last_drift (line 366) | def last_drift(self): class SensorHub (line 375) | class SensorHub: method __init__ (line 376) | def __init__(self, seed_url=None): method update_mw (line 406) | def update_mw(self, **kw): method update_csi (line 425) | def update_csi(self, **kw): method add_event (line 442) | def add_event(self, msg): method compute (line 446) | def compute(self): function reader_mmwave (line 532) | def reader_mmwave(port, baud, hub, stop): function reader_csi (line 568) | def reader_csi(port, baud, hub, stop): function _happiness_bar (line 601) | def _happiness_bar(value, width=10): function run_display (line 607) | def run_display(hub, duration, interval, mode="vitals"): function main (line 742) | def main(): FILE: examples/sleep/apnea_screener.py function main (line 30) | def main(): FILE: examples/stress/hrv_stress_monitor.py function compute_hrv (line 30) | def compute_hrv(hr_values): function stress_bar (line 62) | def stress_bar(sdnn, width=30): function main (line 70) | def main(): FILE: firmware/esp32-csi-node/main/csi_collector.c function csi_serialize_frame (line 87) | size_t csi_serialize_frame(const wifi_csi_info_t *info, uint8_t *buf, si... function wifi_csi_callback (line 155) | static void wifi_csi_callback(void *ctx, wifi_csi_info_t *info) function wifi_promiscuous_cb (line 209) | static void wifi_promiscuous_cb(void *buf, wifi_promiscuous_pkt_type_t t... function csi_collector_init (line 216) | void csi_collector_init(void) function csi_collector_set_hop_table (line 281) | void csi_collector_set_hop_table(const uint8_t *channels, uint8_t hop_co... function csi_hop_next_channel (line 310) | void csi_hop_next_channel(void) function hop_timer_cb (line 339) | static void hop_timer_cb(void *arg) function csi_collector_start_hop_timer (line 345) | void csi_collector_start_hop_timer(void) function esp_err_t (line 384) | esp_err_t csi_inject_ndp_frame(void) FILE: firmware/esp32-csi-node/main/display_hal.c function esp_err_t (line 71) | static esp_err_t i2c_write_reg(uint8_t dev_addr, uint8_t reg, const uint... function esp_err_t (line 86) | static esp_err_t i2c_read_reg(uint8_t dev_addr, uint8_t reg, uint8_t *da... function esp_err_t (line 101) | static esp_err_t init_i2c_bus(void) function esp_err_t (line 127) | static esp_err_t tca9554_init_display_power(void) function esp_err_t (line 153) | static esp_err_t panel_write_cmd(uint8_t dcs_cmd, const void *data, size... function esp_err_t (line 160) | static esp_err_t panel_write_color(const void *color_data, size_t data_len) type sh8601_init_cmd_t (line 169) | typedef struct { function esp_err_t (line 189) | static esp_err_t send_init_sequence(void) function esp_err_t (line 210) | esp_err_t display_hal_init_panel(void) function display_hal_draw (line 300) | void display_hal_draw(int x_start, int y_start, int x_end, int y_end, function esp_err_t (line 329) | esp_err_t display_hal_init_touch(void) function display_hal_touch_read (line 358) | bool display_hal_touch_read(uint16_t *x, uint16_t *y) function display_hal_set_brightness (line 374) | void display_hal_set_brightness(uint8_t percent) FILE: firmware/esp32-csi-node/main/display_task.c function lvgl_flush_cb (line 43) | static void lvgl_flush_cb(lv_disp_drv_t *drv, const lv_area_t *area, lv_... function lvgl_touch_cb (line 50) | static void lvgl_touch_cb(lv_indev_drv_t *drv, lv_indev_data_t *data) function display_task (line 63) | static void display_task(void *arg) function esp_err_t (line 82) | esp_err_t display_task_start(void) function esp_err_t (line 164) | esp_err_t display_task_start(void) FILE: firmware/esp32-csi-node/main/display_ui.c function init_styles (line 78) | static void init_styles(void) function lv_obj_t (line 98) | static lv_obj_t *make_label(lv_obj_t *parent, const char *text, const lv... function lv_obj_t (line 106) | static lv_obj_t *make_tile(lv_obj_t *tv, uint8_t col, uint8_t row) function create_dashboard (line 114) | static void create_dashboard(lv_obj_t *tile) function create_vitals (line 150) | static void create_vitals(lv_obj_t *tile) function create_presence (line 180) | static void create_presence(lv_obj_t *tile) function create_system (line 208) | static void create_system(lv_obj_t *tile) function display_ui_create (line 233) | void display_ui_create(lv_obj_t *parent) function display_ui_update (line 259) | void display_ui_update(void) FILE: firmware/esp32-csi-node/main/edge_processing.c function ring_push (line 52) | static inline bool ring_push(const uint8_t *iq, uint16_t len, function ring_pop (line 75) | static inline bool ring_pop(edge_ring_slot_t *out) function biquad_bandpass_design (line 100) | static void biquad_bandpass_design(edge_biquad_t *bq, float fs, function biquad_process (line 118) | static inline float biquad_process(edge_biquad_t *bq, float x) function extract_phase (line 134) | static inline float extract_phase(const uint8_t *iq, uint16_t idx) function unwrap_phase (line 142) | static inline float unwrap_phase(float prev, float curr) function welford_reset (line 154) | static inline void welford_reset(edge_welford_t *w) function welford_update (line 161) | static inline void welford_update(edge_welford_t *w, double x) function welford_variance (line 170) | static inline double welford_variance(const edge_welford_t *w) function estimate_bpm_zero_crossing (line 187) | static float estimate_bpm_zero_crossing(const float *history, uint16_t len, function update_top_k (line 301) | static void update_top_k(uint16_t n_subcarriers) function calibration_update (line 336) | static void calibration_update(float motion) function delta_compress (line 376) | static uint16_t delta_compress(const uint8_t *curr, uint16_t len, function send_compressed_frame (line 426) | static void send_compressed_frame(const uint8_t *iq_data, uint16_t iq_len, function update_multi_person_vitals (line 474) | static void update_multi_person_vitals(const uint8_t *iq_data, uint16_t ... function send_vitals_packet (line 554) | static void send_vitals_packet(void) function send_feature_vector (line 644) | static void send_feature_vector(void) function process_frame (line 708) | static void process_frame(const edge_ring_slot_t *slot) function edge_task (line 899) | static void edge_task(void *arg) function edge_enqueue_csi (line 940) | bool edge_enqueue_csi(const uint8_t *iq_data, uint16_t iq_len, function edge_get_vitals (line 946) | bool edge_get_vitals(edge_vitals_pkt_t *pkt) function edge_get_multi_person (line 953) | void edge_get_multi_person(edge_person_vitals_t *persons, uint8_t *n_act... function edge_get_phase_history (line 963) | void edge_get_phase_history(const float **out_buf, uint16_t *out_len, function edge_get_variances (line 971) | void edge_get_variances(float *out_variances, uint16_t n_subcarriers) function esp_err_t (line 980) | esp_err_t edge_processing_init(const edge_config_t *cfg) FILE: firmware/esp32-csi-node/main/edge_processing.h type edge_ring_slot_t (line 53) | typedef struct { type edge_ring_buf_t (line 62) | typedef struct { type edge_biquad_t (line 69) | typedef struct { type edge_welford_t (line 77) | typedef struct { type edge_person_vitals_t (line 84) | typedef struct { type edge_vitals_pkt_t (line 95) | typedef struct __attribute__((packed)) { type edge_feature_pkt_t (line 115) | typedef struct __attribute__((packed)) { type edge_fused_vitals_pkt_t (line 129) | typedef struct __attribute__((packed)) { type edge_config_t (line 156) | typedef struct { FILE: firmware/esp32-csi-node/main/main.c function event_handler (line 55) | static void event_handler(void *arg, esp_event_base_t event_base, function wifi_init_sta (line 76) | static void wifi_init_sta(void) function app_main (line 127) | void app_main(void) FILE: firmware/esp32-csi-node/main/mmwave_sensor.c function mr60_calc_checksum (line 77) | static uint8_t mr60_calc_checksum(const uint8_t *data, uint16_t len) type mr60_parse_state_t (line 86) | typedef enum { type mr60_parser_t (line 93) | typedef struct { function mr60_process_frame (line 105) | static void mr60_process_frame(uint16_t type, const uint8_t *data, uint1... function mr60_feed_byte (line 156) | static void mr60_feed_byte(uint8_t b) type ld2410_parse_state_t (line 222) | typedef enum { type ld2410_parser_t (line 229) | typedef struct { function ld2410_process_frame (line 238) | static void ld2410_process_frame(const uint8_t *data, uint16_t len) function ld2410_feed_byte (line 274) | static void ld2410_feed_byte(uint8_t b) function mock_mmwave_task (line 316) | static void mock_mmwave_task(void *arg) function mmwave_type_t (line 373) | static mmwave_type_t probe_at_baud(uint32_t baud) function mmwave_type_t (line 416) | static mmwave_type_t probe_sensor(void) function mmwave_uart_task (line 427) | static void mmwave_uart_task(void *arg) function esp_err_t (line 473) | esp_err_t mmwave_sensor_init(int uart_tx_pin, int uart_rx_pin) function mmwave_sensor_get_state (line 566) | bool mmwave_sensor_get_state(mmwave_state_t *state) FILE: firmware/esp32-csi-node/main/mmwave_sensor.h type mmwave_type_t (line 21) | typedef enum { type mmwave_state_t (line 37) | typedef struct { FILE: firmware/esp32-csi-node/main/mock_csi.c function lfsr_next (line 110) | static uint32_t lfsr_next(void) function lfsr_float (line 123) | static float lfsr_float(void) function channel_to_freq_mhz (line 146) | static uint32_t channel_to_freq_mhz(uint8_t channel) function channel_to_lambda (line 160) | static float channel_to_lambda(uint8_t channel) function scenario_elapsed_ms (line 168) | static int64_t scenario_elapsed_ms(void) function clamp_i8 (line 176) | static int8_t clamp_i8(int32_t val) function generate_person_iq (line 194) | static void generate_person_iq(uint8_t *iq_buf, float person_x, function gen_empty (line 234) | static void gen_empty(uint8_t *iq_buf, uint8_t *channel, int8_t *rssi) function gen_static_person (line 245) | static void gen_static_person(uint8_t *iq_buf, uint8_t *channel, int8_t ... function gen_walking (line 262) | static void gen_walking(uint8_t *iq_buf, uint8_t *channel, int8_t *rssi) function gen_fall (line 286) | static void gen_fall(uint8_t *iq_buf, uint8_t *channel, int8_t *rssi) function gen_multi_person (line 336) | static void gen_multi_person(uint8_t *iq_buf, uint8_t *channel, int8_t *... function gen_channel_sweep (line 385) | static void gen_channel_sweep(uint8_t *iq_buf, uint8_t *channel, int8_t ... function gen_mac_filter (line 410) | static void gen_mac_filter(uint8_t *iq_buf, uint8_t *channel, int8_t *rssi, function gen_ring_overflow (line 442) | static void gen_ring_overflow(uint8_t *iq_buf, uint8_t *channel, int8_t ... function gen_boundary_rssi (line 462) | static void gen_boundary_rssi(uint8_t *iq_buf, uint8_t *channel, int8_t ... function advance_scenario (line 491) | static void advance_scenario(void) function mock_timer_cb (line 518) | static void mock_timer_cb(void *arg) function esp_err_t (line 616) | esp_err_t mock_csi_init(uint8_t scenario) function mock_csi_stop (line 677) | void mock_csi_stop(void) function mock_csi_get_frame_count (line 691) | uint32_t mock_csi_get_frame_count(void) FILE: firmware/esp32-csi-node/main/mock_csi.h type mock_scenario_t (line 44) | typedef enum { type mock_state_t (line 63) | typedef struct { FILE: firmware/esp32-csi-node/main/nvs_config.c function nvs_config_load (line 19) | void nvs_config_load(nvs_config_t *cfg) FILE: firmware/esp32-csi-node/main/nvs_config.h type nvs_config_t (line 25) | typedef struct { FILE: firmware/esp32-csi-node/main/ota_update.c function ota_check_auth (line 44) | static bool ota_check_auth(httpd_req_t *req) function esp_err_t (line 78) | static esp_err_t ota_status_handler(httpd_req_t *req) function esp_err_t (line 102) | static esp_err_t ota_upload_handler(httpd_req_t *req) function esp_err_t (line 203) | static esp_err_t ota_start_server(httpd_handle_t *out_handle) function esp_err_t (line 244) | esp_err_t ota_update_init(void) function esp_err_t (line 263) | esp_err_t ota_update_init_ex(void **out_server) FILE: firmware/esp32-csi-node/main/power_mgmt.c function esp_err_t (line 25) | esp_err_t power_mgmt_init(uint8_t duty_cycle_pct) function power_mgmt_stats (line 76) | void power_mgmt_stats(uint32_t *active_ms, uint32_t *sleep_ms, uint32_t ... FILE: firmware/esp32-csi-node/main/rvf_parser.c function rvf_is_rvf (line 17) | bool rvf_is_rvf(const uint8_t *data, uint32_t data_len) function rvf_is_raw_wasm (line 25) | bool rvf_is_raw_wasm(const uint8_t *data, uint32_t data_len) function esp_err_t (line 33) | esp_err_t rvf_parse(const uint8_t *data, uint32_t data_len, rvf_parsed_t... function esp_err_t (line 171) | esp_err_t rvf_verify_signature(const rvf_parsed_t *parsed, const uint8_t... FILE: firmware/esp32-csi-node/main/rvf_parser.h type rvf_header_t (line 50) | typedef struct __attribute__((packed)) { type rvf_manifest_t (line 65) | typedef struct __attribute__((packed)) { type rvf_parsed_t (line 83) | typedef struct { FILE: firmware/esp32-csi-node/main/stream_sender.c type sockaddr_in (line 20) | struct sockaddr_in function sender_init_internal (line 33) | static int sender_init_internal(const char *ip, uint16_t port) function stream_sender_init (line 56) | int stream_sender_init(void) function stream_sender_init_with (line 61) | int stream_sender_init_with(const char *ip, uint16_t port) function stream_sender_send (line 66) | int stream_sender_send(const uint8_t *data, size_t len) function stream_sender_deinit (line 109) | void stream_sender_deinit(void) FILE: firmware/esp32-csi-node/main/swarm_bridge.c function esp_err_t (line 62) | esp_err_t swarm_bridge_init(const swarm_config_t *cfg, uint8_t node_id) function swarm_bridge_update_vitals (line 110) | void swarm_bridge_update_vitals(const edge_vitals_pkt_t *vitals) function swarm_bridge_update_happiness (line 121) | void swarm_bridge_update_happiness(const float *vector, uint8_t dim) function swarm_bridge_get_stats (line 137) | void swarm_bridge_get_stats(uint32_t *regs, uint32_t *heartbeats, function esp_err_t (line 148) | static esp_err_t swarm_post_json(esp_http_client_handle_t client, function swarm_get_ip_str (line 183) | static void swarm_get_ip_str(char *buf, size_t buf_len) function swarm_task (line 202) | static void swarm_task(void *arg) FILE: firmware/esp32-csi-node/main/swarm_bridge.h type swarm_config_t (line 21) | typedef struct { FILE: firmware/esp32-csi-node/main/wasm_runtime.c type wasm_slot_t (line 43) | typedef struct { function slot_has_cap (line 101) | static inline bool slot_has_cap(uint32_t cap) function m3ApiRawFunction (line 111) | static m3ApiRawFunction(host_csi_get_phase) function m3ApiRawFunction (line 124) | static m3ApiRawFunction(host_csi_get_amplitude) function m3ApiRawFunction (line 137) | static m3ApiRawFunction(host_csi_get_variance) function m3ApiRawFunction (line 150) | static m3ApiRawFunction(host_csi_get_bpm_breathing) function m3ApiRawFunction (line 160) | static m3ApiRawFunction(host_csi_get_bpm_heartrate) function m3ApiRawFunction (line 170) | static m3ApiRawFunction(host_csi_get_presence) function m3ApiRawFunction (line 181) | static m3ApiRawFunction(host_csi_get_motion_energy) function m3ApiRawFunction (line 191) | static m3ApiRawFunction(host_csi_get_n_persons) function m3ApiRawFunction (line 201) | static m3ApiRawFunction(host_csi_get_timestamp) function m3ApiRawFunction (line 208) | static m3ApiRawFunction(host_csi_emit_event) function m3ApiRawFunction (line 228) | static m3ApiRawFunction(host_csi_log) function m3ApiRawFunction (line 251) | static m3ApiRawFunction(host_csi_get_phase_history) function M3Result (line 294) | static M3Result link_host_api(IM3Module module) function send_wasm_output (line 345) | static void send_wasm_output(uint8_t slot_id) function esp_err_t (line 406) | esp_err_t wasm_runtime_init(void) function esp_err_t (line 442) | esp_err_t wasm_runtime_load(const uint8_t *wasm_data, uint32_t wasm_len, function esp_err_t (line 563) | esp_err_t wasm_runtime_start(uint8_t module_id) function esp_err_t (line 594) | esp_err_t wasm_runtime_stop(uint8_t module_id) function esp_err_t (line 615) | esp_err_t wasm_runtime_unload(uint8_t module_id) function wasm_runtime_on_frame (line 646) | void wasm_runtime_on_frame(const float *phases, const float *amplitudes, function wasm_runtime_on_timer (line 726) | void wasm_runtime_on_timer(void) function wasm_runtime_get_info (line 749) | void wasm_runtime_get_info(wasm_module_info_t *info, uint8_t *count) function esp_err_t (line 774) | esp_err_t wasm_runtime_set_manifest(uint8_t module_id, const char *modul... function esp_err_t (line 815) | esp_err_t wasm_runtime_init(void) function esp_err_t (line 821) | esp_err_t wasm_runtime_load(const uint8_t *binary, uint32_t size, uint8_... function esp_err_t (line 827) | esp_err_t wasm_runtime_start(uint8_t module_id) function esp_err_t (line 833) | esp_err_t wasm_runtime_stop(uint8_t module_id) function esp_err_t (line 839) | esp_err_t wasm_runtime_unload(uint8_t module_id) function wasm_runtime_on_frame (line 845) | void wasm_runtime_on_frame(const float *phases, const float *amplitudes, function wasm_runtime_on_timer (line 852) | void wasm_runtime_on_timer(void) { } function wasm_runtime_get_info (line 854) | void wasm_runtime_get_info(wasm_module_info_t *info, uint8_t *count) function esp_err_t (line 860) | esp_err_t wasm_runtime_set_manifest(uint8_t module_id, const char *modul... FILE: firmware/esp32-csi-node/main/wasm_runtime.h type wasm_event_t (line 50) | typedef struct __attribute__((packed)) { type wasm_output_pkt_t (line 56) | typedef struct __attribute__((packed)) { type wasm_module_state_t (line 65) | typedef enum { type wasm_module_info_t (line 84) | typedef struct { FILE: firmware/esp32-csi-node/main/wasm_upload.c function esp_err_t (line 85) | static esp_err_t wasm_upload_handler(httpd_req_t *req) function esp_err_t (line 232) | static esp_err_t wasm_list_handler(httpd_req_t *req) function parse_module_id_from_uri (line 279) | static int parse_module_id_from_uri(const char *uri, const char *prefix) function esp_err_t (line 288) | static esp_err_t wasm_start_handler(httpd_req_t *req) function esp_err_t (line 314) | static esp_err_t wasm_stop_handler(httpd_req_t *req) function esp_err_t (line 340) | static esp_err_t wasm_delete_handler(httpd_req_t *req) function esp_err_t (line 366) | esp_err_t wasm_upload_register(httpd_handle_t server) function esp_err_t (line 425) | esp_err_t wasm_upload_register(httpd_handle_t server) FILE: firmware/esp32-csi-node/provision.py function build_nvs_csv (line 33) | def build_nvs_csv(args): function generate_nvs_binary (line 88) | def generate_nvs_binary(csv_content, size): function flash_nvs (line 133) | def flash_nvs(port, baud, nvs_bin): function main (line 155) | def main(): FILE: firmware/esp32-csi-node/test/fuzz_csi_serialize.c function fuzz_read (line 34) | static size_t fuzz_read(const uint8_t **data, size_t *size, function LLVMFuzzerTestOneInput (line 47) | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) FILE: firmware/esp32-csi-node/test/fuzz_edge_enqueue.c type fuzz_ring_slot_t (line 35) | typedef struct { type fuzz_ring_buf_t (line 43) | typedef struct { function ring_push (line 55) | static bool ring_push(const uint8_t *iq, uint16_t len, function ring_pop (line 79) | static bool ring_pop(fuzz_ring_slot_t *out) function init_canaries (line 103) | static void init_canaries(void) function check_canaries (line 109) | static void check_canaries(void) function LLVMFuzzerTestOneInput (line 117) | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) FILE: firmware/esp32-csi-node/test/fuzz_nvs_config.c function validate_hop_count (line 29) | static uint8_t validate_hop_count(uint8_t val) function validate_dwell_ms (line 39) | static uint32_t validate_dwell_ms(uint32_t val) function validate_tdm_node_count (line 48) | static uint8_t validate_tdm_node_count(uint8_t val) function validate_edge_tier (line 57) | static uint8_t validate_edge_tier(uint8_t val) function validate_vital_window (line 66) | static uint16_t validate_vital_window(uint16_t val) function validate_vital_interval (line 75) | static uint16_t validate_vital_interval(uint16_t val) function validate_top_k (line 84) | static uint8_t validate_top_k(uint8_t val) function validate_power_duty (line 93) | static uint8_t validate_power_duty(uint8_t val) function validate_wasm_max (line 102) | static uint8_t validate_wasm_max(uint8_t val) function validate_csi_channel (line 111) | static uint8_t validate_csi_channel(uint8_t val) function validate_tdm_slot (line 120) | static uint8_t validate_tdm_slot(uint8_t slot, uint8_t node_count) function test_string_bounds (line 129) | static void test_string_bounds(const uint8_t *data, size_t len) function test_thresh_conversion (line 158) | static void test_thresh_conversion(uint16_t pres_raw, uint16_t fall_raw) function LLVMFuzzerTestOneInput (line 172) | int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) FILE: firmware/esp32-csi-node/test/stubs/esp_stubs.c function esp_timer_get_time (line 18) | int64_t esp_timer_get_time(void) function stream_sender_send (line 27) | int stream_sender_send(const uint8_t *data, size_t len) function stream_sender_init (line 33) | int stream_sender_init(void) function stream_sender_init_with (line 38) | int stream_sender_init_with(const char *ip, uint16_t port) function stream_sender_deinit (line 44) | void stream_sender_deinit(void) function wasm_runtime_on_frame (line 50) | void wasm_runtime_on_frame(const float *phases, const float *amplitudes, function esp_err_t (line 58) | esp_err_t wasm_runtime_init(void) { return ESP_OK; } function esp_err_t (line 59) | esp_err_t wasm_runtime_load(const uint8_t *d, uint32_t l, uint8_t *id) {... function esp_err_t (line 60) | esp_err_t wasm_runtime_start(uint8_t id) { (void)id; return ESP_OK; } function esp_err_t (line 61) | esp_err_t wasm_runtime_stop(uint8_t id) { (void)id; return ESP_OK; } function esp_err_t (line 62) | esp_err_t wasm_runtime_unload(uint8_t id) { (void)id; return ESP_OK; } function wasm_runtime_on_timer (line 63) | void wasm_runtime_on_timer(void) {} function wasm_runtime_get_info (line 64) | void wasm_runtime_get_info(wasm_module_info_t *info, uint8_t *count) { (... function esp_err_t (line 65) | esp_err_t wasm_runtime_set_manifest(uint8_t id, const char *n, uint32_t ... function esp_err_t (line 73) | esp_err_t mmwave_sensor_init(int tx, int rx) { (void)tx; (void)rx; retur... function mmwave_sensor_get_state (line 74) | bool mmwave_sensor_get_state(mmwave_state_t *s) { if (s) *s = s_stub_mmw... FILE: firmware/esp32-csi-node/test/stubs/esp_stubs.h type esp_err_t (line 20) | typedef int esp_err_t; type esp_timer_create_args_t (line 41) | typedef struct { function esp_err_t (line 54) | static inline esp_err_t esp_timer_create(const esp_timer_create_args_t *... function esp_err_t (line 57) | static inline esp_err_t esp_timer_start_periodic(esp_timer_handle_t h, u... function esp_err_t (line 60) | static inline esp_err_t esp_timer_stop(esp_timer_handle_t h) { (void)h; ... function esp_err_t (line 61) | static inline esp_err_t esp_timer_delete(esp_timer_handle_t h) { (void)h... type wifi_pkt_rx_ctrl_t (line 66) | typedef struct { type wifi_csi_info_t (line 76) | typedef struct { type BaseType_t (line 115) | typedef int BaseType_t; function xPortGetCoreID (line 117) | static inline int xPortGetCoreID(void) { return 0; } function vTaskDelay (line 118) | static inline void vTaskDelay(uint32_t ticks) { (void)ticks; } function BaseType_t (line 119) | static inline BaseType_t xTaskCreatePinnedToCore( type wifi_interface_t (line 129) | typedef int wifi_interface_t; type wifi_second_chan_t (line 130) | typedef int wifi_second_chan_t; type wifi_promiscuous_filter_t (line 134) | typedef struct { type wifi_promiscuous_pkt_type_t (line 138) | typedef int wifi_promiscuous_pkt_type_t; type wifi_csi_config_t (line 142) | typedef struct { type wifi_ap_record_t (line 152) | typedef struct { function esp_err_t (line 156) | static inline esp_err_t esp_wifi_set_promiscuous(bool en) { (void)en; re... function esp_err_t (line 157) | static inline esp_err_t esp_wifi_set_promiscuous_rx_cb(void *cb) { (void... function esp_err_t (line 158) | static inline esp_err_t esp_wifi_set_promiscuous_filter(wifi_promiscuous... function esp_err_t (line 159) | static inline esp_err_t esp_wifi_set_csi_config(wifi_csi_config_t *c) { ... function esp_err_t (line 160) | static inline esp_err_t esp_wifi_set_csi_rx_cb(void *cb, void *ctx) { (v... function esp_err_t (line 161) | static inline esp_err_t esp_wifi_set_csi(bool en) { (void)en; return ESP... function esp_err_t (line 162) | static inline esp_err_t esp_wifi_set_channel(uint8_t ch, wifi_second_cha... function esp_err_t (line 163) | static inline esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const vo... function esp_err_t (line 164) | static inline esp_err_t esp_wifi_sta_get_ap_info(wifi_ap_record_t *ap) {... type nvs_handle_t (line 168) | typedef uint32_t nvs_handle_t; function esp_err_t (line 170) | static inline esp_err_t nvs_open(const char *ns, int mode, nvs_handle_t ... function nvs_close (line 171) | static inline void nvs_close(nvs_handle_t h) { (void)h; } function esp_err_t (line 172) | static inline esp_err_t nvs_get_str(nvs_handle_t h, const char *k, char ... function esp_err_t (line 173) | static inline esp_err_t nvs_get_u8(nvs_handle_t h, const char *k, uint8_... function esp_err_t (line 174) | static inline esp_err_t nvs_get_u16(nvs_handle_t h, const char *k, uint1... function esp_err_t (line 175) | static inline esp_err_t nvs_get_u32(nvs_handle_t h, const char *k, uint3... function esp_err_t (line 176) | static inline esp_err_t nvs_get_blob(nvs_handle_t h, const char *k, void... FILE: firmware/esp32-hello-world/main/main.c function print_separator (line 53) | static void print_separator(const char *title) function probe_chip_info (line 62) | static void probe_chip_info(void) function probe_memory (line 97) | static void probe_memory(void) function probe_flash (line 127) | static void probe_flash(void) function probe_wifi_capabilities (line 156) | static void probe_wifi_capabilities(void) function probe_bluetooth (line 241) | static void probe_bluetooth(void) function probe_peripherals (line 266) | static void probe_peripherals(void) function probe_security (line 292) | static void probe_security(void) function probe_power (line 308) | static void probe_power(void) function probe_temperature (line 325) | static void probe_temperature(void) function probe_freertos (line 345) | static void probe_freertos(void) function probe_csi_details (line 356) | static void probe_csi_details(void) function app_main (line 390) | void app_main(void) FILE: references/app.js function initTabs (line 18) | function initTabs() { function initHardware (line 39) | function initHardware() { function updateCSIDisplay (line 56) | function updateCSIDisplay() { function initDemo (line 80) | function initDemo() { function initArchitecture (line 369) | function initArchitecture() { FILE: references/script.py class CSIPhaseProcessor (line 13) | class CSIPhaseProcessor: method __init__ (line 19) | def __init__(self, num_subcarriers: int = 30): method unwrap_phase (line 22) | def unwrap_phase(self, phase_data: np.ndarray) -> np.ndarray: method apply_filters (line 45) | def apply_filters(self, phase_data: np.ndarray) -> np.ndarray: method linear_fitting (line 59) | def linear_fitting(self, phase_data: np.ndarray) -> np.ndarray: method sanitize_phase (line 82) | def sanitize_phase(self, raw_phase: np.ndarray) -> np.ndarray: FILE: references/script_2.py class CSIPhaseProcessor (line 13) | class CSIPhaseProcessor: method __init__ (line 19) | def __init__(self, num_subcarriers: int = 30): method unwrap_phase (line 22) | def unwrap_phase(self, phase_data: np.ndarray) -> np.ndarray: method apply_filters (line 45) | def apply_filters(self, phase_data: np.ndarray) -> np.ndarray: method linear_fitting (line 62) | def linear_fitting(self, phase_data: np.ndarray) -> np.ndarray: method sanitize_phase (line 85) | def sanitize_phase(self, raw_phase: np.ndarray) -> np.ndarray: class ModalityTranslationNetwork (line 101) | class ModalityTranslationNetwork(nn.Module): method __init__ (line 108) | def __init__(self, input_dim: int = 1350, hidden_dim: int = 512, outpu... method forward (line 167) | def forward(self, amplitude_tensor: torch.Tensor, phase_tensor: torch.... FILE: references/script_3.py function install_package (line 5) | def install_package(package): FILE: references/script_4.py class CSIPhaseProcessor (line 10) | class CSIPhaseProcessor: method __init__ (line 16) | def __init__(self, num_subcarriers: int = 30): method unwrap_phase (line 20) | def unwrap_phase(self, phase_data: np.ndarray) -> np.ndarray: method apply_filters (line 39) | def apply_filters(self, phase_data: np.ndarray) -> np.ndarray: method linear_fitting (line 55) | def linear_fitting(self, phase_data: np.ndarray) -> np.ndarray: method sanitize_phase (line 78) | def sanitize_phase(self, raw_phase: np.ndarray) -> np.ndarray: class WiFiDensePoseConfig (line 99) | class WiFiDensePoseConfig: method __init__ (line 103) | def __init__(self): class WiFiDataSimulator (line 130) | class WiFiDataSimulator: method __init__ (line 135) | def __init__(self, config: WiFiDensePoseConfig): method generate_csi_sample (line 139) | def generate_csi_sample(self, num_people: int = 1, movement_intensity:... method generate_ground_truth_poses (line 180) | def generate_ground_truth_poses(self, num_people: int = 1) -> Dict: FILE: references/script_5.py class CSIPhaseProcessor (line 10) | class CSIPhaseProcessor: method __init__ (line 16) | def __init__(self, num_subcarriers: int = 30): method unwrap_phase (line 20) | def unwrap_phase(self, phase_data: np.ndarray) -> np.ndarray: method apply_filters (line 44) | def apply_filters(self, phase_data: np.ndarray) -> np.ndarray: method linear_fitting (line 56) | def linear_fitting(self, phase_data: np.ndarray) -> np.ndarray: method sanitize_phase (line 84) | def sanitize_phase(self, raw_phase: np.ndarray) -> np.ndarray: class ModalityTranslationNetwork (line 105) | class ModalityTranslationNetwork: method __init__ (line 111) | def __init__(self, input_shape=(150, 3, 3), output_shape=(3, 720, 1280)): method encode_features (line 125) | def encode_features(self, amplitude_data, phase_data): method fuse_and_translate (line 139) | def fuse_and_translate(self, amp_features, phase_features): method forward (line 164) | def forward(self, amplitude_data, phase_data): class WiFiDensePoseSystem (line 176) | class WiFiDensePoseSystem: method __init__ (line 181) | def __init__(self): method process_csi_data (line 188) | def process_csi_data(self, amplitude_data, phase_data): method simulate_densepose_prediction (line 207) | def simulate_densepose_prediction(self, spatial_features): class WiFiDensePoseConfig (line 246) | class WiFiDensePoseConfig: method __init__ (line 248) | def __init__(self): class WiFiDataSimulator (line 267) | class WiFiDataSimulator: method __init__ (line 270) | def __init__(self, config: WiFiDensePoseConfig): method generate_csi_sample (line 274) | def generate_csi_sample(self, num_people: int = 1, movement_intensity:... FILE: references/script_6.py class ResNetFPN (line 8) | class ResNetFPN: method __init__ (line 12) | def __init__(self, input_channels=3, output_channels=256): method extract_features (line 20) | def extract_features(self, input_tensor): class RegionProposalNetwork (line 41) | class RegionProposalNetwork: method __init__ (line 45) | def __init__(self, feature_channels=256, anchor_scales=[8, 16, 32], an... method propose_regions (line 55) | def propose_regions(self, feature_maps, num_proposals=100): class ROIAlign (line 82) | class ROIAlign: method __init__ (line 86) | def __init__(self, output_size=(7, 7)): method extract_features (line 90) | def extract_features(self, feature_maps, proposals): class DensePoseHead (line 103) | class DensePoseHead: method __init__ (line 107) | def __init__(self, input_channels=256, num_parts=24, output_size=(112,... method predict (line 117) | def predict(self, roi_features): class KeypointHead (line 137) | class KeypointHead: method __init__ (line 141) | def __init__(self, input_channels=256, num_keypoints=17, output_size=(... method predict (line 151) | def predict(self, roi_features): class DensePoseRCNN (line 165) | class DensePoseRCNN: method __init__ (line 169) | def __init__(self): method forward (line 178) | def forward(self, input_tensor): FILE: references/script_7.py class TransferLearningSystem (line 7) | class TransferLearningSystem: method __init__ (line 12) | def __init__(self, lambda_tr=0.1): method extract_teacher_features (line 20) | def extract_teacher_features(self, image_input): method extract_student_features (line 36) | def extract_student_features(self, wifi_features): method compute_mse_loss (line 53) | def compute_mse_loss(self, teacher_feature, student_feature): method compute_transfer_loss (line 59) | def compute_transfer_loss(self): method adapt_features (line 80) | def adapt_features(self, student_features, learning_rate=0.001): class TrainingPipeline (line 98) | class TrainingPipeline: method __init__ (line 103) | def __init__(self): method compute_classification_loss (line 115) | def compute_classification_loss(self, predictions, targets): method compute_bbox_regression_loss (line 122) | def compute_bbox_regression_loss(self, pred_boxes, target_boxes): method compute_densepose_loss (line 129) | def compute_densepose_loss(self, pred_parts, pred_uv, target_parts, ta... method compute_keypoint_loss (line 141) | def compute_keypoint_loss(self, pred_keypoints, target_keypoints): method train_step (line 147) | def train_step(self, wifi_data, image_data, targets): method train_epochs (line 189) | def train_epochs(self, num_epochs=10): class PerformanceEvaluator (line 220) | class PerformanceEvaluator: method __init__ (line 225) | def __init__(self): method compute_gps (line 228) | def compute_gps(self, pred_vertices, target_vertices, kappa=0.255): method compute_gpsm (line 237) | def compute_gpsm(self, gps_score, pred_mask, target_mask): method evaluate_system (line 249) | def evaluate_system(self, predictions, ground_truth): FILE: references/wifi_densepose_pytorch.py class CSIPhaseProcessor (line 13) | class CSIPhaseProcessor: method __init__ (line 19) | def __init__(self, num_subcarriers: int = 30): method unwrap_phase (line 22) | def unwrap_phase(self, phase_data: torch.Tensor) -> torch.Tensor: method apply_filters (line 50) | def apply_filters(self, phase_data: torch.Tensor) -> torch.Tensor: method linear_fitting (line 61) | def linear_fitting(self, phase_data: torch.Tensor) -> torch.Tensor: method sanitize_phase (line 90) | def sanitize_phase(self, raw_phase: torch.Tensor) -> torch.Tensor: class ModalityTranslationNetwork (line 105) | class ModalityTranslationNetwork(nn.Module): method __init__ (line 112) | def __init__(self, input_dim: int = 1350, hidden_dim: int = 512, outpu... method forward (line 182) | def forward(self, amplitude_tensor: torch.Tensor, phase_tensor: torch.... class DensePoseHead (line 215) | class DensePoseHead(nn.Module): method __init__ (line 219) | def __init__(self, input_channels=256, num_parts=24, output_size=(112,... method forward (line 242) | def forward(self, x): class KeypointHead (line 262) | class KeypointHead(nn.Module): method __init__ (line 266) | def __init__(self, input_channels=256, num_keypoints=17, output_size=(... method forward (line 283) | def forward(self, x): class WiFiDensePoseRCNN (line 292) | class WiFiDensePoseRCNN(nn.Module): method __init__ (line 296) | def __init__(self): method forward (line 328) | def forward(self, amplitude_data, phase_data): class WiFiDensePoseLoss (line 355) | class WiFiDensePoseLoss(nn.Module): method __init__ (line 359) | def __init__(self, lambda_dp=0.6, lambda_kp=0.3, lambda_tr=0.1): method forward (line 371) | def forward(self, predictions, targets, teacher_features=None): class WiFiDensePoseTrainer (line 407) | class WiFiDensePoseTrainer: method __init__ (line 411) | def __init__(self, model, device='cuda' if torch.cuda.is_available() e... method train_step (line 420) | def train_step(self, amplitude_data, phase_data, targets): method save_model (line 437) | def save_model(self, path): method load_model (line 443) | def load_model(self, path): function create_sample_data (line 449) | def create_sample_data(batch_size=1, device='cpu'): FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/analyze.rs function run (line 9) | pub fn run( function print_ascii_graph (line 94) | fn print_ascii_graph(graph: &BrainGraph) { function write_csv (line 138) | fn write_csv( function test_graph (line 168) | fn test_graph() -> BrainGraph { function analyze_from_json (line 201) | fn analyze_from_json() { function analyze_with_csv (line 214) | fn analyze_with_csv() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/export.rs function run (line 8) | pub fn run( function export_d3 (line 48) | fn export_d3(graph: &BrainGraph) -> Result String { function export_gexf (line 121) | fn export_gexf(graph: &BrainGraph) -> String { function export_csv (line 152) | fn export_csv(graph: &BrainGraph) -> String { function export_rvf (line 164) | fn export_rvf(graph: &BrainGraph) -> Result BrainGraph { function export_d3_valid_json (line 212) | fn export_d3_valid_json() { function export_dot_format (line 223) | fn export_dot_format() { function export_gexf_format (line 232) | fn export_gexf_format() { function export_csv_format (line 241) | fn export_csv_format() { function export_rvf_valid_json (line 250) | fn export_rvf_valid_json() { function export_all_formats (line 259) | fn export_all_formats() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/info.rs function run (line 4) | pub fn run() { function info_runs_without_panic (line 63) | fn info_runs_without_panic() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/mincut.rs function run (line 9) | pub fn run(input: &str, k: Option) -> Result<(), Box]) { function test_graph (line 113) | fn test_graph() -> BrainGraph { function mincut_two_way (line 160) | fn mincut_two_way() { function mincut_multiway (line 173) | fn mincut_multiway() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/pipeline.rs function run (line 17) | pub fn run( function generate_data (line 131) | fn generate_data(channels: usize, num_samples: usize, sample_rate: f64) ... function build_plv_graph (line 162) | fn build_plv_graph(channels: &[Vec], sample_rate: f64) -> BrainGraph { function estimate_modularity (line 192) | fn estimate_modularity(graph: &BrainGraph) -> f64 { function estimate_efficiency (line 221) | fn estimate_efficiency(graph: &BrainGraph) -> f64 { function estimate_entropy (line 245) | fn estimate_entropy(graph: &BrainGraph) -> f64 { function build_default_decoder (line 261) | fn build_default_decoder() -> ThresholdDecoder { function print_dashboard (line 298) | fn print_dashboard( function pipeline_runs_end_to_end (line 351) | fn pipeline_runs_end_to_end() { function pipeline_with_dashboard (line 357) | fn pipeline_with_dashboard() { function plv_graph_has_edges (line 363) | fn plv_graph_has_edges() { function entropy_non_negative (line 371) | fn entropy_non_negative() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/simulate.rs function run (line 12) | pub fn run( function generate_neural_data (line 77) | fn generate_neural_data(channels: usize, num_samples: usize, sample_rate... function generate_correct_shape (line 130) | fn generate_correct_shape() { function simulate_produces_output (line 139) | fn simulate_produces_output() { function simulate_writes_json (line 145) | fn simulate_writes_json() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/commands/witness.rs function run (line 7) | pub fn run( FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-cli/src/main.rs type Cli (line 11) | struct Cli { type Commands (line 21) | enum Commands { function init_tracing (line 95) | fn init_tracing(verbose: u8) { function main (line 109) | async fn main() { function verify_cli (line 156) | fn verify_cli() { function parse_simulate_defaults (line 161) | fn parse_simulate_defaults() { function parse_simulate_with_args (line 180) | fn parse_simulate_with_args() { function parse_analyze (line 211) | fn parse_analyze() { function parse_mincut (line 225) | fn parse_mincut() { function parse_pipeline (line 238) | fn parse_pipeline() { function parse_export (line 264) | fn parse_export() { function parse_info (line 291) | fn parse_info() { function parse_verbose (line 297) | fn parse_verbose() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/brain.rs type Atlas (line 7) | pub enum Atlas { method num_regions (line 24) | pub fn num_regions(&self) -> usize { type Hemisphere (line 38) | pub enum Hemisphere { type Lobe (line 46) | pub enum Lobe { type BrainRegion (line 58) | pub struct BrainRegion { type Parcellation (line 73) | pub struct Parcellation { method num_regions (line 82) | pub fn num_regions(&self) -> usize { method get_region (line 87) | pub fn get_region(&self, id: usize) -> Option<&BrainRegion> { method regions_in_hemisphere (line 92) | pub fn regions_in_hemisphere(&self, hemisphere: Hemisphere) -> Vec<&Br... method regions_in_lobe (line 100) | pub fn regions_in_lobe(&self, lobe: Lobe) -> Vec<&BrainRegion> { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/embedding.rs type NeuralEmbedding (line 11) | pub struct NeuralEmbedding { method new (line 24) | pub fn new(vector: Vec, timestamp: f64, metadata: EmbeddingMetada... method norm (line 40) | pub fn norm(&self) -> f64 { method cosine_similarity (line 45) | pub fn cosine_similarity(&self, other: &NeuralEmbedding) -> Result { method euclidean_distance (line 67) | pub fn euclidean_distance(&self, other: &NeuralEmbedding) -> Result usize { method is_empty (line 115) | pub fn is_empty(&self) -> bool { method duration_s (line 120) | pub fn duration_s(&self) -> f64 { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/error.rs type RuvNeuralError (line 7) | pub enum RuvNeuralError { type Result (line 46) | pub type Result = std::result::Result; FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/graph.rs type ConnectivityMetric (line 11) | pub enum ConnectivityMetric { type BrainEdge (line 30) | pub struct BrainEdge { type BrainGraph (line 45) | pub struct BrainGraph { method validate (line 60) | pub fn validate(&self) -> Result<()> { method adjacency_matrix (line 92) | pub fn adjacency_matrix(&self) -> Vec> { method edge_weight (line 105) | pub fn edge_weight(&self, source: usize, target: usize) -> Option { method node_degree (line 116) | pub fn node_degree(&self, node: usize) -> f64 { method density (line 125) | pub fn density(&self) -> f64 { method total_weight (line 137) | pub fn total_weight(&self) -> f64 { type BrainGraphSequence (line 144) | pub struct BrainGraphSequence { method len (line 153) | pub fn len(&self) -> usize { method is_empty (line 158) | pub fn is_empty(&self) -> bool { method duration_s (line 163) | pub fn duration_s(&self) -> f64 { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/lib.rs function error_display_formatting (line 57) | fn error_display_formatting() { function sensor_type_sensitivity (line 87) | fn sensor_type_sensitivity() { function sensor_array_operations (line 93) | fn sensor_array_operations() { function sensor_serialize_roundtrip (line 130) | fn sensor_serialize_roundtrip() { function frequency_band_ranges (line 149) | fn frequency_band_ranges() { function frequency_band_center_and_bandwidth (line 164) | fn frequency_band_center_and_bandwidth() { function time_series_creation_valid (line 170) | fn time_series_creation_valid() { function time_series_dimension_mismatch (line 179) | fn time_series_dimension_mismatch() { function time_series_channel_access (line 186) | fn time_series_channel_access() { function atlas_region_counts (line 196) | fn atlas_region_counts() { function parcellation_query (line 206) | fn parcellation_query() { function brain_region_serialize_roundtrip (line 246) | fn brain_region_serialize_roundtrip() { function brain_graph_adjacency_matrix (line 263) | fn brain_graph_adjacency_matrix() { function brain_graph_edge_weight_lookup (line 296) | fn brain_graph_edge_weight_lookup() { function brain_graph_node_degree (line 317) | fn brain_graph_node_degree() { function brain_graph_density (line 347) | fn brain_graph_density() { function graph_sequence_duration (line 382) | fn graph_sequence_duration() { function mincut_result_properties (line 418) | fn mincut_result_properties() { function multi_partition_properties (line 433) | fn multi_partition_properties() { function cognitive_state_serialize_roundtrip (line 444) | fn cognitive_state_serialize_roundtrip() { function embedding_creation_and_norm (line 459) | fn embedding_creation_and_norm() { function embedding_cosine_similarity (line 473) | fn embedding_cosine_similarity() { function embedding_euclidean_distance (line 491) | fn embedding_euclidean_distance() { function embedding_dimension_mismatch (line 506) | fn embedding_dimension_mismatch() { function embedding_trajectory (line 522) | fn embedding_trajectory() { function rvf_data_type_tag_roundtrip (line 548) | fn rvf_data_type_tag_roundtrip() { function rvf_header_encode_decode (line 564) | fn rvf_header_encode_decode() { function rvf_header_validation (line 578) | fn rvf_header_validation() { function rvf_file_write_read_roundtrip (line 587) | fn rvf_file_write_read_roundtrip() { function graph_serialize_roundtrip (line 608) | fn graph_serialize_roundtrip() { function topology_metrics_serialize_roundtrip (line 630) | fn topology_metrics_serialize_roundtrip() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/rvf.rs constant RVF_MAGIC (line 8) | pub const RVF_MAGIC: [u8; 4] = [b'R', b'V', b'F', 0x01]; constant RVF_VERSION (line 11) | pub const RVF_VERSION: u8 = 1; constant MAX_METADATA_LEN (line 14) | pub const MAX_METADATA_LEN: u32 = 16 * 1024 * 1024; constant MAX_PAYLOAD_LEN (line 17) | pub const MAX_PAYLOAD_LEN: usize = 256 * 1024 * 1024; type RvfDataType (line 21) | pub enum RvfDataType { method to_tag (line 36) | pub fn to_tag(&self) -> u8 { method from_tag (line 47) | pub fn from_tag(tag: u8) -> Result { type RvfHeader (line 64) | pub struct RvfHeader { method new (line 81) | pub fn new(data_type: RvfDataType, num_entries: u64, embedding_dim: u3... method validate (line 93) | pub fn validate(&self) -> Result<()> { method to_bytes (line 109) | pub fn to_bytes(&self) -> Vec { method from_bytes (line 121) | pub fn from_bytes(bytes: &[u8]) -> Result { type RvfFile (line 149) | pub struct RvfFile { method new (line 160) | pub fn new(data_type: RvfDataType) -> Self { method write_to (line 169) | pub fn write_to(&self, writer: &mut W) -> Result<()> { method read_from (line 190) | pub fn read_from(reader: &mut R) -> Result { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/sensor.rs type SensorType (line 7) | pub enum SensorType { method typical_sensitivity_ft_sqrt_hz (line 22) | pub fn typical_sensitivity_ft_sqrt_hz(&self) -> f64 { type SensorChannel (line 35) | pub struct SensorChannel { type SensorArray (line 54) | pub struct SensorArray { method num_channels (line 65) | pub fn num_channels(&self) -> usize { method is_empty (line 70) | pub fn is_empty(&self) -> bool { method get_channel (line 75) | pub fn get_channel(&self, index: usize) -> Option<&SensorChannel> { method bounding_box (line 80) | pub fn bounding_box(&self) -> Option<([f64; 3], [f64; 3])> { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/signal.rs type MultiChannelTimeSeries (line 9) | pub struct MultiChannelTimeSeries { method new (line 24) | pub fn new(data: Vec>, sample_rate_hz: f64, timestamp_start: ... method duration_s (line 56) | pub fn duration_s(&self) -> f64 { method channel (line 61) | pub fn channel(&self, index: usize) -> Result<&[f64]> { type FrequencyBand (line 74) | pub enum FrequencyBand { method range_hz (line 98) | pub fn range_hz(&self) -> (f64, f64) { method center_hz (line 111) | pub fn center_hz(&self) -> f64 { method bandwidth_hz (line 117) | pub fn bandwidth_hz(&self) -> f64 { type SpectralFeatures (line 125) | pub struct SpectralFeatures { type TimeFrequencyMap (line 138) | pub struct TimeFrequencyMap { method num_time_points (line 149) | pub fn num_time_points(&self) -> usize { method num_frequency_bins (line 154) | pub fn num_frequency_bins(&self) -> usize { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/topology.rs type MincutResult (line 7) | pub struct MincutResult { method num_nodes (line 22) | pub fn num_nodes(&self) -> usize { method num_cut_edges (line 27) | pub fn num_cut_edges(&self) -> usize { method balance_ratio (line 32) | pub fn balance_ratio(&self) -> f64 { type MultiPartition (line 44) | pub struct MultiPartition { method num_partitions (line 55) | pub fn num_partitions(&self) -> usize { method num_nodes (line 60) | pub fn num_nodes(&self) -> usize { type CognitiveState (line 67) | pub enum CognitiveState { type SleepStage (line 83) | pub enum SleepStage { type TopologyMetrics (line 93) | pub struct TopologyMetrics { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/traits.rs type SensorSource (line 12) | pub trait SensorSource { method sensor_type (line 14) | fn sensor_type(&self) -> SensorType; method num_channels (line 17) | fn num_channels(&self) -> usize; method sample_rate_hz (line 20) | fn sample_rate_hz(&self) -> f64; method read_chunk (line 23) | fn read_chunk(&mut self, num_samples: usize) -> Result Result Result Result; method mincut (line 44) | fn mincut(&self, graph: &BrainGraph) -> Result; type EmbeddingGenerator (line 48) | pub trait EmbeddingGenerator { method embed (line 50) | fn embed(&self, graph: &BrainGraph) -> Result; method embedding_dim (line 53) | fn embedding_dim(&self) -> usize; type StateDecoder (line 57) | pub trait StateDecoder { method decode (line 59) | fn decode(&self, embedding: &NeuralEmbedding) -> Result; method decode_with_confidence (line 62) | fn decode_with_confidence( type NeuralMemory (line 69) | pub trait NeuralMemory { method store (line 71) | fn store(&mut self, embedding: &NeuralEmbedding) -> Result<()>; method query_nearest (line 74) | fn query_nearest( method query_by_state (line 81) | fn query_by_state(&self, state: CognitiveState) -> Result Result; method from_rvf (line 90) | fn from_rvf(file: &RvfFile) -> Result FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-core/src/witness.rs type CapabilityAttestation (line 13) | pub struct CapabilityAttestation { type WitnessBundle (line 28) | pub struct WitnessBundle { method new (line 55) | pub fn new( method verify (line 96) | pub fn verify(&self) -> Result { method verify_digest (line 121) | pub fn verify_digest(&self) -> bool { method verify_full (line 130) | pub fn verify_full(&self) -> Result { function attest_capabilities (line 141) | pub fn attest_capabilities() -> Vec { function hex_encode (line 450) | fn hex_encode(bytes: &[u8]) -> String { function hex_decode (line 455) | fn hex_decode(hex: &str) -> std::result::Result, String> { function epoch_timestamp (line 466) | fn epoch_timestamp() -> String { function witness_sign_and_verify (line 480) | fn witness_sign_and_verify() { function tampered_bundle_fails_verification (line 501) | fn tampered_bundle_fails_verification() { function attestation_matrix_covers_all_crates (line 517) | fn attestation_matrix_covers_all_crates() { function hex_roundtrip (line 537) | fn hex_roundtrip() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-decoder/src/clinical.rs type ClinicalScorer (line 10) | pub struct ClinicalScorer { method new (line 19) | pub fn new(baseline: TopologyMetrics, std: TopologyMetrics) -> Self { method learn_baseline (line 30) | pub fn learn_baseline(&mut self, healthy_data: &[TopologyMetrics]) { method deviation_score (line 88) | pub fn deviation_score(&self, current: &TopologyMetrics) -> f64 { method alzheimer_risk (line 97) | pub fn alzheimer_risk(&self, current: &TopologyMetrics) -> f64 { method epilepsy_risk (line 120) | pub fn epilepsy_risk(&self, current: &TopologyMetrics) -> f64 { method depression_risk (line 140) | pub fn depression_risk(&self, current: &TopologyMetrics) -> f64 { method brain_health_index (line 160) | pub fn brain_health_index(&self, current: &TopologyMetrics) -> f64 { method z_scores (line 170) | fn z_scores(&self, current: &TopologyMetrics) -> [f64; 6] { function z_score (line 209) | fn z_score(value: f64, mean: f64, std: f64) -> f64 { function std_dev (line 217) | fn std_dev(values: impl Iterator, mean: f64) -> f64 { function sigmoid (line 231) | fn sigmoid(z: f64, scale: f64) -> f64 { function make_metrics (line 239) | fn make_metrics( function make_baseline_scorer (line 257) | fn make_baseline_scorer() -> ClinicalScorer { function test_healthy_deviation_near_zero (line 265) | fn test_healthy_deviation_near_zero() { function test_abnormal_deviation_high (line 277) | fn test_abnormal_deviation_high() { function test_brain_health_healthy (line 289) | fn test_brain_health_healthy() { function test_brain_health_abnormal (line 301) | fn test_brain_health_abnormal() { function test_disease_risks_in_range (line 313) | fn test_disease_risks_in_range() { function test_learn_baseline (line 327) | fn test_learn_baseline() { function test_health_index_range (line 346) | fn test_health_index_range() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-decoder/src/knn_decoder.rs type KnnDecoder (line 14) | pub struct KnnDecoder { method new (line 21) | pub fn new(k: usize) -> Self { method train (line 30) | pub fn train(&mut self, embeddings: Vec<(NeuralEmbedding, CognitiveSta... method predict (line 37) | pub fn predict(&self, embedding: &NeuralEmbedding) -> CognitiveState { method predict_with_confidence (line 45) | pub fn predict_with_confidence(&self, embedding: &NeuralEmbedding) -> ... method num_samples (line 92) | pub fn num_samples(&self) -> usize { method decode (line 98) | fn decode(&self, embedding: &NeuralEmbedding) -> Result { method decode_with_confidence (line 107) | fn decode_with_confidence( function euclidean_distance (line 123) | fn euclidean_distance(a: &[f64], b: &[f64]) -> f64 { function make_embedding (line 137) | fn make_embedding(vector: Vec) -> NeuralEmbedding { function test_knn_classifies_correctly (line 153) | fn test_knn_classifies_correctly() { function test_knn_empty_returns_unknown (line 186) | fn test_knn_empty_returns_unknown() { function test_confidence_in_range (line 193) | fn test_confidence_in_range() { function test_state_decoder_trait (line 205) | fn test_state_decoder_trait() { function test_state_decoder_empty_errors (line 217) | fn test_state_decoder_empty_errors() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-decoder/src/pipeline.rs type DecoderPipeline (line 16) | pub struct DecoderPipeline { method new (line 44) | pub fn new() -> Self { method with_knn (line 55) | pub fn with_knn(mut self, k: usize) -> Self { method with_thresholds (line 61) | pub fn with_thresholds(mut self) -> Self { method with_transitions (line 67) | pub fn with_transitions(mut self, window: usize) -> Self { method with_clinical (line 73) | pub fn with_clinical(mut self, baseline: TopologyMetrics, std: Topolog... method with_weights (line 79) | pub fn with_weights(mut self, weights: [f64; 3]) -> Self { method knn_mut (line 85) | pub fn knn_mut(&mut self) -> Option<&mut KnnDecoder> { method threshold_mut (line 90) | pub fn threshold_mut(&mut self) -> Option<&mut ThresholdDecoder> { method transition_mut (line 95) | pub fn transition_mut(&mut self) -> Option<&mut TransitionDecoder> { method clinical_mut (line 100) | pub fn clinical_mut(&mut self) -> Option<&mut ClinicalScorer> { method decode (line 105) | pub fn decode( type DecoderOutput (line 27) | pub struct DecoderOutput { method default (line 184) | fn default() -> Self { function weighted_vote (line 193) | fn weighted_vote(candidates: &[(CognitiveState, f64, f64)]) -> (Cognitiv... function make_embedding (line 225) | fn make_embedding(vector: Vec) -> NeuralEmbedding { function make_metrics (line 240) | fn make_metrics(mincut: f64, modularity: f64) -> TopologyMetrics { function test_empty_pipeline (line 254) | fn test_empty_pipeline() { function test_pipeline_with_knn (line 264) | fn test_pipeline_with_knn() { function test_pipeline_with_thresholds (line 278) | fn test_pipeline_with_thresholds() { function test_pipeline_with_clinical (line 298) | fn test_pipeline_with_clinical() { function test_pipeline_all_decoders (line 325) | fn test_pipeline_all_decoders() { function test_decoder_output_serialization (line 355) | fn test_decoder_output_serialization() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-decoder/src/threshold_decoder.rs type ThresholdDecoder (line 14) | pub struct ThresholdDecoder { method new (line 49) | pub fn new() -> Self { method set_threshold (line 56) | pub fn set_threshold(&mut self, state: CognitiveState, threshold: Topo... method learn_thresholds (line 64) | pub fn learn_thresholds(&mut self, labeled_data: &[(TopologyMetrics, C... method decode (line 98) | pub fn decode(&self, metrics: &TopologyMetrics) -> (CognitiveState, f6... method num_states (line 118) | pub fn num_states(&self) -> usize { type TopologyThreshold (line 20) | pub struct TopologyThreshold { method score (line 36) | fn score(&self, metrics: &TopologyMetrics) -> f64 { method default (line 124) | fn default() -> Self { function compute_range (line 130) | fn compute_range(values: impl Iterator) -> (f64, f64) { function range_score (line 147) | fn range_score(value: f64, (lo, hi): (f64, f64)) -> f64 { function make_metrics (line 165) | fn make_metrics(mincut: f64, modularity: f64, efficiency: f64, entropy: ... function test_learn_thresholds (line 179) | fn test_learn_thresholds() { function test_set_threshold (line 199) | fn test_set_threshold() { function test_empty_decoder_returns_unknown (line 217) | fn test_empty_decoder_returns_unknown() { function test_confidence_in_range (line 225) | fn test_confidence_in_range() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-decoder/src/transition_decoder.rs type TransitionDecoder (line 12) | pub struct TransitionDecoder { method new (line 48) | pub fn new(window_size: usize) -> Self { method register_pattern (line 59) | pub fn register_pattern( method current_state (line 69) | pub fn current_state(&self) -> CognitiveState { method set_current_state (line 74) | pub fn set_current_state(&mut self, state: CognitiveState) { method update (line 82) | pub fn update(&mut self, metrics: TopologyMetrics) -> Option usize { method history_len (line 150) | pub fn history_len(&self) -> usize { type TransitionPattern (line 21) | pub struct TransitionPattern { type StateTransition (line 32) | pub struct StateTransition { function pattern_match_score (line 158) | fn pattern_match_score( function gaussian_score (line 197) | fn gaussian_score(value: f64, center: f64, sigma: f64) -> f64 { function make_metrics (line 206) | fn make_metrics( function test_detect_state_transition (line 224) | fn test_detect_state_transition() { function test_no_transition_without_pattern (line 263) | fn test_no_transition_without_pattern() { function test_window_trimming (line 274) | fn test_window_trimming() { function test_single_sample_no_transition (line 283) | fn test_single_sample_no_transition() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/combined.rs type CombinedEmbedder (line 14) | pub struct CombinedEmbedder { method new (line 21) | pub fn new() -> Self { method add (line 31) | pub fn add(mut self, embedder: Box, weight: f6... method num_embedders (line 38) | pub fn num_embedders(&self) -> usize { method total_dimension (line 43) | pub fn total_dimension(&self) -> usize { method embed_graph (line 48) | pub fn embed_graph(&self, graph: &BrainGraph) -> Result Self { method embedding_dim (line 76) | fn embedding_dim(&self) -> usize { method embed (line 80) | fn embed(&self, graph: &BrainGraph) -> Result { function make_test_graph (line 94) | fn make_test_graph() -> BrainGraph { function test_combined_concatenates_correctly (line 134) | fn test_combined_concatenates_correctly() { function test_combined_weights_scale (line 154) | fn test_combined_weights_scale() { function test_combined_empty_fails (line 175) | fn test_combined_empty_fails() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/distance.rs function cosine_similarity (line 14) | pub fn cosine_similarity(a: &NeuralEmbedding, b: &NeuralEmbedding) -> f64 { function euclidean_distance (line 42) | pub fn euclidean_distance(a: &NeuralEmbedding, b: &NeuralEmbedding) -> f... function manhattan_distance (line 58) | pub fn manhattan_distance(a: &NeuralEmbedding, b: &NeuralEmbedding) -> f... function k_nearest (line 71) | pub fn k_nearest( function trajectory_distance (line 92) | pub fn trajectory_distance(a: &EmbeddingTrajectory, b: &EmbeddingTraject... function emb (line 123) | fn emb(values: Vec) -> NeuralEmbedding { function test_cosine_similarity_identical (line 129) | fn test_cosine_similarity_identical() { function test_cosine_similarity_orthogonal (line 140) | fn test_cosine_similarity_orthogonal() { function test_cosine_similarity_opposite (line 151) | fn test_cosine_similarity_opposite() { function test_euclidean_distance_identical (line 162) | fn test_euclidean_distance_identical() { function test_euclidean_distance_known (line 173) | fn test_euclidean_distance_known() { function test_k_nearest_returns_correct (line 181) | fn test_k_nearest_returns_correct() { function test_k_nearest_k_larger_than_candidates (line 197) | fn test_k_nearest_k_larger_than_candidates() { function test_trajectory_distance_identical (line 205) | fn test_trajectory_distance_identical() { function test_trajectory_distance_different (line 218) | fn test_trajectory_distance_different() { function test_trajectory_distance_empty (line 235) | fn test_trajectory_distance_empty() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/lib.rs function default_metadata (line 34) | pub fn default_metadata( function test_neural_embedding_new (line 53) | fn test_neural_embedding_new() { function test_neural_embedding_empty_fails (line 61) | fn test_neural_embedding_empty_fails() { function test_embedding_norm (line 68) | fn test_embedding_norm() { function test_trajectory (line 75) | fn test_trajectory() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/node2vec.rs type Node2VecEmbedder (line 17) | pub struct Node2VecEmbedder { method new (line 34) | pub fn new(embedding_dim: usize) -> Self { method random_walk (line 46) | fn random_walk( method generate_walks (line 132) | fn generate_walks(&self, adj: &[Vec], n: usize) -> Vec> { method build_cooccurrence (line 144) | fn build_cooccurrence(walks: &[Vec], n: usize, window: usize) -... method truncated_svd (line 161) | fn truncated_svd(matrix: &[Vec], n: usize, k: usize) -> Vec Result usize { method embed (line 290) | fn embed(&self, graph: &BrainGraph) -> Result { function make_connected_graph (line 302) | fn make_connected_graph() -> BrainGraph { function test_node2vec_walks_visit_all_nodes (line 322) | fn test_node2vec_walks_visit_all_nodes() { function test_node2vec_embed (line 347) | fn test_node2vec_embed() { function test_node2vec_too_small (line 356) | fn test_node2vec_too_small() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/rvf_export.rs type RvfHeader (line 14) | pub struct RvfHeader { type RvfRecord (line 29) | pub struct RvfRecord { type RvfDocument (line 44) | pub struct RvfDocument { function export_rvf (line 55) | pub fn export_rvf(embeddings: &[NeuralEmbedding], path: &str) -> Result<... function import_rvf (line 67) | pub fn import_rvf(path: &str) -> Result> { function to_rvf_string (line 75) | pub fn to_rvf_string(embeddings: &[NeuralEmbedding]) -> Result { function from_rvf_string (line 113) | pub fn from_rvf_string(json: &str) -> Result> { function test_rvf_string_roundtrip (line 139) | fn test_rvf_string_roundtrip() { function test_rvf_file_roundtrip (line 175) | fn test_rvf_file_roundtrip() { function test_rvf_empty_fails (line 206) | fn test_rvf_empty_fails() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/spectral_embed.rs type SpectralEmbedder (line 15) | pub struct SpectralEmbedder { method new (line 26) | pub fn new(dimension: usize) -> Self { method normalized_laplacian (line 34) | fn normalized_laplacian(adj: &[Vec], n: usize) -> Vec> { method smallest_eigenvectors (line 59) | fn smallest_eigenvectors( method embed_graph (line 148) | pub fn embed_graph(&self, graph: &BrainGraph) -> Result usize { method embed (line 195) | fn embed(&self, graph: &BrainGraph) -> Result { function make_complete_graph (line 207) | fn make_complete_graph(n: usize) -> BrainGraph { function make_two_cluster_graph (line 229) | fn make_two_cluster_graph() -> BrainGraph { function test_spectral_complete_graph (line 273) | fn test_spectral_complete_graph() { function test_spectral_two_cluster_separation (line 281) | fn test_spectral_two_cluster_separation() { function test_spectral_too_small (line 295) | fn test_spectral_too_small() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/temporal.rs type TemporalEmbedder (line 14) | pub struct TemporalEmbedder { method new (line 28) | pub fn new(base: Box, window: usize) -> Self { method with_decay (line 37) | pub fn with_decay(mut self, decay: f64) -> Self { method embed_sequence (line 43) | pub fn embed_sequence(&self, sequence: &BrainGraphSequence) -> Result<... method embed_with_context (line 72) | pub fn embed_with_context( method compute_context (line 91) | fn compute_context(&self, history: &[NeuralEmbedding], dim: usize) -> ... method output_dimension (line 125) | pub fn output_dimension(&self) -> usize { function make_graph (line 138) | fn make_graph(timestamp: f64) -> BrainGraph { function test_temporal_embed_no_history (line 164) | fn test_temporal_embed_no_history() { function test_temporal_embed_sequence (line 181) | fn test_temporal_embed_sequence() { function test_temporal_empty_sequence_fails (line 209) | fn test_temporal_empty_sequence_fails() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-embed/src/topology_embed.rs type TopologyEmbedder (line 14) | pub struct TopologyEmbedder { method new (line 27) | pub fn new() -> Self { method estimate_mincut (line 37) | fn estimate_mincut(graph: &BrainGraph) -> f64 { method estimate_modularity (line 47) | fn estimate_modularity(graph: &BrainGraph) -> f64 { method global_efficiency (line 83) | fn global_efficiency(graph: &BrainGraph) -> f64 { method local_efficiency (line 118) | fn local_efficiency(graph: &BrainGraph) -> f64 { method graph_entropy (line 151) | fn graph_entropy(graph: &BrainGraph) -> f64 { method estimate_fiedler (line 171) | fn estimate_fiedler(graph: &BrainGraph) -> f64 { method clustering_coefficient (line 250) | fn clustering_coefficient(graph: &BrainGraph) -> f64 { method num_components (line 283) | fn num_components(graph: &BrainGraph) -> usize { method embed_graph (line 315) | pub fn embed_graph(&self, graph: &BrainGraph) -> Result usize { method default (line 390) | fn default() -> Self { method embedding_dim (line 396) | fn embedding_dim(&self) -> usize { method embed (line 400) | fn embed(&self, graph: &BrainGraph) -> Result { function make_triangle (line 412) | fn make_triangle() -> BrainGraph { function test_topology_embed_triangle (line 445) | fn test_topology_embed_triangle() { function test_topology_captures_known_features (line 461) | fn test_topology_captures_known_features() { function test_empty_graph (line 476) | fn test_empty_graph() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-esp32/src/adc.rs type Attenuation (line 17) | pub enum Attenuation { method max_voltage_mv (line 30) | pub fn max_voltage_mv(&self) -> u32 { type AdcChannel (line 42) | pub struct AdcChannel { type AdcConfig (line 59) | pub struct AdcConfig { method max_raw_value (line 77) | pub fn max_raw_value(&self) -> i16 { method default_single_channel (line 83) | pub fn default_single_channel() -> Self { type AdcReader (line 109) | pub struct AdcReader { method new (line 119) | pub fn new(config: AdcConfig) -> Self { method read_samples (line 135) | pub fn read_samples(&mut self, num_samples: usize) -> Result f64 { method load_buffer (line 183) | pub fn load_buffer(&mut self, channel_idx: usize, data: &[i16]) -> Res... method config (line 201) | pub fn config(&self) -> &AdcConfig { method reset (line 206) | pub fn reset(&mut self) { method fill_with_calibration_signal (line 231) | pub fn fill_with_calibration_signal(&mut self, frequency_hz: f64) { function test_to_femtotesla_known_value (line 254) | fn test_to_femtotesla_known_value() { function test_read_samples_length (line 280) | fn test_read_samples_length() { function test_load_buffer_and_read (line 289) | fn test_load_buffer_and_read() { function test_read_zero_samples_error (line 302) | fn test_read_zero_samples_error() { function test_attenuation_max_voltage (line 309) | fn test_attenuation_max_voltage() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-esp32/src/aggregator.rs type NodeAggregator (line 18) | pub struct NodeAggregator { method new (line 26) | pub fn new(node_count: usize) -> Self { method receive_packet (line 35) | pub fn receive_packet( method try_assemble (line 55) | pub fn try_assemble(&mut self) -> Option { method set_sync_tolerance (line 108) | pub fn set_sync_tolerance(&mut self, tolerance_us: u64) { method buffered_count (line 113) | pub fn buffered_count(&self, node_id: usize) -> usize { method node_count (line 118) | pub fn node_count(&self) -> usize { function make_packet (line 128) | fn make_packet(num_channels: u8, timestamp_us: u64, samples: Vec) -... function test_assemble_two_nodes (line 154) | fn test_assemble_two_nodes() { function test_assemble_with_tolerance (line 173) | fn test_assemble_with_tolerance() { function test_assemble_exceeds_tolerance (line 186) | fn test_assemble_exceeds_tolerance() { function test_receive_invalid_node (line 199) | fn test_receive_invalid_node() { function test_buffers_consumed_after_assembly (line 206) | fn test_buffers_consumed_after_assembly() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-esp32/src/power.rs type PowerMode (line 10) | pub enum PowerMode { method estimated_current_ma (line 23) | pub fn estimated_current_ma(&self) -> f64 { type PowerConfig (line 35) | pub struct PowerConfig { method default (line 47) | fn default() -> Self { type PowerManager (line 58) | pub struct PowerManager { method new (line 66) | pub fn new(config: PowerConfig) -> Self { method estimate_runtime (line 78) | pub fn estimate_runtime(&self, battery_capacity_mah: u32) -> f64 { method should_sleep (line 103) | pub fn should_sleep(&self, current_time_us: u64) -> bool { method optimize_duty_cycle (line 114) | pub fn optimize_duty_cycle(&mut self, target_runtime_hours: f64) { method set_battery_mv (line 139) | pub fn set_battery_mv(&mut self, mv: u32) { method battery_mv (line 144) | pub fn battery_mv(&self) -> u32 { method estimated_runtime_hours (line 150) | pub fn estimated_runtime_hours(&self) -> f64 { method config (line 155) | pub fn config(&self) -> &PowerConfig { function test_estimate_runtime_active (line 165) | fn test_estimate_runtime_active() { function test_estimate_runtime_low_duty (line 179) | fn test_estimate_runtime_low_duty() { function test_should_sleep (line 193) | fn test_should_sleep() { function test_should_sleep_disabled (line 209) | fn test_should_sleep_disabled() { function test_optimize_duty_cycle (line 221) | fn test_optimize_duty_cycle() { function test_power_mode_current (line 237) | fn test_power_mode_current() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-esp32/src/preprocessing.rs type IirCoeffs (line 11) | pub struct IirCoeffs { method notch (line 22) | pub fn notch(freq_hz: f64, sample_rate_hz: f64) -> Self { method highpass (line 44) | pub fn highpass(cutoff_hz: f64, sample_rate_hz: f64) -> Self { method lowpass (line 57) | pub fn lowpass(cutoff_hz: f64, sample_rate_hz: f64) -> Self { type EdgePreprocessor (line 71) | pub struct EdgePreprocessor { method new (line 94) | pub fn new() -> Self { method apply_iir_fixed (line 109) | pub fn apply_iir_fixed(&self, samples: &[i16], coeffs: &IirCoeffs) -> ... method apply_iir_float (line 141) | fn apply_iir_float(&self, samples: &[f64], coeffs: &IirCoeffs) -> Vec<... method downsample (line 168) | pub fn downsample(&self, samples: &[f64], factor: usize) -> Vec { method process (line 190) | pub fn process(&self, raw_data: &[Vec]) -> Vec> { method default (line 87) | fn default() -> Self { function test_downsample_factor_2 (line 223) | fn test_downsample_factor_2() { function test_downsample_factor_1_is_identity (line 235) | fn test_downsample_factor_1_is_identity() { function test_downsample_non_multiple (line 243) | fn test_downsample_non_multiple() { function test_process_output_length (line 253) | fn test_process_output_length() { function test_iir_fixed_passthrough_dc (line 265) | fn test_iir_fixed_passthrough_dc() { function test_notch_coefficients_valid (line 282) | fn test_notch_coefficients_valid() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-esp32/src/protocol.rs constant PACKET_MAGIC (line 11) | pub const PACKET_MAGIC: [u8; 4] = [b'r', b'U', b'v', b'N']; constant PROTOCOL_VERSION (line 14) | pub const PROTOCOL_VERSION: u8 = 1; type PacketHeader (line 18) | pub struct PacketHeader { type ChannelData (line 37) | pub struct ChannelData { type NeuralDataPacket (line 48) | pub struct NeuralDataPacket { method new (line 61) | pub fn new(num_channels: u8) -> Self { method serialize (line 86) | pub fn serialize(&self) -> Vec { method deserialize (line 91) | pub fn deserialize(data: &[u8]) -> Result { method compute_checksum (line 104) | pub fn compute_checksum(data: &[u8]) -> u32 { method update_checksum (line 121) | pub fn update_checksum(&mut self) { method verify_checksum (line 129) | pub fn verify_checksum(&self) -> bool { method to_multichannel_timeseries (line 140) | pub fn to_multichannel_timeseries(&self) -> Result Self { method get_slot (line 77) | pub fn get_slot(&self, node_id: u8, current_time_us: u64) -> Option bool { method add_node (line 95) | pub fn add_node(&mut self, node: TdmNode) { method num_nodes (line 101) | pub fn num_nodes(&self) -> usize { method time_until_slot (line 107) | pub fn time_until_slot(&self, node_id: u8, current_time_us: u64) -> Op... function test_tdm_scheduler_slot_assignment (line 128) | fn test_tdm_scheduler_slot_assignment() { function test_tdm_frame_wraps (line 148) | fn test_tdm_frame_wraps() { function test_get_slot_returns_none_for_unknown_node (line 157) | fn test_get_slot_returns_none_for_unknown_node() { function test_time_until_slot (line 163) | fn test_time_until_slot() { function test_add_node_updates_frame (line 176) | fn test_add_node_updates_frame() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/src/atlas.rs type AtlasType (line 10) | pub enum AtlasType { function load_atlas (line 16) | pub fn load_atlas(atlas_type: AtlasType) -> Parcellation { type RegionDef (line 23) | struct RegionDef { function build_desikan_killiany (line 34) | fn build_desikan_killiany() -> Parcellation { function desikan_killiany_regions (line 72) | fn desikan_killiany_regions() -> Vec { function dk68_has_exactly_68_regions (line 258) | fn dk68_has_exactly_68_regions() { function dk68_has_34_per_hemisphere (line 264) | fn dk68_has_34_per_hemisphere() { function dk68_right_hemisphere_mirrors_x (line 273) | fn dk68_right_hemisphere_mirrors_x() { function dk68_region_names_prefixed (line 284) | fn dk68_region_names_prefixed() { function dk68_unique_ids (line 291) | fn dk68_unique_ids() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/src/constructor.rs type BrainGraphConstructor (line 17) | pub struct BrainGraphConstructor { method new (line 31) | pub fn new(atlas: AtlasType, metric: ConnectivityMetric, band: Frequen... method with_threshold (line 43) | pub fn with_threshold(mut self, threshold: f64) -> Self { method with_window_duration (line 49) | pub fn with_window_duration(mut self, duration_s: f64) -> Self { method with_window_step (line 55) | pub fn with_window_step(mut self, step_s: f64) -> Self { method construct_from_matrix (line 64) | pub fn construct_from_matrix( method construct_sequence (line 101) | pub fn construct_sequence( method construct (line 148) | fn construct(&self, signals: &MultiChannelTimeSeries) -> Result Vec> { function make_constructor (line 218) | fn make_constructor() -> BrainGraphConstructor { function identity_matrix_fully_disconnected (line 227) | fn identity_matrix_fully_disconnected() { function ones_matrix_fully_connected (line 245) | fn ones_matrix_fully_connected() { function threshold_filters_weak_edges (line 256) | fn threshold_filters_weak_edges() { function construct_sequence_produces_graphs (line 274) | fn construct_sequence_produces_graphs() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/src/dynamics.rs type TopologySnapshot (line 14) | pub struct TopologySnapshot { type TopologyTracker (line 30) | pub struct TopologyTracker { method new (line 37) | pub fn new() -> Self { method track (line 44) | pub fn track(&mut self, graph: &BrainGraph) { method len (line 57) | pub fn len(&self) -> usize { method is_empty (line 62) | pub fn is_empty(&self) -> bool { method snapshots (line 67) | pub fn snapshots(&self) -> &[TopologySnapshot] { method mincut_timeseries (line 74) | pub fn mincut_timeseries(&self) -> Vec<(f64, f64)> { method fiedler_timeseries (line 84) | pub fn fiedler_timeseries(&self) -> Vec<(f64, f64)> { method efficiency_timeseries (line 92) | pub fn efficiency_timeseries(&self) -> Vec<(f64, f64)> { method clustering_timeseries (line 100) | pub fn clustering_timeseries(&self) -> Vec<(f64, f64)> { method detect_transitions (line 111) | pub fn detect_transitions(&self, threshold: f64) -> Vec { method rate_of_change (line 132) | pub fn rate_of_change(&self) -> Vec<(f64, f64)> { method default (line 150) | fn default() -> Self { function make_edge (line 162) | fn make_edge(s: usize, t: usize, w: f64) -> BrainEdge { function make_graph (line 172) | fn make_graph(timestamp: f64, edges: Vec) -> BrainGraph { function tracker_stores_history (line 183) | fn tracker_stores_history() { function mincut_timeseries_correct_length (line 202) | fn mincut_timeseries_correct_length() { function detect_transitions_returns_correct_timestamps (line 219) | fn detect_transitions_returns_correct_timestamps() { function rate_of_change_correct_length (line 252) | fn rate_of_change_correct_length() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/src/metrics.rs function global_efficiency (line 15) | pub fn global_efficiency(graph: &BrainGraph) -> f64 { function local_efficiency (line 38) | pub fn local_efficiency(graph: &BrainGraph) -> f64 { function clustering_coefficient (line 78) | pub fn clustering_coefficient(graph: &BrainGraph) -> f64 { function node_degree (line 120) | pub fn node_degree(graph: &BrainGraph, node: usize) -> f64 { function degree_distribution (line 125) | pub fn degree_distribution(graph: &BrainGraph) -> Vec { function betweenness_centrality (line 135) | pub fn betweenness_centrality(graph: &BrainGraph) -> Vec { function graph_density (line 223) | pub fn graph_density(graph: &BrainGraph) -> f64 { function small_world_index (line 234) | pub fn small_world_index(graph: &BrainGraph) -> f64 { function modularity (line 275) | pub fn modularity(graph: &BrainGraph, partition: &[Vec]) -> f64 { function all_pairs_shortest_paths (line 315) | fn all_pairs_shortest_paths(graph: &BrainGraph) -> Vec> { function complete_graph (line 353) | fn complete_graph(n: usize) -> BrainGraph { function path_graph (line 376) | fn path_graph(n: usize) -> BrainGraph { function global_efficiency_complete_graph (line 396) | fn global_efficiency_complete_graph() { function global_efficiency_empty_graph (line 405) | fn global_efficiency_empty_graph() { function clustering_coefficient_complete_graph (line 418) | fn clustering_coefficient_complete_graph() { function clustering_coefficient_path_graph (line 425) | fn clustering_coefficient_path_graph() { function density_complete_graph (line 433) | fn density_complete_graph() { function degree_distribution_uniform (line 440) | fn degree_distribution_uniform() { function betweenness_centrality_path (line 450) | fn betweenness_centrality_path() { function modularity_single_community (line 460) | fn modularity_single_community() { function modularity_good_partition (line 469) | fn modularity_good_partition() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/src/petgraph_bridge.rs function to_petgraph (line 17) | pub fn to_petgraph(graph: &BrainGraph) -> UnGraph { function from_petgraph (line 42) | pub fn from_petgraph( function node_index (line 77) | pub fn node_index(region_id: usize) -> NodeIndex { function sample_graph (line 88) | fn sample_graph() -> BrainGraph { function round_trip_preserves_structure (line 121) | fn round_trip_preserves_structure() { function petgraph_has_correct_node_count (line 131) | fn petgraph_has_correct_node_count() { function petgraph_has_correct_edge_count (line 138) | fn petgraph_has_correct_edge_count() { function empty_graph_round_trip (line 145) | fn empty_graph_round_trip() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-graph/src/spectral.rs function graph_laplacian (line 13) | pub fn graph_laplacian(graph: &BrainGraph) -> Vec> { function normalized_laplacian (line 34) | pub fn normalized_laplacian(graph: &BrainGraph) -> Vec> { function fiedler_value (line 69) | pub fn fiedler_value(graph: &BrainGraph) -> f64 { function spectral_gap (line 101) | pub fn spectral_gap(graph: &BrainGraph) -> f64 { function compute_fiedler_rayleigh (line 110) | fn compute_fiedler_rayleigh(laplacian: &[Vec], n: usize) -> f64 { function project_out_ones (line 204) | fn project_out_ones(v: &mut [f64], inv_sqrt_n: f64, _n: usize) { function norm (line 212) | fn norm(v: &[f64]) -> f64 { function normalize (line 217) | fn normalize(v: &mut [f64]) { function make_edge (line 233) | fn make_edge(s: usize, t: usize, w: f64) -> BrainEdge { function complete_graph (line 243) | fn complete_graph(n: usize) -> BrainGraph { function laplacian_row_sums_zero (line 260) | fn laplacian_row_sums_zero() { function laplacian_diagonal_is_degree (line 270) | fn laplacian_diagonal_is_degree() { function normalized_laplacian_diagonal_connected (line 280) | fn normalized_laplacian_diagonal_connected() { function fiedler_value_connected_graph (line 290) | fn fiedler_value_connected_graph() { function fiedler_value_disconnected_graph (line 299) | fn fiedler_value_disconnected_graph() { function spectral_gap_equals_fiedler (line 313) | fn spectral_gap_equals_fiedler() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-memory/benches/benchmarks.rs constant DIM (line 13) | const DIM: usize = 64; function generate_embeddings (line 16) | fn generate_embeddings(count: usize, dim: usize) -> Vec> { function build_hnsw (line 24) | fn build_hnsw(embeddings: &[Vec]) -> HnswIndex { function euclidean_distance (line 33) | fn euclidean_distance(a: &[f64], b: &[f64]) -> f64 { function brute_force_knn (line 42) | fn brute_force_knn( function bench_hnsw_insert (line 57) | fn bench_hnsw_insert(c: &mut Criterion) { function bench_hnsw_search (line 81) | fn bench_hnsw_search(c: &mut Criterion) { function bench_brute_force_nn (line 102) | fn bench_brute_force_nn(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-memory/src/hnsw.rs type ScoredNode (line 9) | struct ScoredNode { method eq (line 15) | fn eq(&self, other: &Self) -> bool { method partial_cmp (line 23) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 29) | fn cmp(&self, other: &Self) -> Ordering { type FurthestNode (line 40) | struct FurthestNode { method eq (line 46) | fn eq(&self, other: &Self) -> bool { method partial_cmp (line 54) | fn partial_cmp(&self, other: &Self) -> Option { method cmp (line 60) | fn cmp(&self, other: &Self) -> Ordering { type HnswIndex (line 71) | pub struct HnswIndex { method new (line 91) | pub fn new(m: usize, ef_construction: usize) -> Self { method insert (line 103) | pub fn insert(&mut self, vector: &[f64]) -> usize { method search (line 194) | pub fn search(&self, query: &[f64], k: usize, ef: usize) -> Vec<(usize... method len (line 224) | pub fn len(&self) -> usize { method is_empty (line 229) | pub fn is_empty(&self) -> bool { method distance (line 234) | fn distance(a: &[f64], b: &[f64]) -> f64 { method select_layer (line 243) | fn select_layer(&self) -> usize { method search_layer (line 255) | fn search_layer( function insert_and_search_basic (line 342) | fn insert_and_search_basic() { function empty_index_returns_empty (line 356) | fn empty_index_returns_empty() { function single_element (line 363) | fn single_element() { function hnsw_recall_vs_brute_force (line 373) | fn hnsw_recall_vs_brute_force() { function distance_is_euclidean (line 428) | fn distance_is_euclidean() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-memory/src/longitudinal.rs type TrendDirection (line 8) | pub enum TrendDirection { type LongitudinalTracker (line 21) | pub struct LongitudinalTracker { method new (line 32) | pub fn new(drift_threshold: f64) -> Self { method set_baseline (line 41) | pub fn set_baseline(&mut self, embeddings: Vec) { method add_observation (line 46) | pub fn add_observation(&mut self, embedding: NeuralEmbedding) { method num_observations (line 51) | pub fn num_observations(&self) -> usize { method compute_drift (line 60) | pub fn compute_drift(&self) -> f64 { method detect_trend (line 77) | pub fn detect_trend(&self) -> TrendDirection { method anomaly_score (line 130) | pub fn anomaly_score(&self, embedding: &NeuralEmbedding) -> f64 { method min_distance_to_baseline (line 141) | fn min_distance_to_baseline(&self, embedding: &NeuralEmbedding) -> f64 { function mean (line 150) | fn mean(values: &[f64]) -> f64 { function make_embedding (line 164) | fn make_embedding(vector: Vec, timestamp: f64) -> NeuralEmbedding { function empty_tracker_returns_zero_drift (line 180) | fn empty_tracker_returns_zero_drift() { function no_drift_when_same_as_baseline (line 186) | fn no_drift_when_same_as_baseline() { function detects_known_drift (line 195) | fn detects_known_drift() { function degrading_trend_detected (line 210) | fn degrading_trend_detected() { function improving_trend_detected (line 227) | fn improving_trend_detected() { function anomaly_score_increases_with_distance (line 247) | fn anomaly_score_increases_with_distance() { function anomaly_score_zero_without_baseline (line 263) | fn anomaly_score_zero_without_baseline() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-memory/src/persistence.rs type StoreSnapshot (line 17) | struct StoreSnapshot { function save_store (line 23) | pub fn save_store(store: &NeuralMemoryStore, path: &str) -> Result<()> { function load_store (line 39) | pub fn load_store(path: &str) -> Result { function save_rvf (line 55) | pub fn save_rvf(store: &NeuralMemoryStore, path: &str) -> Result<()> { function load_rvf (line 89) | pub fn load_rvf(path: &str) -> Result { function make_embedding (line 129) | fn make_embedding(vector: Vec, timestamp: f64) -> NeuralEmbedding { function bincode_round_trip (line 145) | fn bincode_round_trip() { function rvf_round_trip (line 166) | fn rvf_round_trip() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-memory/src/session.rs type SessionMetadata (line 15) | pub struct SessionMetadata { type SessionMemory (line 31) | pub struct SessionMemory { method new (line 46) | pub fn new(capacity: usize) -> Self { method start_session (line 59) | pub fn start_session(&mut self, subject_id: &str) -> String { method end_session (line 86) | pub fn end_session(&mut self) { method store (line 105) | pub fn store(&mut self, embedding: NeuralEmbedding) -> Result { method get_session_history (line 137) | pub fn get_session_history(&self, session_id: &str) -> Vec<&NeuralEmbe... method get_subject_history (line 148) | pub fn get_subject_history(&self, subject_id: &str) -> Vec<&NeuralEmbe... method get_session_metadata (line 153) | pub fn get_session_metadata(&self, session_id: &str) -> Option<&Sessio... method current_session_id (line 158) | pub fn current_session_id(&self) -> Option<&str> { method store_ref (line 163) | pub fn store_ref(&self) -> &NeuralMemoryStore { function make_embedding (line 174) | fn make_embedding(vector: Vec, subject: &str, timestamp: f64) -> Ne... function session_lifecycle (line 190) | fn session_lifecycle() { function store_without_session_fails (line 224) | fn store_without_session_fails() { function multiple_sessions (line 231) | fn multiple_sessions() { function starting_new_session_ends_previous (line 255) | fn starting_new_session_ends_previous() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-memory/src/store.rs type NeuralMemoryStore (line 15) | pub struct NeuralMemoryStore { method new (line 29) | pub fn new(capacity: usize) -> Self { method store (line 43) | pub fn store(&mut self, embedding: NeuralEmbedding) -> Result { method get (line 72) | pub fn get(&self, id: usize) -> Option<&NeuralEmbedding> { method len (line 77) | pub fn len(&self) -> usize { method is_empty (line 82) | pub fn is_empty(&self) -> bool { method query_nearest (line 89) | pub fn query_nearest(&self, query: &NeuralEmbedding, k: usize) -> Vec<... method query_by_state (line 105) | pub fn query_by_state(&self, state: CognitiveState) -> Vec<&NeuralEmbe... method query_by_subject (line 113) | pub fn query_by_subject(&self, subject_id: &str) -> Vec<&NeuralEmbeddi... method query_time_range (line 124) | pub fn query_time_range(&self, start: f64, end: f64) -> Vec<&NeuralEmb... method embeddings_iter (line 135) | pub fn embeddings_iter(&self) -> impl Iterator { method embeddings (line 140) | pub fn embeddings(&self) -> Vec<&NeuralEmbedding> { method capacity (line 145) | pub fn capacity(&self) -> usize { method evict_oldest (line 153) | fn evict_oldest(&mut self) { method store (line 181) | fn store(&mut self, embedding: &NeuralEmbedding) -> Result<()> { method query_nearest (line 186) | fn query_nearest( method query_by_state (line 198) | fn query_by_state(&self, state: CognitiveState) -> Result, subject: &str, timestamp: f64) -> Ne... function make_embedding_with_state (line 227) | fn make_embedding_with_state( function store_and_retrieve (line 247) | fn store_and_retrieve() { function nearest_neighbor_returns_correct_results (line 259) | fn nearest_neighbor_returns_correct_results() { function query_by_state_filters_correctly (line 280) | fn query_by_state_filters_correctly() { function query_by_subject (line 312) | fn query_by_subject() { function query_time_range (line 335) | fn query_time_range() { function capacity_eviction (line 356) | fn capacity_eviction() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/benches/benchmarks.rs function random_graph (line 20) | fn random_graph(num_nodes: usize) -> BrainGraph { function bench_stoer_wagner (line 59) | fn bench_stoer_wagner(c: &mut Criterion) { function bench_spectral_bisection (line 72) | fn bench_spectral_bisection(c: &mut Criterion) { function bench_cheeger_constant (line 85) | fn bench_cheeger_constant(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/benchmark.rs type BenchmarkReport (line 17) | pub struct BenchmarkReport { method fmt (line 33) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function benchmark_stoer_wagner (line 54) | pub fn benchmark_stoer_wagner(num_nodes: usize, density: f64, seed: u64)... function benchmark_normalized_cut (line 75) | pub fn benchmark_normalized_cut(num_nodes: usize, density: f64, seed: u6... function generate_random_graph (line 98) | fn generate_random_graph(num_nodes: usize, density: f64, seed: u64) -> B... function run_benchmark_suite (line 136) | pub fn run_benchmark_suite() -> Vec { function test_benchmark_stoer_wagner (line 152) | fn test_benchmark_stoer_wagner() { function test_benchmark_normalized_cut (line 160) | fn test_benchmark_normalized_cut() { function test_generate_random_graph_deterministic (line 167) | fn test_generate_random_graph_deterministic() { function test_benchmark_report_display (line 174) | fn test_benchmark_report_display() { function test_run_benchmark_suite (line 182) | fn test_run_benchmark_suite() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/coherence.rs type CoherenceEventType (line 14) | pub enum CoherenceEventType { type CoherenceEvent (line 27) | pub struct CoherenceEvent { type CoherenceDetector (line 42) | pub struct CoherenceDetector { method new (line 59) | pub fn new(threshold_integration: f64, threshold_segregation: f64) -> ... method set_baseline (line 68) | pub fn set_baseline(&mut self, baseline: f64) { method tracker (line 73) | pub fn tracker(&self) -> &DynamicMincutTracker { method detect_from_timeseries (line 81) | pub fn detect_from_timeseries( method detect_coherence_events (line 179) | pub fn detect_coherence_events( function find_recovery_time_in_series (line 193) | fn find_recovery_time_in_series( function test_coherence_event_types_serialization (line 216) | fn test_coherence_event_types_serialization() { function test_coherence_event_serialization (line 230) | fn test_coherence_event_serialization() { function test_detect_no_events_for_constant_series (line 245) | fn test_detect_no_events_for_constant_series() { function test_detect_formation_event (line 255) | fn test_detect_formation_event() { function test_detect_dissolution_event (line 279) | fn test_detect_dissolution_event() { function test_detector_empty_series (line 303) | fn test_detector_empty_series() { function test_detector_single_point (line 310) | fn test_detector_single_point() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/dynamic.rs type DynamicMincutTracker (line 18) | pub struct DynamicMincutTracker { method new (line 35) | pub fn new() -> Self { method set_baseline (line 44) | pub fn set_baseline(&mut self, baseline: f64) { method baseline (line 49) | pub fn baseline(&self) -> Option { method update (line 56) | pub fn update(&mut self, graph: &BrainGraph) -> Result { method len (line 64) | pub fn len(&self) -> usize { method is_empty (line 69) | pub fn is_empty(&self) -> bool { method mincut_timeseries (line 74) | pub fn mincut_timeseries(&self) -> Vec<(f64, f64)> { method history (line 83) | pub fn history(&self) -> &[MincutResult] { method detect_transitions (line 97) | pub fn detect_transitions(&self, threshold: f64) -> Vec Vec<(f64, f64)> { method integration_index (line 170) | pub fn integration_index(&self) -> Vec<(f64, f64)> { method partition_stability (line 201) | pub fn partition_stability(&self) -> Vec<(f64, f64)> { method default (line 28) | fn default() -> Self { function jaccard_similarity (line 229) | fn jaccard_similarity(a: &std::collections::HashSet, b: &std::col... type TopologyTransition (line 241) | pub struct TopologyTransition { type TransitionDirection (line 256) | pub enum TransitionDirection { function make_edge (line 270) | fn make_edge(source: usize, target: usize, weight: f64) -> BrainEdge { function make_graph (line 280) | fn make_graph(timestamp: f64, bridge_weight: f64) -> BrainGraph { function test_tracker_basic (line 295) | fn test_tracker_basic() { function test_tracker_timeseries (line 306) | fn test_tracker_timeseries() { function test_detect_transitions (line 323) | fn test_detect_transitions() { function test_rate_of_change (line 342) | fn test_rate_of_change() { function test_integration_index (line 354) | fn test_integration_index() { function test_partition_stability (line 370) | fn test_partition_stability() { function test_default_tracker (line 389) | fn test_default_tracker() { function test_transition_direction (line 396) | fn test_transition_direction() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/multiway.rs function multiway_cut (line 23) | pub fn multiway_cut(graph: &BrainGraph, k: usize) -> Result Result { function build_subgraph (line 135) | fn build_subgraph(graph: &BrainGraph, subset: &[usize]) -> BrainGraph { function compute_modularity (line 170) | pub fn compute_modularity(graph: &BrainGraph, partitions: &[Vec])... function compute_total_cut (line 206) | fn compute_total_cut(graph: &BrainGraph, partitions: &[Vec]) -> f... function make_edge (line 236) | fn make_edge(source: usize, target: usize, weight: f64) -> BrainEdge { function test_multiway_k2 (line 248) | fn test_multiway_k2() { function test_multiway_k3 (line 272) | fn test_multiway_k3() { function test_detect_modules (line 305) | fn test_detect_modules() { function test_multiway_k1_error (line 329) | fn test_multiway_k1_error() { function test_multiway_too_many_partitions (line 342) | fn test_multiway_too_many_partitions() { function test_modularity_positive_for_good_partition (line 354) | fn test_modularity_positive_for_good_partition() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/normalized.rs function normalized_cut (line 29) | pub fn normalized_cut(graph: &BrainGraph) -> Result { function volume (line 140) | pub fn volume(graph: &BrainGraph, nodes: &[usize]) -> f64 { function cut_weight (line 145) | pub fn cut_weight(graph: &BrainGraph, set_a: &[usize], set_b: &[usize]) ... function make_edge (line 167) | fn make_edge(source: usize, target: usize, weight: f64) -> BrainEdge { function test_normalized_cut_barbell (line 179) | fn test_normalized_cut_barbell() { function test_normalized_cut_balanced (line 212) | fn test_normalized_cut_balanced() { function test_volume_computation (line 232) | fn test_volume_computation() { function test_cut_weight_computation (line 250) | fn test_cut_weight_computation() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/spectral_cut.rs function fiedler_decomposition (line 20) | pub fn fiedler_decomposition(graph: &BrainGraph) -> Result<(f64, Vec Result { function cheeger_constant (line 162) | pub fn cheeger_constant(graph: &BrainGraph) -> Result { function cheeger_bound (line 257) | pub fn cheeger_bound(fiedler_value: f64) -> (f64, f64) { function largest_eigenvalue (line 268) | fn largest_eigenvalue(mat: &[Vec], n: usize, max_iter: usize) -> f64 { function deflate (line 294) | fn deflate(v: &mut [f64], u: &[f64]) { function dot (line 301) | fn dot(a: &[f64], b: &[f64]) -> f64 { function normalize (line 305) | fn normalize(v: &mut [f64]) { function make_edge (line 321) | fn make_edge(source: usize, target: usize, weight: f64) -> BrainEdge { function test_fiedler_path_p3 (line 334) | fn test_fiedler_path_p3() { function test_cheeger_bounds_hold (line 362) | fn test_cheeger_bounds_hold() { function test_spectral_bisection_barbell (line 408) | fn test_spectral_bisection_barbell() { function test_cheeger_bound_values (line 441) | fn test_cheeger_bound_values() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-mincut/src/stoer_wagner.rs function stoer_wagner_mincut (line 20) | pub fn stoer_wagner_mincut(graph: &BrainGraph) -> Result { type PhaseResult (line 87) | struct PhaseResult { function minimum_cut_phase (line 104) | fn minimum_cut_phase( function merge_vertices (line 174) | fn merge_vertices( function find_cut_edges (line 200) | fn find_cut_edges( function make_edge (line 223) | fn make_edge(source: usize, target: usize, weight: f64) -> BrainEdge { function test_stoer_wagner_known_graph (line 246) | fn test_stoer_wagner_known_graph() { function test_stoer_wagner_complete_k4 (line 275) | fn test_stoer_wagner_complete_k4() { function test_stoer_wagner_disconnected (line 300) | fn test_stoer_wagner_disconnected() { function test_stoer_wagner_single_node (line 322) | fn test_stoer_wagner_single_node() { function test_stoer_wagner_complete_kn (line 335) | fn test_stoer_wagner_complete_kn() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-sensor/src/calibration.rs type CalibrationData (line 4) | pub struct CalibrationData { function calibrate_channel (line 16) | pub fn calibrate_channel(raw: f64, channel: usize, cal: &CalibrationData... function estimate_noise_floor (line 23) | pub fn estimate_noise_floor(signal: &[f64]) -> f64 { function cross_calibrate (line 35) | pub fn cross_calibrate(reference: &[f64], target: &[f64]) -> (f64, f64) { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-sensor/src/eeg.rs constant STANDARD_10_20_LABELS (line 18) | pub const STANDARD_10_20_LABELS: &[&str] = &[ function standard_10_20_positions (line 24) | fn standard_10_20_positions() -> Vec<[f64; 3]> { type EegConfig (line 44) | pub struct EegConfig { method default (line 60) | fn default() -> Self { type EegArray (line 82) | pub struct EegArray { method new (line 146) | pub fn new(config: EegConfig) -> Self { method sensor_array (line 183) | pub fn sensor_array(&self) -> &SensorArray { method set_impedance (line 188) | pub fn set_impedance(&mut self, channel: usize, impedance_kohm: f64) -... method impedance_ok (line 200) | pub fn impedance_ok(&self) -> bool { method high_impedance_channels (line 207) | pub fn high_impedance_channels(&self, threshold_kohm: f64) -> Vec &str { method average_reference (line 226) | pub fn average_reference(data: &mut [Vec]) { method spatial_correlation (line 242) | fn spatial_correlation(&self, ch_a: usize, ch_b: usize) -> f64 { method blink_waveform (line 252) | fn blink_waveform(t_since_onset: f64) -> f64 { type BrainSources (line 94) | struct BrainSources { method new (line 110) | fn new() -> Self { function box_muller_single (line 123) | fn box_muller_single(rng: &mut impl rand::Rng) -> f64 { function distance (line 130) | fn distance(a: &[f64; 3], b: &[f64; 3]) -> f64 { function is_frontal_polar (line 135) | fn is_frontal_polar(label: &str) -> bool { function is_temporal (line 140) | fn is_temporal(label: &str) -> bool { method sensor_type (line 264) | fn sensor_type(&self) -> SensorType { method num_channels (line 268) | fn num_channels(&self) -> usize { method sample_rate_hz (line 272) | fn sample_rate_hz(&self) -> f64 { method read_chunk (line 276) | fn read_chunk(&mut self, num_samples: usize) -> Result Self { type NvCalibration (line 55) | pub struct NvCalibration { method default_for (line 66) | pub fn default_for(n: usize) -> Self { type NvDiamondArray (line 82) | pub struct NvDiamondArray { method new (line 133) | pub fn new(config: NvDiamondConfig) -> Self { method sensor_array (line 174) | pub fn sensor_array(&self) -> &SensorArray { method with_calibration (line 179) | pub fn with_calibration(mut self, calibration: NvCalibration) -> Resul... method calibration (line 191) | pub fn calibration(&self) -> &NvCalibration { method odmr_to_field (line 204) | pub fn odmr_to_field(&self, fluorescence: f64, channel: usize) -> Resu... method brain_signal_ft (line 226) | fn brain_signal_ft(&self, t: f64, ch: usize) -> f64 { type PinkNoiseGen (line 93) | struct PinkNoiseGen { method new (line 99) | fn new() -> Self { method next (line 108) | fn next(&mut self, rng: &mut impl rand::Rng) -> f64 { function box_muller_single (line 125) | fn box_muller_single(rng: &mut impl rand::Rng) -> f64 { method sensor_type (line 243) | fn sensor_type(&self) -> SensorType { method num_channels (line 247) | fn num_channels(&self) -> usize { method sample_rate_hz (line 251) | fn sample_rate_hz(&self) -> f64 { method read_chunk (line 255) | fn read_chunk(&mut self, num_samples: usize) -> Result Self { type OpmArray (line 82) | pub struct OpmArray { method new (line 90) | pub fn new(config: OpmConfig) -> Self { method sensor_array (line 125) | pub fn sensor_array(&self) -> &SensorArray { method compensate_cross_talk (line 134) | pub fn compensate_cross_talk(&self, raw: &mut [f64]) -> Result<()> { method full_cross_talk_compensation (line 159) | pub fn full_cross_talk_compensation(&self, data: &mut Vec>) -... method apply_active_shielding (line 190) | pub fn apply_active_shielding(&self, data: &mut [f64]) -> Result<()> { function solve_linear_system (line 208) | fn solve_linear_system(matrix: &[Vec], rhs: &[f64]) -> Option SensorType { method num_channels (line 279) | fn num_channels(&self) -> usize { method sample_rate_hz (line 283) | fn sample_rate_hz(&self) -> f64 { method read_chunk (line 287) | fn read_chunk(&mut self, num_samples: usize) -> Result>) -> OpmArray { function identity_cross_talk_is_noop (line 358) | fn identity_cross_talk_is_noop() { function known_3x3_cross_talk_solution (line 373) | fn known_3x3_cross_talk_solution() { function singular_matrix_falls_back_to_diagonal (line 400) | fn singular_matrix_falls_back_to_diagonal() { function solve_linear_system_basic (line 416) | fn solve_linear_system_basic() { function solve_linear_system_singular_returns_none (line 428) | fn solve_linear_system_singular_returns_none() { function full_cross_talk_compensation_time_series (line 438) | fn full_cross_talk_compensation_time_series() { function dimension_mismatch_error (line 495) | fn dimension_mismatch_error() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-sensor/src/quality.rs type SignalQuality (line 4) | pub struct SignalQuality { method below_threshold (line 17) | pub fn below_threshold(&self) -> bool { type QualityMonitor (line 23) | pub struct QualityMonitor { method new (line 29) | pub fn new(num_channels: usize) -> Self { method check_quality (line 36) | pub fn check_quality(&mut self, signals: &[&[f64]]) -> Vec f64 { function detect_saturation (line 84) | fn detect_saturation(signal: &[f64]) -> bool { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-sensor/src/simulator.rs type SensorEvent (line 16) | pub enum SensorEvent { type OscillationComponent (line 52) | struct OscillationComponent { type SimulatedSensorArray (line 64) | pub struct SimulatedSensorArray { method new (line 89) | pub fn new(num_channels: usize, sample_rate_hz: f64) -> Self { method with_noise (line 130) | pub fn with_noise(mut self, noise_density_ft: f64) -> Self { method inject_alpha (line 139) | pub fn inject_alpha(&mut self, amplitude_ft: f64) { method inject_event (line 147) | pub fn inject_event(&mut self, event: SensorEvent) { method sensor_array (line 152) | pub fn sensor_array(&self) -> &SensorArray { method add_oscillation (line 157) | pub fn add_oscillation(&mut self, frequency_hz: f64, amplitude_ft: f64) { method generate_channel (line 165) | fn generate_channel(&mut self, channel_idx: usize, num_samples: usize)... method sensor_type (line 245) | fn sensor_type(&self) -> SensorType { method num_channels (line 249) | fn num_channels(&self) -> usize { method sample_rate_hz (line 253) | fn sample_rate_hz(&self) -> f64 { method read_chunk (line 257) | fn read_chunk(&mut self, num_samples: usize) -> Result Vec { function generate_multichannel (line 28) | fn generate_multichannel(num_channels: usize, num_samples: usize) -> Mul... function bench_hilbert_transform (line 51) | fn bench_hilbert_transform(c: &mut Criterion) { function bench_compute_psd (line 64) | fn bench_compute_psd(c: &mut Criterion) { function bench_connectivity_matrix (line 75) | fn bench_connectivity_matrix(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-signal/src/artifact.rs function detect_eye_blinks (line 28) | pub fn detect_eye_blinks(signal: &[f64], sample_rate: f64) -> Vec<(usize... function detect_muscle_artifact (line 87) | pub fn detect_muscle_artifact(signal: &[f64], sample_rate: f64) -> Vec<(... function detect_cardiac (line 154) | pub fn detect_cardiac(signal: &[f64], sample_rate: f64) -> Vec { function reject_artifacts (line 231) | pub fn reject_artifacts( function merge_ranges_with_padding (line 271) | fn merge_ranges_with_padding( function detect_eye_blinks_finds_large_deflections (line 310) | fn detect_eye_blinks_finds_large_deflections() { function reject_artifacts_interpolates_correctly (line 338) | fn reject_artifacts_interpolates_correctly() { function detect_cardiac_finds_periodic_peaks (line 359) | fn detect_cardiac_finds_periodic_peaks() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-signal/src/connectivity.rs type ConnectivityMetric (line 26) | pub enum ConnectivityMetric { function contains_non_finite (line 34) | pub fn contains_non_finite(data: &[f64]) -> bool { function validate_signal_finite (line 41) | pub fn validate_signal_finite(data: &[f64], label: &str) -> std::result:... function phase_locking_value (line 64) | pub fn phase_locking_value( function coherence (line 109) | pub fn coherence( function imaginary_coherence (line 182) | pub fn imaginary_coherence( function amplitude_envelope_correlation (line 254) | pub fn amplitude_envelope_correlation( function compute_all_pairs (line 296) | pub fn compute_all_pairs( function pearson_correlation (line 372) | fn pearson_correlation(a: &[f64], b: &[f64]) -> f64 { function hann_window (line 402) | fn hann_window(length: usize) -> Vec { function plv_of_identical_signals_is_one (line 415) | fn plv_of_identical_signals_is_one() { function plv_of_unrelated_signals_is_low (line 434) | fn plv_of_unrelated_signals_is_low() { function coherence_of_identical_signals_is_one (line 460) | fn coherence_of_identical_signals_is_one() { function compute_all_pairs_returns_symmetric_matrix (line 487) | fn compute_all_pairs_returns_symmetric_matrix() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-signal/src/filter.rs type SignalProcessor (line 13) | pub trait SignalProcessor { method process (line 15) | fn process(&self, signal: &[f64]) -> Vec; method process (line 251) | fn process(&self, signal: &[f64]) -> Vec { method process (line 308) | fn process(&self, signal: &[f64]) -> Vec { method process (line 345) | fn process(&self, signal: &[f64]) -> Vec { method process (line 382) | fn process(&self, signal: &[f64]) -> Vec { type SecondOrderSection (line 22) | pub struct SecondOrderSection { method apply (line 32) | fn apply(&self, signal: &[f64]) -> Vec { function apply_sos_filtfilt (line 52) | fn apply_sos_filtfilt(sections: &[SecondOrderSection], signal: &[f64]) -... function butterworth_poles (line 79) | fn butterworth_poles(order: usize) -> Vec<(f64, f64)> { function prewarp (line 89) | fn prewarp(freq_hz: f64, sample_rate: f64) -> f64 { function design_lowpass_sos (line 95) | fn design_lowpass_sos(pole_re: f64, pole_im: f64, wc: f64, fs: f64) -> S... function design_highpass_sos (line 129) | fn design_highpass_sos(pole_re: f64, pole_im: f64, wc: f64, fs: f64) -> ... function design_butterworth_lowpass (line 164) | fn design_butterworth_lowpass(order: usize, cutoff_hz: f64, sample_rate:... function design_butterworth_highpass (line 184) | fn design_butterworth_highpass(order: usize, cutoff_hz: f64, sample_rate... type BandpassFilter (line 207) | pub struct BandpassFilter { method new (line 230) | pub fn new(order: usize, low_hz: f64, high_hz: f64, sample_rate: f64) ... method apply (line 244) | pub fn apply(&self, signal: &[f64]) -> Vec { type NotchFilter (line 260) | pub struct NotchFilter { method new (line 278) | pub fn new(center_hz: f64, bandwidth_hz: f64, sample_rate: f64) -> Self { method apply (line 302) | pub fn apply(&self, signal: &[f64]) -> Vec { type HighpassFilter (line 315) | pub struct HighpassFilter { method new (line 328) | pub fn new(order: usize, cutoff_hz: f64, sample_rate: f64) -> Self { method apply (line 339) | pub fn apply(&self, signal: &[f64]) -> Vec { type LowpassFilter (line 352) | pub struct LowpassFilter { method new (line 365) | pub fn new(order: usize, cutoff_hz: f64, sample_rate: f64) -> Self { method apply (line 376) | pub fn apply(&self, signal: &[f64]) -> Vec { function sine_wave (line 392) | fn sine_wave(freq_hz: f64, sample_rate: f64, duration_s: f64) -> Vec { function rms (line 402) | fn rms(signal: &[f64]) -> f64 { function bandpass_passes_correct_frequency (line 408) | fn bandpass_passes_correct_frequency() { function bandpass_rejects_out_of_band (line 428) | fn bandpass_rejects_out_of_band() { function notch_removes_target_frequency (line 447) | fn notch_removes_target_frequency() { function lowpass_passes_low_frequency (line 467) | fn lowpass_passes_low_frequency() { function highpass_passes_high_frequency (line 487) | fn highpass_passes_high_frequency() { function empty_signal_returns_empty (line 507) | fn empty_signal_returns_empty() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-signal/src/hilbert.rs function hilbert_transform (line 25) | pub fn hilbert_transform(signal: &[f64]) -> Vec> { function instantaneous_phase (line 73) | pub fn instantaneous_phase(signal: &[f64]) -> Vec { function instantaneous_amplitude (line 83) | pub fn instantaneous_amplitude(signal: &[f64]) -> Vec { function hilbert_of_cosine_gives_sine (line 97) | fn hilbert_of_cosine_gives_sine() { function instantaneous_amplitude_of_constant_frequency (line 122) | fn instantaneous_amplitude_of_constant_frequency() { function empty_signal (line 142) | fn empty_signal() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-signal/src/preprocessing.rs type PipelineStage (line 16) | enum PipelineStage { type PreprocessingPipeline (line 34) | pub struct PreprocessingPipeline { method new (line 41) | pub fn new(sample_rate: f64) -> Self { method default_pipeline (line 52) | pub fn default_pipeline(sample_rate: f64) -> Self { method add_notch (line 65) | pub fn add_notch(&mut self, center_hz: f64, bandwidth_hz: f64) { method add_bandpass (line 76) | pub fn add_bandpass(&mut self, low_hz: f64, high_hz: f64, order: usize) { method add_artifact_rejection (line 85) | pub fn add_artifact_rejection(&mut self) { method process (line 93) | pub fn process(&self, data: &MultiChannelTimeSeries) -> Result Vec<(usize, usize)> { function preprocessing_pipeline_processes_without_error (line 179) | fn preprocessing_pipeline_processes_without_error() { function empty_data_returns_error (line 214) | fn empty_data_returns_error() { function custom_pipeline_builds_and_runs (line 229) | fn custom_pipeline_builds_and_runs() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-signal/src/spectral.rs function hann_window (line 20) | fn hann_window(length: usize) -> Vec { function compute_psd (line 38) | pub fn compute_psd(signal: &[f64], sample_rate: f64, window_size: usize)... function compute_stft (line 97) | pub fn compute_stft( function band_power (line 152) | pub fn band_power(psd: &[f64], freqs: &[f64], band: FrequencyBand) -> f64 { function spectral_entropy (line 174) | pub fn spectral_entropy(psd: &[f64]) -> f64 { function peak_frequency (line 192) | pub fn peak_frequency(psd: &[f64], freqs: &[f64]) -> f64 { function psd_of_sinusoid_peaks_at_correct_frequency (line 213) | fn psd_of_sinusoid_peaks_at_correct_frequency() { function spectral_entropy_white_noise_gt_pure_tone (line 235) | fn spectral_entropy_white_noise_gt_pure_tone() { function stft_produces_correct_dimensions (line 270) | fn stft_produces_correct_dimensions() { function band_power_extracts_correct_band (line 285) | fn band_power_extracts_correct_band() { function empty_signal_psd (line 298) | fn empty_signal_psd() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-viz/src/animation.rs type LayoutType (line 13) | pub enum LayoutType { type AnimatedNode (line 24) | pub struct AnimatedNode { type AnimatedEdge (line 39) | pub struct AnimatedEdge { type AnimationFrame (line 54) | pub struct AnimationFrame { type AnimationFrames (line 67) | pub struct AnimationFrames { method from_graph_sequence (line 76) | pub fn from_graph_sequence( method to_json (line 178) | pub fn to_json(&self) -> String { method frame_count (line 183) | pub fn frame_count(&self) -> usize { method get_frame (line 188) | pub fn get_frame(&self, index: usize) -> Option<&AnimationFrame> { function make_sequence (line 200) | fn make_sequence(count: usize) -> BrainGraphSequence { function animation_frame_count_matches (line 233) | fn animation_frame_count_matches() { function animation_get_frame (line 240) | fn animation_get_frame() { function animation_to_json_valid (line 249) | fn animation_to_json_valid() { function animation_force_directed (line 259) | fn animation_force_directed() { function animation_empty_sequence (line 269) | fn animation_empty_sequence() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-viz/src/ascii.rs function render_ascii_graph (line 9) | pub fn render_ascii_graph(graph: &BrainGraph, width: usize, height: usiz... function draw_line (line 73) | fn draw_line( function render_ascii_mincut (line 100) | pub fn render_ascii_mincut(result: &MincutResult, graph: &BrainGraph) ->... function render_sparkline (line 154) | pub fn render_sparkline(values: &[f64], width: usize) -> String { function render_dashboard (line 193) | pub fn render_dashboard(metrics: &TopologyMetrics, state: &CognitiveStat... function bar (line 241) | fn bar(value: f64, max_val: f64, width: usize) -> String { function sparkline_renders_known_values (line 256) | fn sparkline_renders_known_values() { function sparkline_empty (line 267) | fn sparkline_empty() { function sparkline_zero_width (line 272) | fn sparkline_zero_width() { function sparkline_constant_values (line 277) | fn sparkline_constant_values() { function dashboard_renders (line 283) | fn dashboard_renders() { function mincut_renders (line 303) | fn mincut_renders() { function ascii_graph_renders (line 325) | fn ascii_graph_renders() { function ascii_graph_empty (line 345) | fn ascii_graph_empty() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-viz/src/colormap.rs type ColorMap (line 5) | pub struct ColorMap { method new (line 15) | pub fn new(stops: Vec<(f64, [u8; 3])>) -> Self { method cool_warm (line 21) | pub fn cool_warm() -> Self { method viridis (line 32) | pub fn viridis() -> Self { method module_colors (line 47) | pub fn module_colors(num_modules: usize) -> Vec<[u8; 3]> { method map (line 62) | pub fn map(&self, value: f64) -> [u8; 3] { method map_hex (line 97) | pub fn map_hex(&self, value: f64) -> String { function lerp_u8 (line 104) | fn lerp_u8(a: u8, b: u8, t: f64) -> u8 { function hsv_to_rgb (line 110) | fn hsv_to_rgb(h: f64, s: f64, v: f64) -> [u8; 3] { function cool_warm_blue_at_zero (line 142) | fn cool_warm_blue_at_zero() { function cool_warm_white_at_half (line 149) | fn cool_warm_white_at_half() { function cool_warm_red_at_one (line 156) | fn cool_warm_red_at_one() { function map_hex_format (line 163) | fn map_hex_format() { function module_colors_distinct (line 170) | fn module_colors_distinct() { function module_colors_empty (line 182) | fn module_colors_empty() { function clamp_below_zero (line 188) | fn clamp_below_zero() { function clamp_above_one (line 195) | fn clamp_above_one() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-viz/src/export.rs function to_d3_json (line 15) | pub fn to_d3_json(graph: &BrainGraph, layout: &[[f64; 3]]) -> String { function to_dot (line 40) | pub fn to_dot(graph: &BrainGraph) -> String { function timeline_to_csv (line 69) | pub fn timeline_to_csv(timeline: &[(f64, TopologyMetrics)]) -> String { function to_gexf (line 92) | pub fn to_gexf(graph: &BrainGraph) -> String { function make_graph (line 134) | fn make_graph() -> BrainGraph { function d3_json_valid (line 160) | fn d3_json_valid() { function dot_valid_format (line 174) | fn dot_valid_format() { function csv_header_and_rows (line 184) | fn csv_header_and_rows() { function gexf_valid_structure (line 221) | fn gexf_valid_structure() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-viz/src/layout.rs type ForceDirectedLayout (line 11) | pub struct ForceDirectedLayout { method new (line 30) | pub fn new() -> Self { method compute (line 44) | pub fn compute(&self, graph: &BrainGraph) -> Vec<[f64; 3]> { method default (line 23) | fn default() -> Self { type AnatomicalLayout (line 130) | pub struct AnatomicalLayout; method compute (line 134) | pub fn compute(parcellation: &Parcellation) -> Vec<[f64; 3]> { function circular_layout (line 142) | pub fn circular_layout(num_nodes: usize) -> Vec<[f64; 2]> { function make_test_graph (line 161) | fn make_test_graph(num_nodes: usize) -> BrainGraph { function force_directed_positions_within_bounds (line 186) | fn force_directed_positions_within_bounds() { function force_directed_empty_graph (line 200) | fn force_directed_empty_graph() { function circular_layout_correct_count (line 214) | fn circular_layout_correct_count() { function circular_layout_on_unit_circle (line 220) | fn circular_layout_on_unit_circle() { function circular_layout_empty (line 229) | fn circular_layout_empty() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-wasm/src/graph_wasm.rs type WasmGraphError (line 13) | pub struct WasmGraphError(pub String); method fmt (line 16) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function wasm_mincut (line 28) | pub fn wasm_mincut(graph: &BrainGraph) -> Result Result Result], n: usize) -> f64 { function approximate_fiedler (line 453) | fn approximate_fiedler(adj: &[Vec], n: usize) -> f64 { function estimate_modularity (line 526) | fn estimate_modularity( function compute_local_efficiency (line 565) | fn compute_local_efficiency(adj: &[Vec], n: usize) -> f64 { function make_test_graph (line 615) | fn make_test_graph() -> BrainGraph { function test_wasm_mincut_finds_cut (line 652) | fn test_wasm_mincut_finds_cut() { function test_wasm_mincut_single_node (line 661) | fn test_wasm_mincut_single_node() { function test_wasm_topology_metrics (line 674) | fn test_wasm_topology_metrics() { function test_wasm_embed (line 683) | fn test_wasm_embed() { function test_wasm_decode_sleep (line 691) | fn test_wasm_decode_sleep() { function test_wasm_decode_rest (line 711) | fn test_wasm_decode_rest() { function test_wasm_mincut_empty_graph (line 728) | fn test_wasm_mincut_empty_graph() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-wasm/src/lib.rs function init (line 35) | pub fn init() { function create_brain_graph (line 50) | pub fn create_brain_graph(json_data: &str) -> Result { function compute_mincut (line 67) | pub fn compute_mincut(json_graph: &str) -> Result { function compute_topology_metrics (line 86) | pub fn compute_topology_metrics(json_graph: &str) -> Result Result Result { function load_rvf (line 142) | pub fn load_rvf(data: &[u8]) -> Result { function export_rvf (line 158) | pub fn export_rvf(json_graph: &str) -> Result, JsError> { function version (line 183) | pub fn version() -> String { function sample_graph_json (line 194) | fn sample_graph_json() -> String { function test_create_brain_graph_parses_valid_json (line 221) | fn test_create_brain_graph_parses_valid_json() { function test_create_brain_graph_rejects_invalid_json (line 229) | fn test_create_brain_graph_rejects_invalid_json() { function test_compute_mincut_returns_valid_result (line 235) | fn test_compute_mincut_returns_valid_result() { function test_rvf_round_trip (line 244) | fn test_rvf_round_trip() { function test_version_returns_string (line 272) | fn test_version_returns_string() { function test_decode_state_from_metrics (line 279) | fn test_decode_state_from_metrics() { function test_embed_graph_produces_correct_dimensions (line 299) | fn test_embed_graph_produces_correct_dimensions() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-wasm/src/streaming.rs type StreamProcessor (line 16) | pub struct StreamProcessor { method new (line 52) | pub fn new(window_size: usize, step_size: usize) -> Self { method push_samples (line 68) | pub fn push_samples(&mut self, samples: &[f64]) -> Option { method reset (line 74) | pub fn reset(&mut self) { method buffered_count (line 80) | pub fn buffered_count(&self) -> usize { method windows_emitted (line 85) | pub fn windows_emitted(&self) -> u64 { method window_size (line 90) | pub fn window_size(&self) -> usize { method step_size (line 95) | pub fn step_size(&self) -> usize { method push_samples_native (line 102) | pub fn push_samples_native(&mut self, samples: &[f64]) -> Option WindowStats { function test_stream_processor_accumulates (line 153) | fn test_stream_processor_accumulates() { function test_stream_processor_emits_on_full_window (line 164) | fn test_stream_processor_emits_on_full_window() { function test_stream_processor_reset (line 178) | fn test_stream_processor_reset() { function test_window_stats_computation (line 187) | fn test_window_stats_computation() { function test_stream_processor_zero_step_defaults_to_one (line 198) | fn test_stream_processor_zero_step_defaults_to_one() { function test_multiple_windows (line 204) | fn test_multiple_windows() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/ruv-neural-wasm/src/viz_data.rs type VizGraph (line 15) | pub struct VizGraph { type VizNode (line 28) | pub struct VizNode { type VizEdge (line 49) | pub struct VizEdge { constant GROUP_COLORS (line 63) | const GROUP_COLORS: &[&str] = &[ function create_viz_graph (line 75) | pub fn create_viz_graph(graph: &BrainGraph) -> VizGraph { function to_viz_graph (line 164) | pub fn to_viz_graph(json_graph: &str) -> Result { function make_test_graph (line 178) | fn make_test_graph() -> BrainGraph { function test_viz_graph_creation (line 211) | fn test_viz_graph_creation() { function test_viz_graph_serializes (line 221) | fn test_viz_graph_serializes() { function test_viz_node_has_position (line 230) | fn test_viz_node_has_position() { function test_cut_edges_marked (line 240) | fn test_cut_edges_marked() { FILE: rust-port/wifi-densepose-rs/crates/ruv-neural/tests/integration.rs function core_types_are_send_and_sync (line 24) | fn core_types_are_send_and_sync() { function core_enums_roundtrip_serde (line 34) | fn core_enums_roundtrip_serde() { function simulator_produces_valid_multichannel_data (line 56) | fn simulator_produces_valid_multichannel_data() { function simulator_with_alpha_injection (line 72) | fn simulator_with_alpha_injection() { function preprocessing_pipeline_processes_channel_data (line 90) | fn preprocessing_pipeline_processes_channel_data() { function connectivity_matrix_from_signals (line 107) | fn connectivity_matrix_from_signals() { function brain_graph_construction_and_mincut (line 140) | fn brain_graph_construction_and_mincut() { function normalized_cut_produces_valid_partition (line 215) | fn normalized_cut_produces_valid_partition() { function neural_embedding_creation_and_serialization (line 258) | fn neural_embedding_creation_and_serialization() { function zero_embedding_has_zero_norm (line 277) | fn zero_embedding_has_zero_norm() { function empty_embedding_is_rejected (line 286) | fn empty_embedding_is_rejected() { function decoder_types_exist_and_are_constructible (line 298) | fn decoder_types_exist_and_are_constructible() { function core_traits_are_object_safe (line 316) | fn core_traits_are_object_safe() { function full_pipeline_simulate_to_mincut (line 335) | fn full_pipeline_simulate_to_mincut() { function brain_graph_serde_roundtrip (line 406) | fn brain_graph_serde_roundtrip() { function multiway_cut_produces_valid_partitions (line 444) | fn multiway_cut_produces_valid_partitions() { function spectral_bisection_produces_valid_split (line 522) | fn spectral_bisection_produces_valid_split() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-cli/src/lib.rs type Cli (line 36) | pub struct Cli { type Commands (line 44) | pub enum Commands { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-cli/src/main.rs function main (line 11) | async fn main() -> anyhow::Result<()> { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-cli/src/mat.rs type MatCommand (line 25) | pub enum MatCommand { type ScanArgs (line 47) | pub struct ScanArgs { type DisasterTypeArg (line 79) | pub enum DisasterTypeArg { method from (line 89) | fn from(val: DisasterTypeArg) -> Self { type StatusArgs (line 103) | pub struct StatusArgs { type ZonesArgs (line 119) | pub struct ZonesArgs { type ZonesCommand (line 127) | pub enum ZonesCommand { type ZoneType (line 179) | pub enum ZoneType { type SurvivorsArgs (line 186) | pub struct SurvivorsArgs { type TriageFilter (line 214) | pub enum TriageFilter { method from (line 223) | fn from(val: TriageFilter) -> Self { type SortOrder (line 236) | pub enum SortOrder { type OutputFormat (line 249) | pub enum OutputFormat { type AlertsArgs (line 261) | pub struct AlertsArgs { type AlertsCommand (line 281) | pub enum AlertsCommand { type PriorityFilter (line 318) | pub enum PriorityFilter { type ResolutionType (line 327) | pub enum ResolutionType { type ExportArgs (line 336) | pub struct ExportArgs { type ExportFormat (line 360) | pub enum ExportFormat { type SurvivorRow (line 371) | struct SurvivorRow { type ZoneRow (line 390) | struct ZoneRow { type AlertRow (line 409) | struct AlertRow { type SystemStatus (line 426) | struct SystemStatus { function execute (line 442) | pub async fn execute(command: MatCommand) -> Result<()> { function execute_scan (line 454) | async fn execute_scan(args: ScanArgs) -> Result<()> { function simulate_scan_output (line 534) | async fn simulate_scan_output() -> Result<()> { function print_detection (line 607) | fn print_detection( function execute_status (line 631) | async fn execute_status(args: StatusArgs) -> Result<()> { function execute_zones (line 722) | async fn execute_zones(args: ZonesArgs) -> Result<()> { function parse_bounds (line 836) | fn parse_bounds(zone_type: &ZoneType, bounds: &str) -> Result { function execute_survivors (line 866) | async fn execute_survivors(args: SurvivorsArgs) -> Result<()> { function execute_alerts (line 970) | async fn execute_alerts(args: AlertsArgs) -> Result<()> { function execute_export (line 1059) | async fn execute_export(args: ExportArgs) -> Result<()> { function format_triage (line 1159) | fn format_triage(status: &TriageStatus) -> String { function format_zone_status (line 1170) | fn format_zone_status(status: &ZoneStatus) -> String { function format_priority (line 1181) | fn format_priority(priority: Priority) -> String { function format_alert_status (line 1191) | fn format_alert_status(status: &AlertStatus) -> String { function test_parse_rectangle_bounds (line 1207) | fn test_parse_rectangle_bounds() { function test_parse_circle_bounds (line 1213) | fn test_parse_circle_bounds() { function test_parse_invalid_bounds (line 1219) | fn test_parse_invalid_bounds() { function test_disaster_type_conversion (line 1225) | fn test_disaster_type_conversion() { function test_triage_filter_conversion (line 1231) | fn test_triage_filter_conversion() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-core/src/error.rs type CoreResult (line 27) | pub type CoreResult = Result; type CoreError (line 35) | pub enum CoreError { method configuration (line 100) | pub fn configuration(message: impl Into) -> Self { method validation (line 108) | pub fn validation(message: impl Into) -> Self { method not_found (line 116) | pub fn not_found(resource_type: &'static str, id: impl Into) -... method timeout (line 125) | pub fn timeout(operation: impl Into, duration_ms: u64) -> Self { method invalid_state (line 134) | pub fn invalid_state(expected: impl Into, actual: impl Into) -> Self { method is_recoverable (line 151) | pub fn is_recoverable(&self) -> bool { type SignalError (line 169) | pub enum SignalError { method is_recoverable (line 254) | pub const fn is_recoverable(&self) -> bool { type InferenceError (line 273) | pub enum InferenceError { method is_recoverable (line 349) | pub const fn is_recoverable(&self) -> bool { type StorageError (line 366) | pub enum StorageError { method is_recoverable (line 442) | pub const fn is_recoverable(&self) -> bool { function test_core_error_display (line 462) | fn test_core_error_display() { function test_signal_error_recoverable (line 469) | fn test_signal_error_recoverable() { function test_error_conversion (line 484) | fn test_error_conversion() { function test_not_found_error (line 494) | fn test_not_found_error() { function test_timeout_error (line 501) | fn test_timeout_error() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-core/src/lib.rs constant VERSION (line 71) | pub const VERSION: &str = env!("CARGO_PKG_VERSION"); constant MAX_KEYPOINTS (line 74) | pub const MAX_KEYPOINTS: usize = 17; constant MAX_SUBCARRIERS (line 77) | pub const MAX_SUBCARRIERS: usize = 256; constant DEFAULT_CONFIDENCE_THRESHOLD (line 80) | pub const DEFAULT_CONFIDENCE_THRESHOLD: f32 = 0.5; function test_version_is_valid (line 105) | fn test_version_is_valid() { function test_constants (line 110) | fn test_constants() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-core/src/traits.rs type SignalProcessorConfig (line 27) | pub struct SignalProcessorConfig { method default (line 45) | fn default() -> Self { type WindowFunction (line 61) | pub enum WindowFunction { type SignalProcessor (line 100) | pub trait SignalProcessor: Send + Sync { method config (line 102) | fn config(&self) -> &SignalProcessorConfig; method set_config (line 109) | fn set_config(&mut self, config: SignalProcessorConfig) -> Result<(), ... method push_frame (line 116) | fn push_frame(&mut self, frame: CsiFrame) -> Result<(), SignalError>; method try_process (line 126) | fn try_process(&mut self) -> Result, SignalErr... method force_process (line 133) | fn force_process(&mut self) -> Result; method buffered_frame_count (line 136) | fn buffered_frame_count(&self) -> usize; method clear_buffer (line 139) | fn clear_buffer(&mut self); method reset (line 142) | fn reset(&mut self); type InferenceConfig (line 148) | pub struct InferenceConfig { method default (line 166) | fn default() -> Self { type InferenceDevice (line 182) | pub enum InferenceDevice { type NeuralInference (line 221) | pub trait NeuralInference: Send + Sync { method config (line 223) | fn config(&self) -> &InferenceConfig; method is_ready (line 226) | fn is_ready(&self) -> bool; method model_version (line 229) | fn model_version(&self) -> &str; method load_model (line 236) | fn load_model(&mut self) -> Result<(), InferenceError>; method unload_model (line 239) | fn unload_model(&mut self); method infer (line 246) | fn infer(&self, signal: &ProcessedSignal) -> Result Result<(), InferenceError>; method stats (line 264) | fn stats(&self) -> InferenceStats; type InferenceStats (line 269) | pub struct InferenceStats { type QueryOptions (line 286) | pub struct QueryOptions { type SortOrder (line 303) | pub enum SortOrder { type DataStore (line 335) | pub trait DataStore: Send + Sync { method is_connected (line 337) | fn is_connected(&self) -> bool; method store_csi_frame (line 344) | fn store_csi_frame(&self, frame: &CsiFrame) -> Result<(), StorageError>; method get_csi_frame (line 351) | fn get_csi_frame(&self, id: &FrameId) -> Result; method query_csi_frames (line 358) | fn query_csi_frames(&self, options: &QueryOptions) -> Result Result<(), S... method get_pose_estimate (line 372) | fn get_pose_estimate(&self, id: &FrameId) -> Result Result Result Resul... method stats (line 406) | fn stats(&self) -> StorageStats; type StorageStats (line 411) | pub struct StorageStats { type AsyncSignalProcessor (line 434) | pub trait AsyncSignalProcessor: Send + Sync { method config (line 436) | fn config(&self) -> &SignalProcessorConfig; method set_config (line 439) | async fn set_config(&mut self, config: SignalProcessorConfig) -> Resul... method push_frame (line 442) | async fn push_frame(&mut self, frame: CsiFrame) -> Result<(), SignalEr... method try_process (line 445) | async fn try_process(&mut self) -> Result, Sig... method force_process (line 448) | async fn force_process(&mut self) -> Result usize; method clear_buffer (line 454) | async fn clear_buffer(&mut self); method reset (line 457) | async fn reset(&mut self); type AsyncNeuralInference (line 463) | pub trait AsyncNeuralInference: Send + Sync { method config (line 465) | fn config(&self) -> &InferenceConfig; method is_ready (line 468) | fn is_ready(&self) -> bool; method model_version (line 471) | fn model_version(&self) -> &str; method load_model (line 474) | async fn load_model(&mut self) -> Result<(), InferenceError>; method unload_model (line 477) | async fn unload_model(&mut self); method infer (line 480) | async fn infer(&self, signal: &ProcessedSignal) -> Result Result<(), InferenceError>; method stats (line 492) | fn stats(&self) -> InferenceStats; type AsyncDataStore (line 498) | pub trait AsyncDataStore: Send + Sync { method is_connected (line 500) | fn is_connected(&self) -> bool; method store_csi_frame (line 503) | async fn store_csi_frame(&self, frame: &CsiFrame) -> Result<(), Storag... method get_csi_frame (line 506) | async fn get_csi_frame(&self, id: &FrameId) -> Result Result Result... method get_pose_estimate (line 515) | async fn get_pose_estimate(&self, id: &FrameId) -> Result Result Res... method delete_pose_estimates_before (line 530) | async fn delete_pose_estimates_before( method stats (line 536) | fn stats(&self) -> StorageStats; type Pipeline (line 544) | pub trait Pipeline: Send + Sync { method process (line 557) | fn process(&self, input: Self::Input) -> Result CoreResult<()>; type Resettable (line 571) | pub trait Resettable { method reset (line 573) | fn reset(&mut self); type HealthCheck (line 577) | pub trait HealthCheck { method health_check (line 582) | fn health_check(&self) -> Self::Status; method is_healthy (line 585) | fn is_healthy(&self) -> bool; function test_signal_processor_config_default (line 593) | fn test_signal_processor_config_default() { function test_inference_config_default (line 601) | fn test_inference_config_default() { function test_query_options_default (line 609) | fn test_query_options_default() { function test_inference_device_variants (line 617) | fn test_inference_device_variants() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-core/src/types.rs type FrameId (line 32) | pub struct FrameId(Uuid); method new (line 37) | pub fn new() -> Self { method from_uuid (line 43) | pub fn from_uuid(uuid: Uuid) -> Self { method as_uuid (line 49) | pub fn as_uuid(&self) -> &Uuid { method fmt (line 61) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 55) | fn default() -> Self { type DeviceId (line 69) | pub struct DeviceId(String); method new (line 74) | pub fn new(id: impl Into) -> Self { method as_str (line 80) | pub fn as_str(&self) -> &str { method fmt (line 86) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type Timestamp (line 94) | pub struct Timestamp { method new (line 104) | pub fn new(seconds: i64, nanos: u32) -> Self { method now (line 110) | pub fn now() -> Self { method from_datetime (line 120) | pub fn from_datetime(dt: DateTime) -> Self { method to_datetime (line 129) | pub fn to_datetime(&self) -> Option> { method as_nanos (line 135) | pub fn as_nanos(&self) -> i128 { method duration_since (line 141) | pub fn duration_since(&self, earlier: &Self) -> f64 { method default (line 148) | fn default() -> Self { type Confidence (line 156) | pub struct Confidence(f32); method new (line 164) | pub fn new(value: f32) -> CoreResult { method value (line 177) | pub fn value(&self) -> f32 { method is_high (line 183) | pub fn is_high(&self) -> bool { method exceeds (line 189) | pub fn exceeds(&self, threshold: f32) -> bool { constant MAX (line 194) | pub const MAX: Self = Self(1.0); constant MIN (line 197) | pub const MIN: Self = Self(0.0); method default (line 201) | fn default() -> Self { type FrequencyBand (line 213) | pub enum FrequencyBand { method center_frequency_mhz (line 225) | pub fn center_frequency_mhz(&self) -> u32 { method typical_subcarriers (line 235) | pub fn typical_subcarriers(&self) -> usize { type AntennaConfig (line 247) | pub struct AntennaConfig { method new (line 259) | pub fn new(tx_antennas: u8, rx_antennas: u8) -> Self { method with_spacing (line 269) | pub fn with_spacing(mut self, spacing_mm: f32) -> Self { method spatial_streams (line 276) | pub fn spatial_streams(&self) -> usize { constant SIMO_1X3 (line 281) | pub const SIMO_1X3: Self = Self { constant MIMO_2X2 (line 288) | pub const MIMO_2X2: Self = Self { constant MIMO_3X3 (line 295) | pub const MIMO_3X3: Self = Self { method default (line 303) | fn default() -> Self { type CsiMetadata (line 311) | pub struct CsiMetadata { method new (line 335) | pub fn new(device_id: DeviceId, frequency_band: FrequencyBand, channel... method snr_db (line 351) | pub fn snr_db(&self) -> f64 { type CsiFrame (line 363) | pub struct CsiFrame { method new (line 381) | pub fn new(metadata: CsiMetadata, data: Array2) -> Self { method num_spatial_streams (line 396) | pub fn num_spatial_streams(&self) -> usize { method num_subcarriers (line 402) | pub fn num_subcarriers(&self) -> usize { method mean_amplitude (line 408) | pub fn mean_amplitude(&self) -> f64 { method amplitude_variance (line 414) | pub fn amplitude_variance(&self) -> f64 { type SignalFeatures (line 426) | pub struct SignalFeatures { method default (line 442) | fn default() -> Self { type ProcessedSignal (line 457) | pub struct ProcessedSignal { method new (line 477) | pub fn new( method shape (line 496) | pub fn shape(&self) -> (usize, usize, usize) { method num_time_steps (line 503) | pub fn num_time_steps(&self) -> usize { type KeypointType (line 516) | pub enum KeypointType { method all (line 556) | pub fn all() -> &'static [Self; MAX_KEYPOINTS] { method name (line 580) | pub fn name(&self) -> &'static str { method is_face (line 604) | pub fn is_face(&self) -> bool { method is_upper_body (line 613) | pub fn is_upper_body(&self) -> bool { method is_lower_body (line 627) | pub fn is_lower_body(&self) -> bool { type Error (line 641) | type Error = CoreError; method try_from (line 643) | fn try_from(value: u8) -> Result { type Keypoint (line 672) | pub struct Keypoint { method new (line 688) | pub fn new(keypoint_type: KeypointType, x: f32, y: f32, confidence: Co... method new_3d (line 700) | pub fn new_3d( method is_visible (line 718) | pub fn is_visible(&self) -> bool { method position_2d (line 724) | pub fn position_2d(&self) -> (f32, f32) { method position_3d (line 730) | pub fn position_3d(&self) -> Option<(f32, f32, f32)> { method distance_to (line 736) | pub fn distance_to(&self, other: &Self) -> f32 { type BoundingBox (line 752) | pub struct BoundingBox { method new (line 766) | pub fn new(x_min: f32, y_min: f32, x_max: f32, y_max: f32) -> Self { method from_center (line 777) | pub fn from_center(cx: f32, cy: f32, width: f32, height: f32) -> Self { method width (line 790) | pub fn width(&self) -> f32 { method height (line 796) | pub fn height(&self) -> f32 { method area (line 802) | pub fn area(&self) -> f32 { method center (line 808) | pub fn center(&self) -> (f32, f32) { method iou (line 814) | pub fn iou(&self, other: &Self) -> f32 { method contains (line 836) | pub fn contains(&self, x: f32, y: f32) -> bool { type PersonPose (line 844) | pub struct PersonPose { method new (line 858) | pub fn new() -> Self { method set_keypoint (line 868) | pub fn set_keypoint(&mut self, keypoint: Keypoint) { method get_keypoint (line 877) | pub fn get_keypoint(&self, keypoint_type: KeypointType) -> Option<&Key... method visible_keypoint_count (line 883) | pub fn visible_keypoint_count(&self) -> usize { method visible_keypoints (line 892) | pub fn visible_keypoints(&self) -> Vec<&Keypoint> { method compute_bounding_box (line 902) | pub fn compute_bounding_box(&self) -> Option { method to_flat_array (line 925) | pub fn to_flat_array(&self) -> Array1 { method default (line 939) | fn default() -> Self { type PoseEstimate (line 947) | pub struct PoseEstimate { method new (line 967) | pub fn new( method person_count (line 987) | pub fn person_count(&self) -> usize { method has_detections (line 993) | pub fn has_detections(&self) -> bool { method highest_confidence_person (line 999) | pub fn highest_confidence_person(&self) -> Option<&PersonPose> { function test_confidence_validation (line 1016) | fn test_confidence_validation() { function test_confidence_threshold (line 1025) | fn test_confidence_threshold() { function test_keypoint_distance (line 1034) | fn test_keypoint_distance() { function test_bounding_box_iou (line 1043) | fn test_bounding_box_iou() { function test_person_pose (line 1053) | fn test_person_pose() { function test_timestamp_duration (line 1074) | fn test_timestamp_duration() { function test_keypoint_type_conversion (line 1083) | fn test_keypoint_type_conversion() { function test_frequency_band (line 1090) | fn test_frequency_band() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-core/src/utils.rs function complex_magnitude (line 10) | pub fn complex_magnitude(data: &Array2) -> Array2 { function complex_phase (line 16) | pub fn complex_phase(data: &Array2) -> Array2 { function unwrap_phase (line 25) | pub fn unwrap_phase(phase: &Array1) -> Array1 { function normalize_min_max (line 48) | pub fn normalize_min_max(data: &Array1) -> Array1 { function normalize_zscore (line 61) | pub fn normalize_zscore(data: &Array1) -> Array1 { function calculate_snr_db (line 75) | pub fn calculate_snr_db(signal: &Array1, noise: &Array1) -> f64 { function moving_average (line 93) | pub fn moving_average(data: &Array1, window_size: usize) -> Array1<... function clamp (line 119) | pub fn clamp(value: T, min: T, max: T) -> T { function lerp (line 131) | pub fn lerp(a: f64, b: f64, t: f64) -> f64 { function deg_to_rad (line 137) | pub fn deg_to_rad(degrees: f64) -> f64 { function rad_to_deg (line 143) | pub fn rad_to_deg(radians: f64) -> f64 { function euclidean_distance (line 149) | pub fn euclidean_distance(p1: (f64, f64), p2: (f64, f64)) -> f64 { function euclidean_distance_3d (line 157) | pub fn euclidean_distance_3d(p1: (f64, f64, f64), p2: (f64, f64, f64)) -... function test_normalize_min_max (line 170) | fn test_normalize_min_max() { function test_normalize_zscore (line 180) | fn test_normalize_zscore() { function test_moving_average (line 189) | fn test_moving_average() { function test_clamp (line 198) | fn test_clamp() { function test_lerp (line 205) | fn test_lerp() { function test_deg_rad_conversion (line 212) | fn test_deg_rad_conversion() { function test_euclidean_distance (line 222) | fn test_euclidean_distance() { function test_unwrap_phase (line 228) | fn test_unwrap_phase() { function test_snr_calculation (line 245) | fn test_snr_calculation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/build.rs function main (line 1) | fn main() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/commands/discovery.rs constant MDNS_SERVICE_TYPE (line 18) | const MDNS_SERVICE_TYPE: &str = "_ruview._udp.local."; constant UDP_DISCOVERY_PORT (line 21) | const UDP_DISCOVERY_PORT: u16 = 5006; constant BEACON_MAGIC (line 24) | const BEACON_MAGIC: &[u8] = b"RUVIEW_BEACON"; function discover_nodes (line 34) | pub async fn discover_nodes( function discover_via_mdns (line 73) | async fn discover_via_mdns(timeout_duration: Duration) -> Result Result Option Result, String> { function list_serial_ports_fallback (line 338) | fn list_serial_ports_fallback() -> Result, String> { function is_esp32_compatible (line 394) | fn is_esp32_compatible(vid: u16, pid: u16) -> bool { function configure_esp32_wifi (line 419) | pub async fn configure_esp32_wifi( type SerialPortInfo (line 500) | pub struct SerialPortInfo { function test_parse_beacon_response (line 514) | fn test_parse_beacon_response() { function test_is_esp32_compatible (line 530) | fn test_is_esp32_compatible() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/commands/flash.rs function flash_firmware (line 21) | pub async fn flash_firmware( function flash_progress (line 159) | pub async fn flash_progress(state: State<'_, AppState>) -> Result Result { function supported_chips (line 218) | pub async fn supported_chips() -> Result, String> { function calculate_sha256 (line 249) | fn calculate_sha256(path: &str) -> Result { function parse_progress_percentage (line 273) | fn parse_progress_percentage(line: &str) -> Option { function which_espflash (line 282) | fn which_espflash() -> Result { type FlashResult (line 296) | pub struct FlashResult { type FlashProgress (line 304) | pub struct FlashProgress { type VerifyResult (line 313) | pub struct VerifyResult { type EspflashInfo (line 321) | pub struct EspflashInfo { type ChipInfo (line 328) | pub struct ChipInfo { function test_parse_progress_percentage (line 339) | fn test_parse_progress_percentage() { function test_chip_info (line 346) | fn test_chip_info() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/commands/ota.rs constant OTA_PORT (line 12) | const OTA_PORT: u16 = 8032; constant OTA_PATH (line 15) | const OTA_PATH: &str = "/ota/upload"; constant OTA_TIMEOUT_SECS (line 18) | const OTA_TIMEOUT_SECS: u64 = 120; type HmacSha256 (line 20) | type HmacSha256 = Hmac; function ota_update (line 31) | pub async fn ota_update( function batch_ota_update (line 180) | pub async fn batch_ota_update( function check_ota_endpoint (line 318) | pub async fn check_ota_endpoint(node_ip: String) -> Result Result { function erase_nvs (line 164) | pub async fn erase_nvs(port: String) -> Result { function validate_config (line 201) | pub async fn validate_config(config: ProvisioningConfig) -> Result Result, ... function deserialize_nvs_config (line 345) | fn deserialize_nvs_config(data: &[u8]) -> Result Vec { type ProvisionResult (line 442) | pub struct ProvisionResult { type ValidationResult (line 449) | pub struct ValidationResult { type MeshNodeConfig (line 456) | pub struct MeshNodeConfig { function test_serialize_deserialize_config (line 467) | fn test_serialize_deserialize_config() { function test_config_validation (line 486) | fn test_config_validation() { function test_provision_header (line 496) | fn test_provision_header() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/commands/server.rs constant DEFAULT_SERVER_BIN (line 10) | const DEFAULT_SERVER_BIN: &str = "sensing-server"; function find_server_binary (line 19) | fn find_server_binary(app: &AppHandle, custom_path: Option<&str>) -> Res... function start_server (line 74) | pub async fn start_server( function stop_server (line 150) | pub async fn stop_server(state: State<'_, AppState>) -> Result<(), Strin... function server_status (line 249) | pub async fn server_status(state: State<'_, AppState>) -> Result Self { function settings_path (line 37) | fn settings_path(app: &AppHandle) -> Result { function get_settings (line 52) | pub async fn get_settings(app: AppHandle) -> Result,... function save_settings (line 70) | pub async fn save_settings(app: AppHandle, settings: AppSettings) -> Res... function test_default_settings (line 87) | fn test_default_settings() { function test_settings_serialization (line 95) | fn test_settings_serialization() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/commands/wasm.rs constant WASM_PORT (line 10) | const WASM_PORT: u16 = 8033; constant WASM_TIMEOUT_SECS (line 13) | const WASM_TIMEOUT_SECS: u64 = 30; function wasm_list (line 17) | pub async fn wasm_list(node_ip: String) -> Result, S... function wasm_upload (line 46) | pub async fn wasm_upload( function wasm_control (line 135) | pub async fn wasm_control( function wasm_info (line 182) | pub async fn wasm_info( function wasm_stats (line 208) | pub async fn wasm_stats(node_ip: String) -> Result Result Result<(), String> { type MeshConfig (line 66) | pub struct MeshConfig { method config_for_node (line 82) | pub fn config_for_node(&self, entry: &MeshNodeEntry) -> ProvisioningCo... type MeshNodeEntry (line 73) | pub struct MeshNodeEntry { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/domain/firmware.rs type FirmwareBinary (line 5) | pub struct FirmwareBinary { type FlashPhase (line 15) | pub enum FlashPhase { type FlashSession (line 26) | pub struct FlashSession { type OtaPhase (line 38) | pub enum OtaPhase { type OtaSession (line 48) | pub struct OtaSession { type OtaStrategy (line 61) | pub enum OtaStrategy { type BatchOtaSession (line 69) | pub struct BatchOtaSession { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/domain/node.rs type MacAddress (line 5) | pub struct MacAddress(pub String); method new (line 8) | pub fn new(addr: impl Into) -> Self { method fmt (line 14) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type HealthStatus (line 22) | pub enum HealthStatus { method default (line 29) | fn default() -> Self { type Chip (line 37) | pub enum Chip { type MeshRole (line 49) | pub enum MeshRole { type DiscoveryMethod (line 59) | pub enum DiscoveryMethod { type NodeCapabilities (line 69) | pub struct NodeCapabilities { type DiscoveredNode (line 77) | pub struct DiscoveredNode { type NodeRegistry (line 100) | pub struct NodeRegistry { method new (line 105) | pub fn new() -> Self { method upsert (line 110) | pub fn upsert(&mut self, mac: MacAddress, node: DiscoveredNode) { method get (line 115) | pub fn get(&self, mac: &MacAddress) -> Option<&DiscoveredNode> { method all (line 120) | pub fn all(&self) -> Vec<&DiscoveredNode> { method len (line 125) | pub fn len(&self) -> usize { method is_empty (line 130) | pub fn is_empty(&self) -> bool { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/lib.rs function run (line 7) | pub fn run() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/main.rs function main (line 6) | fn main() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/src/state.rs type DiscoveryState (line 9) | pub struct DiscoveryState { type ServerState (line 15) | pub struct ServerState { method default (line 26) | fn default() -> Self { type FlashState (line 41) | pub struct FlashState { type OtaState (line 52) | pub struct OtaState { type OtaUpdateTracker (line 57) | pub struct OtaUpdateTracker { method default (line 65) | fn default() -> Self { type SettingsState (line 76) | pub struct SettingsState { method default (line 82) | fn default() -> Self { type AppState (line 91) | pub struct AppState { method new (line 113) | pub fn new() -> Self { method reset (line 118) | pub fn reset(&self) { method default (line 100) | fn default() -> Self { function test_app_state_default (line 146) | fn test_app_state_default() { function test_app_state_reset (line 158) | fn test_app_state_reset() { function test_server_state (line 194) | fn test_server_state() { function test_flash_state (line 202) | fn test_flash_state() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/tests/api_integration.rs function test_serial_port_detection_logic (line 10) | fn test_serial_port_detection_logic() { function is_esp32_vid_pid (line 32) | fn is_esp32_vid_pid(vid: u16, pid: u16) -> bool { function test_beacon_parsing (line 53) | fn test_beacon_parsing() { function test_settings_structure (line 74) | fn test_settings_structure() { function test_settings_serialization (line 87) | fn test_settings_serialization() { function test_server_state_default (line 104) | fn test_server_state_default() { function test_chip_variants (line 118) | fn test_chip_variants() { function test_progress_parsing (line 136) | fn test_progress_parsing() { function test_sha256_hash (line 154) | fn test_sha256_hash() { function test_hmac_signature (line 167) | fn test_hmac_signature() { function test_nvs_config_format (line 189) | fn test_nvs_config_format() { function test_mesh_config_generation (line 202) | fn test_mesh_config_generation() { function test_wasm_magic_bytes (line 224) | fn test_wasm_magic_bytes() { function test_wasm_version (line 235) | fn test_wasm_version() { function test_app_state_initialization (line 248) | fn test_app_state_initialization() { function test_health_status_variants (line 272) | fn test_health_status_variants() { function test_discovery_method_variants (line 288) | fn test_discovery_method_variants() { function test_mesh_role_variants (line 305) | fn test_mesh_role_variants() { function test_wifi_config_command_format (line 325) | fn test_wifi_config_command_format() { function test_wifi_credentials_validation (line 346) | fn test_wifi_credentials_validation() { function test_node_registry (line 371) | fn test_node_registry() { function test_mac_address (line 412) | fn test_mac_address() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/.vite/deps/@tauri-apps_api_event.js function _unlisten (line 25) | async function _unlisten(event, eventId) { function listen (line 32) | async function listen(event, handler, options) { function once (line 43) | async function once(event, handler, options) { function emit (line 49) | async function emit(event, payload) { function emitTo (line 55) | async function emitTo(target, event, payload) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/.vite/deps/@tauri-apps_plugin-dialog.js function buttonsToRust (line 7) | function buttonsToRust(buttons) { function open (line 24) | async function open(options = {}) { function save (line 30) | async function save(options = {}) { function message (line 36) | async function message(message2, options) { function ask (line 47) | async function ask(message2, options) { function confirm (line 58) | async function confirm(message2, options) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/.vite/deps/chunk-JCH2SJW3.js method "node_modules/react/cjs/react.development.js" (line 7) | "node_modules/react/cjs/react.development.js"(exports, module) { method "node_modules/react/index.js" (line 1881) | "node_modules/react/index.js"(exports, module) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/.vite/deps/chunk-YQTFE5VL.js function __classPrivateFieldGet (line 2) | function __classPrivateFieldGet(receiver, state, kind, f) { function __classPrivateFieldSet (line 7) | function __classPrivateFieldSet(receiver, state, value, kind, f) { function transformCallback (line 21) | function transformCallback(callback, once = false) { method constructor (line 25) | constructor(onmessage) { method cleanupCallback (line 60) | cleanupCallback() { method onmessage (line 63) | set onmessage(handler) { method onmessage (line 66) | get onmessage() { method [(_Channel_onmessage = /* @__PURE__ */ new WeakMap(), _Channel_nextMessageIndex = /* @__PURE__ */ new WeakMap(), _Channel_pendingMessages = /* @__PURE__ */ new WeakMap(), _Channel_messageEndIndex = /* @__PURE__ */ new WeakMap(), SERIALIZE_TO_IPC_FN)] (line 69) | [(_Channel_onmessage = /* @__PURE__ */ new WeakMap(), _Channel_nextMessa... method toJSON (line 72) | toJSON() { method constructor (line 77) | constructor(plugin, event, channelId) { method unregister (line 82) | async unregister() { function addPluginListener (line 89) | async function addPluginListener(plugin, event, cb) { function checkPermissions (line 102) | async function checkPermissions(plugin) { function requestPermissions (line 105) | async function requestPermissions(plugin) { function invoke (line 108) | async function invoke(cmd, args = {}, options) { function convertFileSrc (line 111) | function convertFileSrc(filePath, protocol = "asset") { method rid (line 115) | get rid() { method constructor (line 118) | constructor(rid) { method close (line 126) | async close() { function isTauri (line 133) | function isTauri() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/.vite/deps/react-dom_client.js method "node_modules/scheduler/cjs/scheduler.development.js" (line 10) | "node_modules/scheduler/cjs/scheduler.development.js"(exports) { method "node_modules/scheduler/index.js" (line 460) | "node_modules/scheduler/index.js"(exports, module) { method "node_modules/react-dom/cjs/react-dom.development.js" (line 472) | "node_modules/react-dom/cjs/react-dom.development.js"(exports) { method "node_modules/react-dom/index.js" (line 21636) | "node_modules/react-dom/index.js"(exports, module) { method "node_modules/react-dom/client.js" (line 21649) | "node_modules/react-dom/client.js"(exports) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/.vite/deps/react_jsx-dev-runtime.js method "node_modules/react/cjs/react-jsx-dev-runtime.development.js" (line 10) | "node_modules/react/cjs/react-jsx-dev-runtime.development.js"(exports) { method "node_modules/react/jsx-dev-runtime.js" (line 891) | "node_modules/react/jsx-dev-runtime.js"(exports, module) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/App.tsx type Page (line 13) | type Page = type NavItem (line 24) | interface NavItem { constant NAV_ITEMS (line 30) | const NAV_ITEMS: NavItem[] = [ type LiveStatus (line 42) | interface LiveStatus { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/components/NodeCard.tsx type NodeCardProps (line 4) | interface NodeCardProps { function formatUptime (line 9) | function formatUptime(secs: number | null): string { function formatLastSeen (line 17) | function formatLastSeen(iso: string): string { function NodeCard (line 30) | function NodeCard({ node, onClick }: NodeCardProps) { function DetailRow (line 121) | function DetailRow({ FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/components/Sidebar.tsx type NavItem (line 3) | interface NavItem { type SidebarProps (line 9) | interface SidebarProps { constant ICONS (line 16) | const ICONS: Record = { constant DEFAULT_NAV_ITEMS (line 55) | const DEFAULT_NAV_ITEMS: NavItem[] = [ function Sidebar (line 63) | function Sidebar({ items, activeId, onNavigate }: SidebarProps) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/components/StatusBadge.tsx type StatusBadgeProps (line 3) | interface StatusBadgeProps { constant STATUS_STYLES (line 8) | const STATUS_STYLES: Record = { type WasmStats (line 568) | interface WasmStats { type WasmSupport (line 577) | interface WasmSupport { type ModuleDetail (line 584) | interface ModuleDetail { function EdgeModules (line 602) | function EdgeModules() { function DeployedModulesTab (line 929) | function DeployedModulesTab({ function ModuleLibraryTab (line 983) | function ModuleLibraryTab({ function InfoBox (line 1361) | function InfoBox({ label, value }: { label: string; value: string }) { function Section (line 1370) | function Section({ title, children }: { title: string; children: React.R... function RuntimeStatsTab (line 1379) | function RuntimeStatsTab({ stats, selectedIp }: { stats: WasmStats | nul... function StatCard (line 1414) | function StatCard({ function ModuleDetailModal (line 1443) | function ModuleDetailModal({ module, onClose }: { module: ModuleDetail; ... function DetailRow (line 1551) | function DetailRow({ function Th (line 1585) | function Th({ children }: { children: React.ReactNode }) { function Td (line 1603) | function Td({ children, mono = false }: { children: React.ReactNode; mon... function ModuleStateBadge (line 1619) | function ModuleStateBadge({ state }: { state: WasmModuleState }) { function ActionButton (line 1652) | function ActionButton({ function ModuleRow (line 1697) | function ModuleRow({ function Banner (line 1744) | function Banner({ function formatBytes (line 1796) | function formatBytes(bytes: number): string { function formatNumber (line 1804) | function formatNumber(n: number): string { function formatLoadedAt (line 1810) | function formatLoadedAt(iso: string | null): string { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/pages/FlashFirmware.tsx type WizardStep (line 6) | type WizardStep = 1 | 2 | 3; function FlashFirmware (line 8) | function FlashFirmware() { function StepIndicator (line 244) | function StepIndicator({ current }: { current: WizardStep }) { constant PHASE_LABELS (line 296) | const PHASE_LABELS: Record = { function ProgressBar (line 305) | function ProgressBar({ progress }: { progress: FlashProgress | null }) { function SummaryField (line 335) | function SummaryField({ label, value }: { label: string; value: string }) { function bannerStyle (line 350) | function bannerStyle(color: string): React.CSSProperties { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/pages/MeshView.tsx type DiscoveredNode (line 8) | interface DiscoveredNode { type SimNode (line 18) | interface SimNode { type SimEdge (line 34) | interface SimEdge { constant CANVAS_HEIGHT (line 44) | const CANVAS_HEIGHT = 500; constant REPULSION (line 45) | const REPULSION = 8000; constant SPRING_K (line 46) | const SPRING_K = 0.005; constant SPRING_REST (line 47) | const SPRING_REST = 120; constant DAMPING (line 48) | const DAMPING = 0.92; constant VELOCITY_THRESHOLD (line 49) | const VELOCITY_THRESHOLD = 0.15; constant HEALTH_COLORS (line 52) | const HEALTH_COLORS: Record = { function buildGraph (line 63) | function buildGraph( function hitTest (line 122) | function hitTest( function MeshView (line 143) | function MeshView() { function DetailField (line 670) | function DetailField({ FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/pages/NetworkDiscovery.tsx type Page (line 6) | type Page = "dashboard" | "discovery" | "nodes" | "flash" | "ota" | "was... type NetworkDiscoveryProps (line 8) | interface NetworkDiscoveryProps { type DiscoveredNode (line 12) | interface DiscoveredNode { type SerialPortInfo (line 32) | interface SerialPortInfo { type DiscoveryTab (line 41) | type DiscoveryTab = "network" | "serial" | "manual"; function StatCard (line 852) | function StatCard({ function TabButton (line 890) | function TabButton({ function NodeCard (line 920) | function NodeCard({ node, onClick }: { node: DiscoveredNode; onClick: ()... function ChipBadge (line 994) | function ChipBadge({ label, color }: { label: string; color: string }) { function KV (line 1012) | function KV({ label, value, mono = false }: { label: string; value: stri... function Th (line 1023) | function Th({ children }: { children: React.ReactNode }) { function Td (line 1040) | function Td({ children, mono = false }: { children: React.ReactNode; mon... function formatUptime (line 1055) | function formatUptime(secs: number): string { function NodeDetailModal (line 1062) | function NodeDetailModal({ function DetailSection (line 1202) | function DetailSection({ title, children }: { title: string; children: R... function DetailRow (line 1223) | function DetailRow({ label, value, mono = false }: { label: string; valu... function CapabilityBadge (line 1234) | function CapabilityBadge({ label, enabled }: { label: string; enabled: b... function formatLastSeen (line 1251) | function formatLastSeen(iso: string): string { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/pages/Nodes.tsx function Nodes (line 6) | function Nodes() { function Th (line 123) | function Th({ children }: { children: React.ReactNode }) { function Td (line 141) | function Td({ children, mono = false }: { children: React.ReactNode; mon... function formatLastSeen (line 157) | function formatLastSeen(iso: string): string { function NodeRow (line 170) | function NodeRow({ function ExpandedDetails (line 209) | function ExpandedDetails({ node }: { node: Node }) { function DetailField (line 266) | function DetailField({ label, value, mono = false }: { label: string; va... FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/pages/OtaUpdate.tsx type Mode (line 10) | type Mode = "single" | "batch"; type DiscoveredNode (line 12) | interface DiscoveredNode { constant STRATEGY_LABELS (line 22) | const STRATEGY_LABELS: Record = { constant STATE_CONFIG (line 28) | const STATE_CONFIG: Record = { function LogViewer (line 168) | function LogViewer({ FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/pages/Settings.tsx constant DEFAULT_SETTINGS (line 4) | const DEFAULT_SETTINGS: AppSettings = { function Settings (line 16) | function Settings() { function Section (line 191) | function Section({ title, children }: { title: string; children: React.R... function Field (line 218) | function Field({ label, children }: { label: string; children: React.Rea... function NumberInput (line 238) | function NumberInput({ FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/types.ts type MacAddress (line 9) | type MacAddress = string; type HealthStatus (line 11) | type HealthStatus = "online" | "offline" | "degraded" | "unknown"; type DiscoveryMethod (line 13) | type DiscoveryMethod = "mdns" | "udp_probe" | "http_sweep" | "manual"; type MeshRole (line 15) | type MeshRole = "coordinator" | "node" | "aggregator"; type Chip (line 17) | type Chip = "esp32" | "esp32s2" | "esp32s3" | "esp32c3" | "esp32c6"; type TdmConfig (line 19) | interface TdmConfig { type NodeCapabilities (line 24) | interface NodeCapabilities { type Node (line 30) | interface Node { type FlashPhase (line 54) | type FlashPhase = type FlashProgress (line 62) | interface FlashProgress { type FirmwareBinary (line 70) | interface FirmwareBinary { type FlashSession (line 77) | interface FlashSession { type FlashResult (line 88) | interface FlashResult { type ChipInfo (line 95) | interface ChipInfo { type OtaStrategy (line 106) | type OtaStrategy = "sequential" | "tdm_safe" | "parallel"; type BatchNodeState (line 108) | type BatchNodeState = type OtaSession (line 117) | interface OtaSession { type BatchOtaSession (line 125) | interface BatchOtaSession { type OtaResult (line 135) | interface OtaResult { type OtaStatus (line 144) | interface OtaStatus { type WasmModuleState (line 154) | type WasmModuleState = "running" | "stopped" | "error" | "loading"; type WasmModule (line 156) | interface WasmModule { type DataSource (line 173) | type DataSource = "auto" | "wifi" | "esp32" | "simulate"; type ServerConfig (line 175) | interface ServerConfig { type ServerStatus (line 185) | interface ServerStatus { type SensingUpdate (line 195) | interface SensingUpdate { type SerialPort (line 208) | interface SerialPort { type AppSettings (line 221) | interface AppSettings { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-desktop/ui/src/version.ts constant APP_VERSION (line 2) | const APP_VERSION = "0.4.4"; FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/benches/transport_bench.rs function make_beacon (line 17) | fn make_beacon() -> SyncBeacon { function bench_beacon_serialize_plain (line 26) | fn bench_beacon_serialize_plain(c: &mut Criterion) { function bench_beacon_serialize_authenticated (line 35) | fn bench_beacon_serialize_authenticated(c: &mut Criterion) { function bench_beacon_serialize_quic_framed (line 56) | fn bench_beacon_serialize_quic_framed(c: &mut Criterion) { function bench_auth_beacon_verify (line 68) | fn bench_auth_beacon_verify(c: &mut Criterion) { function bench_replay_window (line 89) | fn bench_replay_window(c: &mut Criterion) { function bench_framed_message_roundtrip (line 109) | fn bench_framed_message_roundtrip(c: &mut Criterion) { function bench_secure_coordinator_cycle (line 140) | fn bench_secure_coordinator_cycle(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/aggregator/mod.rs type AggregatorConfig (line 18) | pub struct AggregatorConfig { method default (line 28) | fn default() -> Self { type NodeState (line 39) | struct NodeState { method new (line 49) | fn new(initial_sequence: u32) -> Self { method update (line 58) | fn update(&mut self, sequence: u32) -> u32 { type Esp32Aggregator (line 73) | pub struct Esp32Aggregator { method new (line 81) | pub fn new(config: &AggregatorConfig) -> io::Result<(Self, Receiver) -> Self { method run (line 108) | pub fn run(&mut self) -> io::Result<()> { method handle_packet (line 117) | pub fn handle_packet(&mut self, data: &[u8]) { method drops_for_node (line 143) | pub fn drops_for_node(&self, node_id: u8) -> u64 { method node_count (line 148) | pub fn node_count(&self) -> usize { function build_test_packet (line 159) | fn build_test_packet(node_id: u8, sequence: u32, n_subcarriers: usize) -... function test_aggregator_receives_valid_frame (line 190) | fn test_aggregator_receives_valid_frame() { function test_aggregator_tracks_sequence_gaps (line 205) | fn test_aggregator_tracks_sequence_gaps() { function test_aggregator_handles_bad_packet (line 219) | fn test_aggregator_handles_bad_packet() { function test_aggregator_multi_node (line 232) | fn test_aggregator_multi_node() { function test_aggregator_loopback_udp (line 249) | fn test_aggregator_loopback_udp() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/bin/aggregator.rs type Cli (line 18) | struct Cli { function main (line 28) | fn main() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/bridge.rs type CsiData (line 11) | pub struct CsiData { method snr_db (line 38) | pub fn snr_db(&self) -> f64 { method from (line 44) | fn from(frame: CsiFrame) -> Self { function make_frame (line 82) | fn make_frame( function test_bridge_from_known_iq (line 114) | fn test_bridge_from_known_iq() { function test_bridge_multi_antenna (line 128) | fn test_bridge_multi_antenna() { function test_bridge_snr_computation (line 148) | fn test_bridge_snr_computation() { function test_bridge_preserves_metadata (line 158) | fn test_bridge_preserves_metadata() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/csi_frame.rs type CsiFrame (line 12) | pub struct CsiFrame { method subcarrier_count (line 21) | pub fn subcarrier_count(&self) -> usize { method to_amplitude_phase (line 30) | pub fn to_amplitude_phase(&self) -> (Vec, Vec) { method mean_amplitude (line 43) | pub fn mean_amplitude(&self) -> f64 { method is_valid (line 54) | pub fn is_valid(&self) -> bool { type CsiMetadata (line 62) | pub struct CsiMetadata { type Bandwidth (line 87) | pub enum Bandwidth { method expected_subcarriers (line 100) | pub fn expected_subcarriers(&self) -> usize { type AntennaConfig (line 112) | pub struct AntennaConfig { method default (line 120) | fn default() -> Self { type SubcarrierData (line 130) | pub struct SubcarrierData { function make_test_frame (line 144) | fn make_test_frame() -> CsiFrame { function test_amplitude_phase_conversion (line 167) | fn test_amplitude_phase_conversion() { function test_mean_amplitude (line 187) | fn test_mean_amplitude() { function test_is_valid (line 195) | fn test_is_valid() { function test_bandwidth_subcarriers (line 207) | fn test_bandwidth_subcarriers() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/error.rs type ParseError (line 7) | pub enum ParseError { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/esp32/quic_transport.rs constant STREAM_BEACON (line 27) | pub const STREAM_BEACON: u64 = 0; constant STREAM_CSI (line 30) | pub const STREAM_CSI: u64 = 1; constant STREAM_CONTROL (line 33) | pub const STREAM_CONTROL: u64 = 2; type SecurityMode (line 45) | pub enum SecurityMode { method fmt (line 61) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method default (line 55) | fn default() -> Self { type QuicTransportError (line 75) | pub enum QuicTransportError { method fmt (line 95) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type QuicTransportConfig (line 133) | pub struct QuicTransportConfig { method validate (line 169) | pub fn validate(&self) -> Result<(), QuicTransportError> { method default (line 153) | fn default() -> Self { type TransportStats (line 204) | pub struct TransportStats { method total_packets (line 229) | pub fn total_packets(&self) -> u64 { method reset (line 238) | pub fn reset(&mut self) { type MessageType (line 250) | pub enum MessageType { method from_byte (line 265) | pub fn from_byte(b: u8) -> Option { method stream_id (line 277) | pub fn stream_id(&self) -> u64 { type FramedMessage (line 301) | pub struct FramedMessage { method new (line 313) | pub fn new(message_type: MessageType, payload: Vec) -> Self { method to_bytes (line 321) | pub fn to_bytes(&self) -> Vec { method from_bytes (line 334) | pub fn from_bytes(buf: &[u8]) -> Option<(Self, usize)> { method wire_size (line 356) | pub fn wire_size(&self) -> usize { constant FRAMED_HEADER_SIZE (line 309) | pub const FRAMED_HEADER_SIZE: usize = 5; type ConnectionState (line 367) | pub enum ConnectionState { method fmt (line 381) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type QuicTransportHandle (line 398) | pub struct QuicTransportHandle { method new (line 413) | pub fn new(config: QuicTransportConfig) -> Result ConnectionState { method active_mode (line 431) | pub fn active_mode(&self) -> SecurityMode { method stats (line 436) | pub fn stats(&self) -> &TransportStats { method stats_mut (line 441) | pub fn stats_mut(&mut self) -> &mut TransportStats { method config (line 446) | pub fn config(&self) -> &QuicTransportConfig { method remote_addr (line 451) | pub fn remote_addr(&self) -> Option<&str> { method connect (line 459) | pub fn connect(&mut self, remote_addr: &str) -> Result<(), QuicTranspo... method record_beacon_sent (line 473) | pub fn record_beacon_sent(&mut self, size: usize) { method record_beacon_received (line 479) | pub fn record_beacon_received(&mut self, size: usize) { method record_csi_sent (line 485) | pub fn record_csi_sent(&mut self, size: usize) { method record_csi_received (line 491) | pub fn record_csi_received(&mut self, size: usize) { method record_control_message (line 497) | pub fn record_control_message(&mut self, size: usize) { method trigger_fallback (line 503) | pub fn trigger_fallback(&mut self, reason: &str) -> Result<(), QuicTra... method close (line 513) | pub fn close(&mut self) { method is_connected (line 521) | pub fn is_connected(&self) -> bool { function test_security_mode_default (line 537) | fn test_security_mode_default() { function test_security_mode_display (line 542) | fn test_security_mode_display() { function test_security_mode_equality (line 553) | fn test_security_mode_equality() { function test_config_default (line 561) | fn test_config_default() { function test_config_validate_ok (line 572) | fn test_config_validate_ok() { function test_config_validate_empty_bind_addr (line 578) | fn test_config_validate_empty_bind_addr() { function test_config_validate_zero_handshake_timeout (line 588) | fn test_config_validate_zero_handshake_timeout() { function test_config_validate_zero_max_streams (line 598) | fn test_config_validate_zero_max_streams() { function test_config_validate_small_datagram (line 608) | fn test_config_validate_small_datagram() { function test_message_type_from_byte (line 620) | fn test_message_type_from_byte() { function test_message_type_stream_id (line 631) | fn test_message_type_stream_id() { function test_framed_message_roundtrip (line 642) | fn test_framed_message_roundtrip() { function test_framed_message_empty_payload (line 656) | fn test_framed_message_empty_payload() { function test_framed_message_too_short (line 667) | fn test_framed_message_too_short() { function test_framed_message_invalid_type (line 672) | fn test_framed_message_invalid_type() { function test_framed_message_truncated_payload (line 678) | fn test_framed_message_truncated_payload() { function test_framed_message_wire_size (line 687) | fn test_framed_message_wire_size() { function test_framed_message_large_payload (line 693) | fn test_framed_message_large_payload() { function test_connection_state_display (line 705) | fn test_connection_state_display() { function test_transport_stats_default (line 714) | fn test_transport_stats_default() { function test_transport_stats_total_packets (line 722) | fn test_transport_stats_total_packets() { function test_transport_stats_reset (line 735) | fn test_transport_stats_reset() { function test_handle_creation (line 749) | fn test_handle_creation() { function test_handle_creation_invalid_config (line 758) | fn test_handle_creation_invalid_config() { function test_handle_connect (line 767) | fn test_handle_connect() { function test_handle_connect_empty_addr (line 775) | fn test_handle_connect_empty_addr() { function test_handle_record_beacon (line 782) | fn test_handle_record_beacon() { function test_handle_record_csi (line 794) | fn test_handle_record_csi() { function test_handle_record_control (line 803) | fn test_handle_record_control() { function test_handle_fallback (line 810) | fn test_handle_fallback() { function test_handle_close (line 821) | fn test_handle_close() { function test_handle_close_when_disconnected (line 831) | fn test_handle_close_when_disconnected() { function test_error_display (line 840) | fn test_error_display() { function test_stream_constants (line 851) | fn test_stream_constants() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/esp32/secure_tdm.rs type HmacSha256 (line 41) | type HmacSha256 = Hmac; constant HMAC_TAG_SIZE (line 48) | const HMAC_TAG_SIZE: usize = 8; constant NONCE_SIZE (line 51) | const NONCE_SIZE: usize = 4; constant REPLAY_WINDOW (line 54) | const REPLAY_WINDOW: u32 = 16; constant AUTHENTICATED_BEACON_SIZE (line 57) | pub const AUTHENTICATED_BEACON_SIZE: usize = 16 + NONCE_SIZE + HMAC_TAG_... constant DEFAULT_TEST_KEY (line 61) | const DEFAULT_TEST_KEY: [u8; 16] = [ type SecureTdmError (line 72) | pub enum SecureTdmError { method fmt (line 88) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 113) | fn from(e: QuicTransportError) -> Self { type ReplayWindow (line 127) | pub struct ReplayWindow { method new (line 138) | pub fn new(window_size: u32) -> Self { method check (line 149) | pub fn check(&self, nonce: u32) -> bool { method accept (line 168) | pub fn accept(&mut self, nonce: u32) -> bool { method last_accepted (line 186) | pub fn last_accepted(&self) -> u32 { method window_count (line 191) | pub fn window_count(&self) -> usize { type AuthenticatedBeacon (line 208) | pub struct AuthenticatedBeacon { method to_bytes (line 219) | pub fn to_bytes(&self) -> [u8; AUTHENTICATED_BEACON_SIZE] { method from_bytes (line 231) | pub fn from_bytes(buf: &[u8]) -> Result { method compute_tag (line 256) | pub fn compute_tag(payload_and_nonce: &[u8], key: &[u8; 16]) -> [u8; H... method verify (line 267) | pub fn verify(&self, key: &[u8; 16]) -> Result<(), SecureTdmError> { type SecureTdmConfig (line 286) | pub struct SecureTdmConfig { type SecLevel (line 299) | pub enum SecLevel { method default (line 309) | fn default() -> Self { type SecureTdmCoordinator (line 328) | pub struct SecureTdmCoordinator { method new (line 349) | pub fn new( method begin_secure_cycle (line 375) | pub fn begin_secure_cycle(&mut self) -> Result Result bool { method cycle_id (line 513) | pub fn cycle_id(&self) -> u64 { method security_mode (line 518) | pub fn security_mode(&self) -> SecurityMode { method inner (line 523) | pub fn inner(&self) -> &TdmCoordinator { method beacons_produced (line 528) | pub fn beacons_produced(&self) -> u64 { method beacons_verified (line 533) | pub fn beacons_verified(&self) -> u64 { method verification_failures (line 538) | pub fn verification_failures(&self) -> u64 { method transport (line 543) | pub fn transport(&self) -> Option<&QuicTransportHandle> { method transport_mut (line 548) | pub fn transport_mut(&mut self) -> Option<&mut QuicTransportHandle> { method nonce_counter (line 553) | pub fn nonce_counter(&self) -> u32 { method replay_window (line 558) | pub fn replay_window(&self) -> &ReplayWindow { method sec_level (line 563) | pub fn sec_level(&self) -> SecLevel { type SecureCycleOutput (line 570) | pub struct SecureCycleOutput { function test_schedule (line 589) | fn test_schedule() -> TdmSchedule { function manual_config (line 593) | fn manual_config() -> SecureTdmConfig { function quic_config (line 602) | fn quic_config() -> SecureTdmConfig { function test_replay_window_new (line 614) | fn test_replay_window_new() { function test_replay_window_accept_first (line 621) | fn test_replay_window_accept_first() { function test_replay_window_monotonic (line 628) | fn test_replay_window_monotonic() { function test_replay_window_reject_duplicate (line 637) | fn test_replay_window_reject_duplicate() { function test_replay_window_accept_within_window (line 644) | fn test_replay_window_accept_within_window() { function test_replay_window_reject_too_old (line 652) | fn test_replay_window_reject_too_old() { function test_replay_window_evicts_old (line 662) | fn test_replay_window_evicts_old() { function test_auth_beacon_roundtrip (line 673) | fn test_auth_beacon_roundtrip() { function test_auth_beacon_verify_ok (line 704) | fn test_auth_beacon_verify_ok() { function test_auth_beacon_verify_tampered (line 728) | fn test_auth_beacon_verify_tampered() { function test_auth_beacon_too_short (line 756) | fn test_auth_beacon_too_short() { function test_auth_beacon_size_constant (line 765) | fn test_auth_beacon_size_constant() { function test_secure_coordinator_manual_create (line 772) | fn test_secure_coordinator_manual_create() { function test_secure_coordinator_manual_begin_cycle (line 781) | fn test_secure_coordinator_manual_begin_cycle() { function test_secure_coordinator_manual_nonce_increments (line 794) | fn test_secure_coordinator_manual_nonce_increments() { function test_secure_coordinator_manual_verify_own_beacon (line 809) | fn test_secure_coordinator_manual_verify_own_beacon() { function test_secure_coordinator_manual_reject_tampered (line 824) | fn test_secure_coordinator_manual_reject_tampered() { function test_secure_coordinator_manual_reject_replay (line 839) | fn test_secure_coordinator_manual_reject_replay() { function test_secure_coordinator_manual_backward_compat_permissive (line 858) | fn test_secure_coordinator_manual_backward_compat_permissive() { function test_secure_coordinator_manual_reject_unauthenticated_enforcing (line 877) | fn test_secure_coordinator_manual_reject_unauthenticated_enforcing() { function test_secure_coordinator_no_mesh_key (line 896) | fn test_secure_coordinator_no_mesh_key() { function test_secure_coordinator_quic_create (line 910) | fn test_secure_coordinator_quic_create() { function test_secure_coordinator_quic_begin_cycle (line 918) | fn test_secure_coordinator_quic_begin_cycle() { function test_secure_coordinator_quic_verify_own_beacon (line 930) | fn test_secure_coordinator_quic_verify_own_beacon() { function test_secure_coordinator_complete_cycle (line 944) | fn test_secure_coordinator_complete_cycle() { function test_secure_coordinator_cycle_id_increments (line 957) | fn test_secure_coordinator_cycle_id_increments() { function test_sec_level_values (line 974) | fn test_sec_level_values() { function test_hmac_different_keys_produce_different_tags (line 983) | fn test_hmac_different_keys_produce_different_tags() { function test_hmac_different_messages_produce_different_tags (line 993) | fn test_hmac_different_messages_produce_different_tags() { function test_hmac_is_deterministic (line 1001) | fn test_hmac_is_deterministic() { function test_wrong_key_fails_verification (line 1010) | fn test_wrong_key_fails_verification() { function test_single_bit_flip_in_payload_fails_verification (line 1031) | fn test_single_bit_flip_in_payload_fails_verification() { function test_enforcing_mode_rejects_unauthenticated (line 1055) | fn test_enforcing_mode_rejects_unauthenticated() { function test_secure_tdm_error_display (line 1074) | fn test_secure_tdm_error_display() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/esp32/tdm.rs constant MAX_NODES (line 32) | const MAX_NODES: usize = 16; constant DEFAULT_GUARD_US (line 35) | const DEFAULT_GUARD_US: u64 = 1_000; constant DEFAULT_PROCESSING_MS (line 38) | const DEFAULT_PROCESSING_MS: u64 = 30; constant DEFAULT_SLOT_MS (line 41) | const DEFAULT_SLOT_MS: u64 = 4; constant CRYSTAL_DRIFT_PPM (line 44) | const CRYSTAL_DRIFT_PPM: f64 = 10.0; type TdmError (line 48) | pub enum TdmError { method fmt (line 64) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type TdmSlot (line 92) | pub struct TdmSlot { method total_duration (line 105) | pub fn total_duration(&self) -> Duration { method start_offset (line 112) | pub fn start_offset(slots: &[TdmSlot], index: usize) -> Option Self { method node_count (line 233) | pub fn node_count(&self) -> usize { method cycle_period (line 238) | pub fn cycle_period(&self) -> Duration { method update_rate_hz (line 243) | pub fn update_rate_hz(&self) -> f64 { method processing_window (line 248) | pub fn processing_window(&self) -> Duration { method slot (line 253) | pub fn slot(&self, index: usize) -> Option<&TdmSlot> { method slot_for_node (line 258) | pub fn slot_for_node(&self, node_id: u8) -> Option<&TdmSlot> { method slots (line 263) | pub fn slots(&self) -> &[TdmSlot] { method max_drift_us (line 270) | pub fn max_drift_us(&self) -> f64 { method drift_within_guard (line 275) | pub fn drift_within_guard(&self) -> bool { type TdmSlotCompleted (line 288) | pub struct TdmSlotCompleted { type SyncBeacon (line 317) | pub struct SyncBeacon { method to_bytes (line 333) | pub fn to_bytes(&self) -> [u8; 16] { method from_bytes (line 346) | pub fn from_bytes(buf: &[u8]) -> Option { type TdmCoordinator (line 396) | pub struct TdmCoordinator { method new (line 415) | pub fn new(schedule: TdmSchedule) -> Self { method begin_cycle (line 432) | pub fn begin_cycle(&mut self) -> SyncBeacon { method complete_slot (line 483) | pub fn complete_slot(&mut self, slot_index: usize, capture_quality: f3... method is_cycle_complete (line 509) | pub fn is_cycle_complete(&self) -> bool { method completed_slot_count (line 514) | pub fn completed_slot_count(&self) -> usize { method cycle_id (line 519) | pub fn cycle_id(&self) -> u64 { method is_active (line 524) | pub fn is_active(&self) -> bool { method schedule (line 529) | pub fn schedule(&self) -> &TdmSchedule { method cumulative_drift_us (line 534) | pub fn cumulative_drift_us(&self) -> f64 { method max_single_cycle_drift_us (line 541) | pub fn max_single_cycle_drift_us(&self) -> f64 { method current_beacon (line 548) | pub fn current_beacon(&self) -> SyncBeacon { function test_default_4node_schedule (line 569) | fn test_default_4node_schedule() { function test_uniform_schedule_timing (line 579) | fn test_uniform_schedule_timing() { function test_slot_for_node (line 595) | fn test_slot_for_node() { function test_slot_start_offset (line 612) | fn test_slot_start_offset() { function test_empty_node_list_rejected (line 638) | fn test_empty_node_list_rejected() { function test_too_many_nodes_rejected (line 652) | fn test_too_many_nodes_rejected() { function test_guard_interval_too_large (line 664) | fn test_guard_interval_too_large() { function test_max_drift_calculation (line 675) | fn test_max_drift_calculation() { function test_sync_beacon_roundtrip (line 685) | fn test_sync_beacon_roundtrip() { function test_sync_beacon_short_buffer (line 703) | fn test_sync_beacon_short_buffer() { function test_sync_beacon_zero_drift (line 708) | fn test_sync_beacon_zero_drift() { function test_coordinator_begin_cycle (line 723) | fn test_coordinator_begin_cycle() { function test_coordinator_complete_all_slots (line 735) | fn test_coordinator_complete_all_slots() { function test_coordinator_cycle_id_increments (line 752) | fn test_coordinator_cycle_id_increments() { function test_coordinator_capture_quality_clamped (line 776) | fn test_coordinator_capture_quality_clamped() { function test_coordinator_current_beacon (line 789) | fn test_coordinator_current_beacon() { function test_coordinator_drift_starts_at_zero (line 800) | fn test_coordinator_drift_starts_at_zero() { function test_coordinator_max_single_cycle_drift (line 807) | fn test_coordinator_max_single_cycle_drift() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-hardware/src/esp32_parser.rs constant ESP32_CSI_MAGIC (line 38) | const ESP32_CSI_MAGIC: u32 = 0xC5110001; constant HEADER_SIZE (line 41) | const HEADER_SIZE: usize = 20; constant MAX_SUBCARRIERS (line 44) | const MAX_SUBCARRIERS: usize = 256; constant MAX_ANTENNAS (line 47) | const MAX_ANTENNAS: u8 = 4; type Esp32CsiParser (line 50) | pub struct Esp32CsiParser; method parse_frame (line 57) | pub fn parse_frame(data: &[u8]) -> Result<(CsiFrame, usize), ParseErro... method parse_stream (line 210) | pub fn parse_stream(data: &[u8]) -> (Vec, usize) { function build_test_frame (line 248) | fn build_test_frame(node_id: u8, n_antennas: u8, subcarrier_pairs: &[(i8... function test_parse_valid_frame (line 285) | fn test_parse_valid_frame() { function test_parse_insufficient_data (line 304) | fn test_parse_insufficient_data() { function test_parse_invalid_magic (line 311) | fn test_parse_invalid_magic() { function test_amplitude_phase_from_known_iq (line 320) | fn test_amplitude_phase_from_known_iq() { function test_parse_stream_with_multiple_frames (line 337) | fn test_parse_stream_with_multiple_frames() { function test_parse_stream_with_garbage (line 353) | fn test_parse_stream_with_garbage() { function test_multi_antenna_frame (line 366) | fn test_multi_antenna_frame() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/benches/detection_bench.rs function generate_breathing_signal (line 47) | fn generate_breathing_signal(rate_bpm: f64, sample_rate: f64, duration_s... function generate_noisy_breathing_signal (line 60) | fn generate_noisy_breathing_signal( function generate_heartbeat_signal (line 81) | fn generate_heartbeat_signal(rate_bpm: f64, sample_rate: f64, duration_s... function generate_combined_vital_signal (line 96) | fn generate_combined_vital_signal( function generate_multi_person_signal (line 128) | fn generate_multi_person_signal( function generate_movement_signal (line 157) | fn generate_movement_signal( function create_test_sensors (line 199) | fn create_test_sensors(count: usize) -> Vec { function create_test_debris (line 216) | fn create_test_debris() -> DebrisProfile { function create_test_survivor (line 226) | fn create_test_survivor() -> Survivor { function bench_breathing_detection (line 247) | fn bench_breathing_detection(c: &mut Criterion) { function bench_heartbeat_detection (line 321) | fn bench_heartbeat_detection(c: &mut Criterion) { function bench_movement_classification (line 398) | fn bench_movement_classification(c: &mut Criterion) { function bench_detection_pipeline (line 457) | fn bench_detection_pipeline(c: &mut Criterion) { function bench_triangulation (line 534) | fn bench_triangulation(c: &mut Criterion) { function bench_depth_estimation (line 620) | fn bench_depth_estimation(c: &mut Criterion) { function bench_alert_generation (line 729) | fn bench_alert_generation(c: &mut Criterion) { function bench_csi_buffer (line 789) | fn bench_csi_buffer(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/alerting/dispatcher.rs type AlertConfig (line 10) | pub struct AlertConfig { method default (line 24) | fn default() -> Self { type AlertDispatcher (line 36) | pub struct AlertDispatcher { method new (line 45) | pub fn new(config: AlertConfig) -> Self { method add_handler (line 55) | pub fn add_handler(&mut self, handler: Box) { method generate_alert (line 60) | pub fn generate_alert(&self, survivor: &Survivor) -> Result Result<(), MatError> { method acknowledge (line 107) | pub fn acknowledge(&self, alert_id: &AlertId, by: &str) -> Result<(), ... method resolve (line 124) | pub fn resolve(&self, alert_id: &AlertId, resolution: crate::domain::A... method pending (line 141) | pub fn pending(&self) -> Vec { method pending_by_priority (line 146) | pub fn pending_by_priority(&self, priority: Priority) -> Vec { method pending_count (line 156) | pub fn pending_count(&self) -> usize { method check_escalations (line 161) | pub async fn check_escalations(&self) -> Result { method escalate_oldest (line 193) | async fn escalate_oldest(&self) -> Result<(), MatError> { method config (line 216) | pub fn config(&self) -> &AlertConfig { type AlertHandler (line 223) | pub trait AlertHandler: Send + Sync { method name (line 225) | fn name(&self) -> &str; method handle (line 228) | async fn handle(&self, alert: &Alert) -> Result<(), MatError>; method name (line 236) | fn name(&self) -> &str { method handle (line 240) | async fn handle(&self, alert: &Alert) -> Result<(), MatError> { method name (line 294) | fn name(&self) -> &str { method handle (line 298) | async fn handle(&self, alert: &Alert) -> Result<(), MatError> { type ConsoleAlertHandler (line 232) | pub struct ConsoleAlertHandler; type AudioAlertHandler (line 267) | pub struct AudioAlertHandler { method new (line 274) | pub fn new() -> Self { method with_availability (line 281) | pub fn with_availability(available: bool) -> Self { method default (line 287) | fn default() -> Self { function create_test_alert (line 325) | fn create_test_alert() -> Alert { function test_dispatch_alert (line 334) | async fn test_dispatch_alert() { function test_acknowledge_alert (line 344) | async fn test_acknowledge_alert() { function test_resolve_alert (line 359) | async fn test_resolve_alert() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/alerting/generator.rs type AlertGenerator (line 9) | pub struct AlertGenerator { method new (line 16) | pub fn new() -> Self { method register_zone (line 23) | pub fn register_zone(&mut self, zone_id: ScanZoneId, name: String) { method generate (line 28) | pub fn generate(&self, survivor: &Survivor) -> Result { method generate_escalation (line 36) | pub fn generate_escalation( method generate_status_change (line 58) | pub fn generate_status_change( method create_payload (line 99) | fn create_payload(&self, survivor: &Survivor) -> AlertPayload { method format_vital_signs (line 138) | fn format_vital_signs(&self, survivor: &Survivor) -> String { method format_location (line 173) | fn format_location(&self, survivor: &Survivor) -> String { method recommend_action (line 196) | fn recommend_action(&self, survivor: &Survivor) -> String { method default (line 224) | fn default() -> Self { function create_test_survivor (line 235) | fn create_test_survivor() -> Survivor { function test_generate_alert (line 253) | fn test_generate_alert() { function test_escalation_alert (line 265) | fn test_escalation_alert() { function test_status_change_alert (line 277) | fn test_status_change_alert() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/alerting/triage_service.rs type TriageService (line 9) | pub struct TriageService; method calculate_triage (line 13) | pub fn calculate_triage(vitals: &VitalSignsReading) -> TriageStatus { method should_upgrade (line 18) | pub fn should_upgrade(survivor: &Survivor) -> bool { method upgrade_status (line 26) | pub fn upgrade_status(current: &TriageStatus) -> TriageStatus { method evaluate_mass_casualty (line 31) | pub fn evaluate_mass_casualty(survivors: &[&Survivor]) -> MassCasualty... method calculate_severity (line 66) | fn calculate_severity(immediate: u32, delayed: u32, total: u32) -> Sev... method calculate_resource_level (line 85) | fn calculate_resource_level(immediate: u32, delayed: u32, minor: u32) ... type PriorityCalculator (line 106) | pub struct PriorityCalculator; method from_triage (line 110) | pub fn from_triage(status: &TriageStatus) -> Priority { method calculate_with_factors (line 115) | pub fn calculate_with_factors( type MassCasualtyAssessment (line 155) | pub struct MassCasualtyAssessment { method living (line 176) | pub fn living(&self) -> u32 { method needs_rescue (line 181) | pub fn needs_rescue(&self) -> u32 { method summary (line 186) | pub fn summary(&self) -> String { type SeverityLevel (line 201) | pub enum SeverityLevel { type ResourceLevel (line 214) | pub enum ResourceLevel { function create_test_vitals (line 235) | fn create_test_vitals(rate_bpm: f32) -> VitalSignsReading { function test_calculate_triage (line 251) | fn test_calculate_triage() { function test_priority_from_triage (line 266) | fn test_priority_from_triage() { function test_mass_casualty_assessment (line 278) | fn test_mass_casualty_assessment() { function test_priority_with_factors (line 298) | fn test_priority_with_factors() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/api/dto.rs type CreateEventRequest (line 35) | pub struct CreateEventRequest { type EventResponse (line 77) | pub struct EventResponse { type TriageSummary (line 106) | pub struct TriageSummary { type EventMetadataDto (line 122) | pub struct EventMetadataDto { type EventListResponse (line 143) | pub struct EventListResponse { type CreateZoneRequest (line 181) | pub struct CreateZoneRequest { type ZoneBoundsDto (line 194) | pub enum ZoneBoundsDto { type ScanParametersDto (line 217) | pub struct ScanParametersDto { function default_sensitivity (line 235) | fn default_sensitivity() -> f64 { 0.8 } function default_max_depth (line 236) | fn default_max_depth() -> f64 { 5.0 } function default_true (line 237) | fn default_true() -> bool { true } method default (line 240) | fn default() -> Self { type ScanResolutionDto (line 254) | pub enum ScanResolutionDto { type ZoneResponse (line 265) | pub struct ZoneResponse { type ZoneListResponse (line 290) | pub struct ZoneListResponse { type SurvivorResponse (line 329) | pub struct SurvivorResponse { type LocationDto (line 359) | pub struct LocationDto { type VitalSignsSummaryDto (line 377) | pub struct VitalSignsSummaryDto { type SurvivorMetadataDto (line 401) | pub struct SurvivorMetadataDto { type SurvivorListResponse (line 417) | pub struct SurvivorListResponse { type AlertResponse (line 449) | pub struct AlertResponse { type AcknowledgeAlertRequest (line 494) | pub struct AcknowledgeAlertRequest { type AcknowledgeAlertResponse (line 505) | pub struct AcknowledgeAlertResponse { type AlertListResponse (line 515) | pub struct AlertListResponse { type PriorityCounts (line 527) | pub struct PriorityCounts { type WebSocketMessage (line 541) | pub enum WebSocketMessage { type WebSocketRequest (line 593) | pub enum WebSocketRequest { type DisasterTypeDto (line 617) | pub enum DisasterTypeDto { method from (line 630) | fn from(dt: DisasterType) -> Self { method from (line 646) | fn from(dt: DisasterTypeDto) -> Self { type EventStatusDto (line 664) | pub enum EventStatusDto { method from (line 673) | fn from(es: EventStatus) -> Self { type ZoneStatusDto (line 687) | pub enum ZoneStatusDto { method from (line 696) | fn from(zs: ZoneStatus) -> Self { type TriageStatusDto (line 710) | pub enum TriageStatusDto { method from (line 719) | fn from(ts: TriageStatus) -> Self { type PriorityDto (line 733) | pub enum PriorityDto { method from (line 741) | fn from(p: Priority) -> Self { type AlertStatusDto (line 754) | pub enum AlertStatusDto { method from (line 764) | fn from(as_: AlertStatus) -> Self { type SurvivorStatusDto (line 779) | pub enum SurvivorStatusDto { method from (line 788) | fn from(ss: SurvivorStatus) -> Self { type ListEventsQuery (line 806) | pub struct ListEventsQuery { function default_page_size (line 819) | fn default_page_size() -> usize { 20 } type ListSurvivorsQuery (line 824) | pub struct ListSurvivorsQuery { type ListAlertsQuery (line 839) | pub struct ListAlertsQuery { type PushCsiDataRequest (line 869) | pub struct PushCsiDataRequest { type PushCsiDataResponse (line 882) | pub struct PushCsiDataResponse { type ScanControlRequest (line 900) | pub struct ScanControlRequest { type ScanAction (line 908) | pub enum ScanAction { type ScanControlResponse (line 924) | pub struct ScanControlResponse { type PipelineStatusResponse (line 936) | pub struct PipelineStatusResponse { type DomainEventsResponse (line 956) | pub struct DomainEventsResponse { type DomainEventDto (line 966) | pub struct DomainEventDto { function test_create_event_request_deserialize (line 980) | fn test_create_event_request_deserialize() { function test_zone_bounds_dto_deserialize (line 994) | fn test_zone_bounds_dto_deserialize() { function test_websocket_message_serialize (line 1008) | fn test_websocket_message_serialize() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/api/error.rs type ApiError (line 23) | pub enum ApiError { method event_not_found (line 80) | pub fn event_not_found(id: Uuid) -> Self { method zone_not_found (line 88) | pub fn zone_not_found(id: Uuid) -> Self { method survivor_not_found (line 96) | pub fn survivor_not_found(id: Uuid) -> Self { method alert_not_found (line 104) | pub fn alert_not_found(id: Uuid) -> Self { method bad_request (line 112) | pub fn bad_request(message: impl Into) -> Self { method validation (line 120) | pub fn validation(message: impl Into, field: Option) -... method internal (line 128) | pub fn internal(message: impl Into) -> Self { method status_code (line 136) | pub fn status_code(&self) -> StatusCode { method error_code (line 150) | pub fn error_code(&self) -> &'static str { type ErrorResponse (line 166) | pub struct ErrorResponse { type ErrorDetails (line 181) | pub struct ErrorDetails { method into_response (line 197) | fn into_response(self) -> Response { type ApiResult (line 250) | pub type ApiResult = Result; function test_error_status_codes (line 257) | fn test_error_status_codes() { function test_error_codes (line 269) | fn test_error_codes() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/api/handlers.rs function list_events (line 69) | pub async fn list_events( function create_event (line 146) | pub async fn create_event( function get_event (line 221) | pub async fn get_event( function list_zones (line 264) | pub async fn list_zones( function add_zone (line 314) | pub async fn add_zone( function list_survivors (line 440) | pub async fn list_survivors( function list_alerts (line 544) | pub async fn list_alerts( function acknowledge_alert (line 632) | pub async fn acknowledge_alert( function event_to_response (line 684) | fn event_to_response(event: DisasterEvent) -> EventResponse { function zone_to_response (line 714) | fn zone_to_response(zone: &ScanZone) -> ZoneResponse { function survivor_to_response (line 765) | fn survivor_to_response(survivor: &crate::Survivor) -> SurvivorResponse { function alert_to_response (line 821) | fn alert_to_response(alert: &crate::Alert) -> AlertResponse { function update_triage_summary (line 852) | fn update_triage_summary(summary: &mut TriageSummary, status: &crate::Tr... function update_priority_counts (line 862) | fn update_priority_counts(counts: &mut PriorityCounts, priority: crate::... function matches_status (line 872) | fn matches_status(a: &EventStatusDto, b: &EventStatusDto) -> bool { function matches_triage_status (line 876) | fn matches_triage_status(a: &TriageStatusDto, b: &TriageStatusDto) -> bo... function matches_priority (line 880) | fn matches_priority(a: &PriorityDto, b: &PriorityDto) -> bool { function matches_alert_status (line 884) | fn matches_alert_status(a: &AlertStatusDto, b: &AlertStatusDto) -> bool { function push_csi_data (line 915) | pub async fn push_csi_data( function scan_control (line 968) | pub async fn scan_control( function pipeline_status (line 1022) | pub async fn pipeline_status( function list_domain_events (line 1054) | pub async fn list_domain_events( FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/api/mod.rs function create_router (line 64) | pub fn create_router(state: AppState) -> Router { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/api/state.rs type AppState (line 25) | pub struct AppState { method new (line 77) | pub fn new() -> Self { method with_config (line 82) | pub fn with_config(config: ApiConfig) -> Self { method detection_pipeline (line 101) | pub fn detection_pipeline(&self) -> &DetectionPipeline { method event_store (line 106) | pub fn event_store(&self) -> &Arc { method is_scanning (line 111) | pub fn is_scanning(&self) -> bool { method set_scanning (line 116) | pub fn set_scanning(&self, state: bool) { method store_event (line 125) | pub fn store_event(&self, event: DisasterEvent) -> Uuid { method get_event (line 148) | pub fn get_event(&self, id: Uuid) -> Option { method update_event (line 153) | pub fn update_event(&self, id: Uuid, f: F) -> Option method list_events (line 162) | pub fn list_events(&self) -> Vec { method event_count (line 167) | pub fn event_count(&self) -> usize { method store_alert (line 176) | pub fn store_alert(&self, alert: Alert, event_id: Uuid) -> Uuid { method get_alert (line 184) | pub fn get_alert(&self, id: Uuid) -> Option { method update_alert (line 189) | pub fn update_alert(&self, id: Uuid, f: F) -> Option method list_alerts_for_event (line 198) | pub fn list_alerts_for_event(&self, event_id: Uuid) -> Vec { method subscribe (line 213) | pub fn subscribe(&self) -> broadcast::Receiver { method broadcast (line 218) | pub fn broadcast(&self, message: WebSocketMessage) { method subscriber_count (line 224) | pub fn subscriber_count(&self) -> usize { type AppStateInner (line 30) | struct AppStateInner { type AlertWithEventId (line 49) | pub struct AlertWithEventId { type ApiConfig (line 56) | pub struct ApiConfig { method default (line 66) | fn default() -> Self { method default (line 230) | fn default() -> Self { function test_store_and_get_event (line 242) | fn test_store_and_get_event() { function test_update_event (line 259) | fn test_update_event() { function test_broadcast_subscribe (line 280) | fn test_broadcast_subscribe() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/api/websocket.rs function ws_handler (line 79) | pub async fn ws_handler( function handle_socket (line 87) | async fn handle_socket(socket: WebSocket, state: AppState) { function handle_client_message (line 183) | async fn handle_client_message( type SubscriptionState (line 216) | struct SubscriptionState { method new (line 224) | fn new() -> Self { method subscribe (line 231) | fn subscribe(&mut self, event_id: Uuid) { method unsubscribe (line 236) | fn unsubscribe(&mut self, event_id: &Uuid) { method subscribe_all (line 243) | fn subscribe_all(&mut self) { method should_receive (line 248) | fn should_receive(&self, msg: &WebSocketMessage) -> bool { function test_subscription_state (line 278) | fn test_subscription_state() { function test_should_receive (line 296) | fn test_should_receive() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/detection/breathing.rs type CompressedBreathingBuffer (line 24) | pub struct CompressedBreathingBuffer { method new (line 33) | pub fn new(n_subcarriers: usize, zone_id: u64) -> Self { method push_frame (line 47) | pub fn push_frame(&mut self, amplitudes: &[f32]) { method flush (line 59) | pub fn flush(&mut self) { method to_flat_vec (line 65) | pub fn to_flat_vec(&self) -> Vec { method get_frame (line 72) | pub fn get_frame(&self, frame_idx: usize) -> Option> { method frame_count (line 77) | pub fn frame_count(&self) -> u64 { method n_subcarriers (line 82) | pub fn n_subcarriers(&self) -> usize { type BreathingDetectorConfig (line 89) | pub struct BreathingDetectorConfig { method default (line 105) | fn default() -> Self { type BreathingDetector (line 118) | pub struct BreathingDetector { method new (line 124) | pub fn new(config: BreathingDetectorConfig) -> Self { method with_defaults (line 129) | pub fn with_defaults() -> Self { method detect (line 138) | pub fn detect(&self, csi_amplitudes: &[f64], sample_rate: f64) -> Opti... method compute_spectrum (line 187) | fn compute_spectrum(&self, signal: &[f64]) -> Vec { method find_dominant_frequency (line 217) | fn find_dominant_frequency( method calculate_regularity (line 256) | fn calculate_regularity(&self, spectrum: &[f64], dominant_freq: f64, s... method classify_pattern (line 289) | fn classify_pattern(&self, rate_bpm: f32, regularity: f32) -> Breathin... method calculate_confidence (line 308) | fn calculate_confidence(&self, amplitude: f64, regularity: f32) -> f32 { function compressed_breathing_buffer_push_and_decode (line 323) | fn compressed_breathing_buffer_push_and_decode() { function compressed_breathing_buffer_get_frame (line 338) | fn compressed_breathing_buffer_get_frame() { function generate_breathing_signal (line 354) | fn generate_breathing_signal(rate_bpm: f64, sample_rate: f64, duration: ... function test_detect_normal_breathing (line 367) | fn test_detect_normal_breathing() { function test_detect_fast_breathing (line 380) | fn test_detect_fast_breathing() { function test_no_detection_on_noise (line 393) | fn test_no_detection_on_noise() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/detection/ensemble.rs type EnsembleConfig (line 18) | pub struct EnsembleConfig { method default (line 30) | fn default() -> Self { type EnsembleResult (line 42) | pub struct EnsembleResult { type SignalConfidences (line 59) | pub struct SignalConfidences { type EnsembleClassifier (line 69) | pub struct EnsembleClassifier { method new (line 75) | pub fn new(config: EnsembleConfig) -> Self { method classify (line 83) | pub fn classify(&self, reading: &VitalSignsReading) -> EnsembleResult { method determine_triage (line 150) | fn determine_triage( method config (line 209) | pub fn config(&self) -> &EnsembleConfig { function make_reading (line 222) | fn make_reading( function test_normal_breathing_with_movement_is_minor (line 252) | fn test_normal_breathing_with_movement_is_minor() { function test_agonal_breathing_is_immediate (line 267) | fn test_agonal_breathing_is_immediate() { function test_normal_breathing_no_movement_is_delayed (line 280) | fn test_normal_breathing_no_movement_is_delayed() { function test_no_vitals_is_deceased (line 293) | fn test_no_vitals_is_deceased() { function test_ensemble_confidence_weighting (line 307) | fn test_ensemble_confidence_weighting() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/detection/heartbeat.rs type CompressedHeartbeatSpectrogram (line 20) | pub struct CompressedHeartbeatSpectrogram { method new (line 29) | pub fn new(n_freq_bins: usize) -> Self { method push_column (line 38) | pub fn push_column(&mut self, column: &[f32]) { method flush (line 52) | pub fn flush(&mut self) { method band_power (line 60) | pub fn band_power(&self, low_bin: usize, high_bin: usize, n_recent: us... method frame_count (line 77) | pub fn frame_count(&self) -> u64 { self.frame_count } method n_freq_bins (line 78) | pub fn n_freq_bins(&self) -> usize { self.n_freq_bins } type HeartbeatDetectorConfig (line 83) | pub struct HeartbeatDetectorConfig { method default (line 99) | fn default() -> Self { type HeartbeatDetector (line 116) | pub struct HeartbeatDetector { method new (line 122) | pub fn new(config: HeartbeatDetectorConfig) -> Self { method with_defaults (line 127) | pub fn with_defaults() -> Self { method detect (line 140) | pub fn detect( method remove_breathing_component (line 198) | fn remove_breathing_component( method apply_notch_filter (line 218) | fn apply_notch_filter( method highpass_filter (line 258) | fn highpass_filter(&self, signal: &[f64], sample_rate: f64, cutoff: f6... method compute_micro_doppler_spectrum (line 278) | fn compute_micro_doppler_spectrum(&self, signal: &[f64], _sample_rate:... method find_heartbeat_frequency (line 309) | fn find_heartbeat_frequency( method estimate_hrv (line 354) | fn estimate_hrv(&self, spectrum: &[f64], peak_freq: f64, sample_rate: ... method categorize_strength (line 389) | fn categorize_strength(&self, strength: f64) -> SignalStrength { method calculate_confidence (line 402) | fn calculate_confidence(&self, strength: f64, hrv: f32) -> f32 { function compressed_heartbeat_push_and_band_power (line 422) | fn compressed_heartbeat_push_and_band_power() { function generate_heartbeat_signal (line 446) | fn generate_heartbeat_signal(rate_bpm: f64, sample_rate: f64, duration: ... function test_detect_heartbeat (line 461) | fn test_detect_heartbeat() { function test_highpass_filter (line 474) | fn test_highpass_filter() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/detection/movement.rs type MovementClassifierConfig (line 7) | pub struct MovementClassifierConfig { method default (line 19) | fn default() -> Self { type MovementClassifier (line 30) | pub struct MovementClassifier { method new (line 36) | pub fn new(config: MovementClassifierConfig) -> Self { method with_defaults (line 41) | pub fn with_defaults() -> Self { method classify (line 46) | pub fn classify(&self, csi_signal: &[f64], sample_rate: f64) -> Moveme... method calculate_variance (line 78) | fn calculate_variance(&self, signal: &[f64]) -> f64 { method calculate_max_change (line 92) | fn calculate_max_change(&self, signal: &[f64]) -> f64 { method calculate_periodicity (line 103) | fn calculate_periodicity(&self, signal: &[f64], _sample_rate: f64) -> ... method determine_movement_type (line 139) | fn determine_movement_type( method calculate_intensity (line 182) | fn calculate_intensity(&self, variance: f64, max_change: f64) -> f32 { method calculate_movement_frequency (line 191) | fn calculate_movement_frequency(&self, signal: &[f64], sample_rate: f6... function test_no_movement (line 217) | fn test_no_movement() { function test_gross_movement (line 226) | fn test_gross_movement() { function test_periodic_movement (line 243) | fn test_periodic_movement() { function test_intensity_calculation (line 258) | fn test_intensity_calculation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/detection/pipeline.rs type DetectionConfig (line 17) | pub struct DetectionConfig { method from_disaster_config (line 53) | pub fn from_disaster_config(config: &DisasterConfig) -> Self { method with_ml (line 68) | pub fn with_ml(mut self, ml_config: MlDetectionConfig) -> Self { method with_default_ml (line 75) | pub fn with_default_ml(mut self) -> Self { method default (line 37) | fn default() -> Self { type VitalSignsDetector (line 83) | pub trait VitalSignsDetector: Send + Sync { method detect (line 85) | fn detect(&self, csi_data: &CsiDataBuffer) -> Option; method detect (line 359) | fn detect(&self, csi_data: &CsiDataBuffer) -> Option { type CsiDataBuffer (line 90) | pub struct CsiDataBuffer { method new (line 103) | pub fn new(sample_rate: f64) -> Self { method add_samples (line 113) | pub fn add_samples(&mut self, amplitudes: &[f64], phases: &[f64]) { method clear (line 126) | pub fn clear(&mut self) { method duration (line 133) | pub fn duration(&self) -> f64 { method has_sufficient_data (line 138) | pub fn has_sufficient_data(&self, min_duration: f64) -> bool { type DetectionPipeline (line 144) | pub struct DetectionPipeline { method new (line 156) | pub fn new(config: DetectionConfig) -> Self { method initialize_ml (line 174) | pub async fn initialize_ml(&mut self) -> Result<(), MatError> { method ml_ready (line 182) | pub fn ml_ready(&self) -> bool { method process_zone (line 195) | pub async fn process_zone(&self, zone: &ScanZone) -> Result Option { method add_data (line 269) | pub fn add_data(&self, amplitudes: &[f64], phases: &[f64]) { method clear_buffer (line 284) | pub fn clear_buffer(&self) { method detect_from_buffer (line 289) | fn detect_from_buffer( method config (line 330) | pub fn config(&self) -> &DetectionConfig { method update_config (line 335) | pub fn update_config(&mut self, config: DetectionConfig) { method ml_pipeline (line 353) | pub fn ml_pipeline(&self) -> Option<&MlDetectionPipeline> { function create_test_buffer (line 399) | fn create_test_buffer() -> CsiDataBuffer { function test_pipeline_creation (line 425) | fn test_pipeline_creation() { function test_csi_buffer (line 432) | fn test_csi_buffer() { function test_vital_signs_detection (line 446) | fn test_vital_signs_detection() { function test_config_from_disaster_config (line 459) | fn test_config_from_disaster_config() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/alert.rs type AlertId (line 11) | pub struct AlertId(Uuid); method new (line 15) | pub fn new() -> Self { method as_uuid (line 20) | pub fn as_uuid(&self) -> &Uuid { method fmt (line 32) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 26) | fn default() -> Self { type Priority (line 40) | pub enum Priority { method from_triage (line 53) | pub fn from_triage(status: &TriageStatus) -> Self { method value (line 64) | pub fn value(&self) -> u8 { method color (line 69) | pub fn color(&self) -> &'static str { method audio_pattern (line 79) | pub fn audio_pattern(&self) -> &'static str { method fmt (line 90) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type AlertPayload (line 103) | pub struct AlertPayload { method new (line 122) | pub fn new( method with_location (line 139) | pub fn with_location(mut self, location: Coordinates3D) -> Self { method with_action (line 145) | pub fn with_action(mut self, action: impl Into) -> Self { method with_deadline (line 151) | pub fn with_deadline(mut self, deadline: DateTime) -> Self { method with_metadata (line 157) | pub fn with_metadata(mut self, key: impl Into, value: impl Int... type AlertStatus (line 166) | pub enum AlertStatus { type AlertResolution (line 184) | pub struct AlertResolution { type ResolutionType (line 198) | pub enum ResolutionType { type Alert (line 216) | pub struct Alert { method new (line 231) | pub fn new(survivor_id: SurvivorId, priority: Priority, payload: Alert... method id (line 247) | pub fn id(&self) -> &AlertId { method survivor_id (line 252) | pub fn survivor_id(&self) -> &SurvivorId { method priority (line 257) | pub fn priority(&self) -> Priority { method payload (line 262) | pub fn payload(&self) -> &AlertPayload { method status (line 267) | pub fn status(&self) -> &AlertStatus { method created_at (line 272) | pub fn created_at(&self) -> &DateTime { method acknowledged_at (line 277) | pub fn acknowledged_at(&self) -> Option<&DateTime> { method acknowledged_by (line 282) | pub fn acknowledged_by(&self) -> Option<&str> { method resolution (line 287) | pub fn resolution(&self) -> Option<&AlertResolution> { method escalation_count (line 292) | pub fn escalation_count(&self) -> u32 { method acknowledge (line 297) | pub fn acknowledge(&mut self, by: impl Into) { method start_work (line 304) | pub fn start_work(&mut self) { method resolve (line 311) | pub fn resolve(&mut self, resolution: AlertResolution) { method cancel (line 317) | pub fn cancel(&mut self, reason: &str) { method escalate (line 328) | pub fn escalate(&mut self) { method is_pending (line 341) | pub fn is_pending(&self) -> bool { method is_active (line 346) | pub fn is_active(&self) -> bool { method age (line 354) | pub fn age(&self) -> chrono::Duration { method time_since_ack (line 359) | pub fn time_since_ack(&self) -> Option { method needs_escalation (line 364) | pub fn needs_escalation(&self, max_pending_seconds: i64) -> bool { function create_test_payload (line 376) | fn create_test_payload() -> AlertPayload { function test_alert_creation (line 385) | fn test_alert_creation() { function test_alert_lifecycle (line 400) | fn test_alert_lifecycle() { function test_alert_escalation (line 431) | fn test_alert_escalation() { function test_priority_from_triage (line 454) | fn test_priority_from_triage() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/coordinates.rs type Coordinates3D (line 6) | pub struct Coordinates3D { method new (line 19) | pub fn new(x: f64, y: f64, z: f64, uncertainty: LocationUncertainty) -... method with_default_uncertainty (line 24) | pub fn with_default_uncertainty(x: f64, y: f64, z: f64) -> Self { method distance_to (line 34) | pub fn distance_to(&self, other: &Coordinates3D) -> f64 { method horizontal_distance_to (line 42) | pub fn horizontal_distance_to(&self, other: &Coordinates3D) -> f64 { method depth (line 49) | pub fn depth(&self) -> f64 { method is_buried (line 54) | pub fn is_buried(&self) -> bool { method confidence_radius (line 59) | pub fn confidence_radius(&self) -> f64 { type LocationUncertainty (line 67) | pub struct LocationUncertainty { method new (line 88) | pub fn new(horizontal_error: f64, vertical_error: f64) -> Self { method high_confidence (line 97) | pub fn high_confidence(horizontal_error: f64, vertical_error: f64) -> ... method is_actionable (line 106) | pub fn is_actionable(&self) -> bool { method combine (line 112) | pub fn combine(&self, other: &LocationUncertainty) -> LocationUncertai... method default (line 77) | fn default() -> Self { type DepthEstimate (line 138) | pub struct DepthEstimate { method new (line 151) | pub fn new( method min_depth (line 166) | pub fn min_depth(&self) -> f64 { method max_depth (line 171) | pub fn max_depth(&self) -> f64 { method is_shallow (line 176) | pub fn is_shallow(&self) -> bool { method is_moderate (line 181) | pub fn is_moderate(&self) -> bool { method is_deep (line 186) | pub fn is_deep(&self) -> bool { type DebrisProfile (line 194) | pub struct DebrisProfile { method attenuation_factor (line 218) | pub fn attenuation_factor(&self) -> f64 { method is_penetrable (line 227) | pub fn is_penetrable(&self) -> bool { method default (line 206) | fn default() -> Self { type DebrisMaterial (line 236) | pub enum DebrisMaterial { method attenuation_coefficient (line 255) | pub fn attenuation_coefficient(&self) -> f64 { type MoistureLevel (line 271) | pub enum MoistureLevel { method attenuation_multiplier (line 284) | pub fn attenuation_multiplier(&self) -> f64 { type MetalContent (line 297) | pub enum MetalContent { function test_distance_calculation (line 315) | fn test_distance_calculation() { function test_depth_calculation (line 324) | fn test_depth_calculation() { function test_uncertainty_combination (line 335) | fn test_uncertainty_combination() { function test_depth_estimate_categories (line 346) | fn test_depth_estimate_categories() { function test_debris_attenuation (line 358) | fn test_debris_attenuation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/disaster_event.rs type DisasterEventId (line 16) | pub struct DisasterEventId(Uuid); method new (line 20) | pub fn new() -> Self { method as_uuid (line 25) | pub fn as_uuid(&self) -> &Uuid { method fmt (line 37) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 31) | fn default() -> Self { type DisasterType (line 45) | pub enum DisasterType { method typical_debris_profile (line 68) | pub fn typical_debris_profile(&self) -> super::DebrisProfile { method expected_survival_hours (line 119) | pub fn expected_survival_hours(&self) -> u32 { method default (line 135) | fn default() -> Self { type EventStatus (line 143) | pub enum EventStatus { type DisasterEvent (line 159) | pub struct DisasterEvent { method new (line 191) | pub fn new( method id (line 210) | pub fn id(&self) -> &DisasterEventId { method event_type (line 215) | pub fn event_type(&self) -> &DisasterType { method start_time (line 220) | pub fn start_time(&self) -> &DateTime { method location (line 225) | pub fn location(&self) -> &Point { method description (line 230) | pub fn description(&self) -> &str { method zones (line 235) | pub fn zones(&self) -> &[ScanZone] { method zones_mut (line 240) | pub fn zones_mut(&mut self) -> &mut [ScanZone] { method survivors (line 245) | pub fn survivors(&self) -> Vec<&Survivor> { method survivors_mut (line 250) | pub fn survivors_mut(&mut self) -> &mut [Survivor] { method status (line 255) | pub fn status(&self) -> &EventStatus { method metadata (line 260) | pub fn metadata(&self) -> &EventMetadata { method metadata_mut (line 265) | pub fn metadata_mut(&mut self) -> &mut EventMetadata { method add_zone (line 270) | pub fn add_zone(&mut self, zone: ScanZone) { method remove_zone (line 280) | pub fn remove_zone(&mut self, zone_id: &ScanZoneId) { method record_detection (line 285) | pub fn record_detection( method find_nearby_survivor (line 318) | fn find_nearby_survivor(&self, location: &Coordinates3D, radius: f64) ... method get_survivor (line 330) | pub fn get_survivor(&self, id: &SurvivorId) -> Option<&Survivor> { method get_survivor_mut (line 335) | pub fn get_survivor_mut(&mut self, id: &SurvivorId) -> Option<&mut Sur... method get_zone (line 340) | pub fn get_zone(&self, id: &ScanZoneId) -> Option<&ScanZone> { method set_status (line 345) | pub fn set_status(&mut self, status: EventStatus) { method suspend (line 350) | pub fn suspend(&mut self, reason: &str) { method resume (line 360) | pub fn resume(&mut self) { method close (line 371) | pub fn close(&mut self) { method elapsed_time (line 376) | pub fn elapsed_time(&self) -> chrono::Duration { method triage_counts (line 381) | pub fn triage_counts(&self) -> TriageCounts { type EventMetadata (line 174) | pub struct EventMetadata { type TriageCounts (line 400) | pub struct TriageCounts { method total (line 415) | pub fn total(&self) -> u32 { method living (line 420) | pub fn living(&self) -> u32 { function create_test_vitals (line 430) | fn create_test_vitals() -> VitalSignsReading { function test_event_creation (line 446) | fn test_event_creation() { function test_add_zone_activates_event (line 458) | fn test_add_zone_activates_event() { function test_record_detection (line 474) | fn test_record_detection() { function test_disaster_type_survival_hours (line 492) | fn test_disaster_type_survival_hours() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/events.rs type DomainEvent (line 13) | pub enum DomainEvent { method timestamp (line 28) | pub fn timestamp(&self) -> DateTime { method event_type (line 39) | pub fn event_type(&self) -> &'static str { type DetectionEvent (line 53) | pub enum DetectionEvent { method timestamp (line 114) | pub fn timestamp(&self) -> DateTime { method event_type (line 127) | pub fn event_type(&self) -> &'static str { method survivor_id (line 140) | pub fn survivor_id(&self) -> &SurvivorId { type LostReason (line 156) | pub enum LostReason { type AlertEvent (line 174) | pub enum AlertEvent { method timestamp (line 216) | pub fn timestamp(&self) -> DateTime { method event_type (line 227) | pub fn event_type(&self) -> &'static str { method alert_id (line 238) | pub fn alert_id(&self) -> &AlertId { type ZoneEvent (line 252) | pub enum ZoneEvent { method timestamp (line 298) | pub fn timestamp(&self) -> DateTime { method event_type (line 310) | pub fn event_type(&self) -> &'static str { method zone_id (line 322) | pub fn zone_id(&self) -> &ScanZoneId { type SystemEvent (line 337) | pub enum SystemEvent { method timestamp (line 383) | pub fn timestamp(&self) -> DateTime { method event_type (line 395) | pub fn event_type(&self) -> &'static str { type ErrorSeverity (line 410) | pub enum ErrorSeverity { type TrackingEvent (line 422) | pub enum TrackingEvent { method timestamp (line 461) | pub fn timestamp(&self) -> DateTime { method event_type (line 471) | pub fn event_type(&self) -> &'static str { type EventStore (line 483) | pub trait EventStore: Send + Sync { method append (line 485) | fn append(&self, event: DomainEvent) -> Result<(), crate::MatError>; method all (line 488) | fn all(&self) -> Result, crate::MatError>; method since (line 491) | fn since(&self, timestamp: DateTime) -> Result, ... method for_survivor (line 494) | fn for_survivor(&self, survivor_id: &SurvivorId) -> Result Result<(), crate::MatError> { method all (line 516) | fn all(&self) -> Result, crate::MatError> { method since (line 520) | fn since(&self, timestamp: DateTime) -> Result, ... method for_survivor (line 530) | fn for_survivor(&self, survivor_id: &SurvivorId) -> Result Self { function test_in_memory_event_store (line 552) | fn test_in_memory_event_store() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/scan_zone.rs type ScanZoneId (line 9) | pub struct ScanZoneId(Uuid); method new (line 13) | pub fn new() -> Self { method as_uuid (line 18) | pub fn as_uuid(&self) -> &Uuid { method fmt (line 30) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 24) | fn default() -> Self { type ZoneBounds (line 38) | pub enum ZoneBounds { method rectangle (line 68) | pub fn rectangle(min_x: f64, min_y: f64, max_x: f64, max_y: f64) -> Se... method circle (line 73) | pub fn circle(center_x: f64, center_y: f64, radius: f64) -> Self { method polygon (line 78) | pub fn polygon(vertices: Vec<(f64, f64)>) -> Self { method area (line 83) | pub fn area(&self) -> f64 { method contains (line 109) | pub fn contains(&self, x: f64, y: f64) -> bool { method center (line 143) | pub fn center(&self) -> (f64, f64) { type ZoneStatus (line 167) | pub enum ZoneStatus { type ScanParameters (line 183) | pub struct ScanParameters { method default (line 197) | fn default() -> Self { type ScanResolution (line 211) | pub enum ScanResolution { method time_multiplier (line 224) | pub fn time_multiplier(&self) -> f64 { type SensorPosition (line 237) | pub struct SensorPosition { type SensorType (line 255) | pub enum SensorType { type ScanZone (line 267) | pub struct ScanZone { method new (line 282) | pub fn new(name: &str, bounds: ZoneBounds) -> Self { method with_parameters (line 298) | pub fn with_parameters(name: &str, bounds: ZoneBounds, parameters: Sca... method id (line 305) | pub fn id(&self) -> &ScanZoneId { method name (line 310) | pub fn name(&self) -> &str { method bounds (line 315) | pub fn bounds(&self) -> &ZoneBounds { method sensor_positions (line 320) | pub fn sensor_positions(&self) -> &[SensorPosition] { method parameters (line 325) | pub fn parameters(&self) -> &ScanParameters { method parameters_mut (line 330) | pub fn parameters_mut(&mut self) -> &mut ScanParameters { method status (line 335) | pub fn status(&self) -> &ZoneStatus { method last_scan (line 340) | pub fn last_scan(&self) -> Option<&DateTime> { method scan_count (line 345) | pub fn scan_count(&self) -> u32 { method detections_count (line 350) | pub fn detections_count(&self) -> u32 { method add_sensor (line 355) | pub fn add_sensor(&mut self, sensor: SensorPosition) { method remove_sensor (line 360) | pub fn remove_sensor(&mut self, sensor_id: &str) { method set_status (line 365) | pub fn set_status(&mut self, status: ZoneStatus) { method pause (line 370) | pub fn pause(&mut self) { method resume (line 375) | pub fn resume(&mut self) { method complete (line 382) | pub fn complete(&mut self) { method record_scan (line 387) | pub fn record_scan(&mut self, found_detections: u32) { method contains_point (line 394) | pub fn contains_point(&self, x: f64, y: f64) -> bool { method area (line 399) | pub fn area(&self) -> f64 { method has_sufficient_sensors (line 404) | pub fn has_sufficient_sensors(&self) -> bool { method time_since_scan (line 412) | pub fn time_since_scan(&self) -> Option { function test_rectangle_bounds (line 422) | fn test_rectangle_bounds() { function test_circle_bounds (line 432) | fn test_circle_bounds() { function test_scan_zone_creation (line 442) | fn test_scan_zone_creation() { function test_scan_zone_sensors (line 454) | fn test_scan_zone_sensors() { function test_scan_zone_status_transitions (line 477) | fn test_scan_zone_status_transitions() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/survivor.rs type SurvivorId (line 14) | pub struct SurvivorId(Uuid); method new (line 18) | pub fn new() -> Self { method from_uuid (line 23) | pub fn from_uuid(uuid: Uuid) -> Self { method as_uuid (line 28) | pub fn as_uuid(&self) -> &Uuid { method fmt (line 40) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 34) | fn default() -> Self { type SurvivorStatus (line 48) | pub enum SurvivorStatus { type SurvivorMetadata (line 64) | pub struct SurvivorMetadata { type AgeCategory (line 78) | pub enum AgeCategory { type VitalSignsHistory (line 94) | pub struct VitalSignsHistory { method new (line 101) | pub fn new(max_history: usize) -> Self { method add (line 109) | pub fn add(&mut self, reading: VitalSignsReading) { method latest (line 117) | pub fn latest(&self) -> Option<&VitalSignsReading> { method all (line 122) | pub fn all(&self) -> &[VitalSignsReading] { method len (line 127) | pub fn len(&self) -> usize { method is_empty (line 132) | pub fn is_empty(&self) -> bool { method average_confidence (line 137) | pub fn average_confidence(&self) -> f64 { method is_deteriorating (line 148) | pub fn is_deteriorating(&self) -> bool { type Survivor (line 175) | pub struct Survivor { method new (line 191) | pub fn new( method id (line 219) | pub fn id(&self) -> &SurvivorId { method zone_id (line 224) | pub fn zone_id(&self) -> &ScanZoneId { method first_detected (line 229) | pub fn first_detected(&self) -> &DateTime { method last_updated (line 234) | pub fn last_updated(&self) -> &DateTime { method location (line 239) | pub fn location(&self) -> Option<&Coordinates3D> { method vital_signs (line 244) | pub fn vital_signs(&self) -> &VitalSignsHistory { method triage_status (line 249) | pub fn triage_status(&self) -> &TriageStatus { method status (line 254) | pub fn status(&self) -> &SurvivorStatus { method confidence (line 259) | pub fn confidence(&self) -> f64 { method metadata (line 264) | pub fn metadata(&self) -> &SurvivorMetadata { method metadata_mut (line 269) | pub fn metadata_mut(&mut self) -> &mut SurvivorMetadata { method update_vitals (line 274) | pub fn update_vitals(&mut self, reading: VitalSignsReading) { method update_location (line 293) | pub fn update_location(&mut self, location: Coordinates3D) { method mark_rescued (line 299) | pub fn mark_rescued(&mut self) { method mark_lost (line 306) | pub fn mark_lost(&mut self) { method mark_deceased (line 312) | pub fn mark_deceased(&mut self) { method mark_false_positive (line 319) | pub fn mark_false_positive(&mut self) { method should_alert (line 325) | pub fn should_alert(&self) -> bool { method mark_alert_sent (line 338) | pub fn mark_alert_sent(&mut self) { method is_deteriorating (line 343) | pub fn is_deteriorating(&self) -> bool { method time_since_update (line 348) | pub fn time_since_update(&self) -> chrono::Duration { method is_stale (line 353) | pub fn is_stale(&self, threshold_seconds: i64) -> bool { function create_test_vitals (line 363) | fn create_test_vitals(confidence: f64) -> VitalSignsReading { function test_survivor_creation (line 379) | fn test_survivor_creation() { function test_vital_signs_history (line 390) | fn test_vital_signs_history() { function test_survivor_should_alert (line 405) | fn test_survivor_should_alert() { function test_survivor_mark_rescued (line 416) | fn test_survivor_mark_rescued() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/triage.rs type TriageStatus (line 11) | pub enum TriageStatus { method priority (line 33) | pub fn priority(&self) -> u8 { method color (line 44) | pub fn color(&self) -> &'static str { method description (line 55) | pub fn description(&self) -> &'static str { method is_urgent (line 66) | pub fn is_urgent(&self) -> bool { method fmt (line 72) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type TriageCalculator (line 84) | pub struct TriageCalculator; method calculate (line 93) | pub fn calculate(vitals: &VitalSignsReading) -> TriageStatus { method assess_breathing (line 111) | fn assess_breathing(vitals: &VitalSignsReading) -> BreathingAssessment { method assess_movement (line 133) | fn assess_movement(vitals: &VitalSignsReading) -> MovementAssessment { method combine_assessments (line 147) | fn combine_assessments( method should_upgrade (line 192) | pub fn should_upgrade(current: &TriageStatus, is_deteriorating: bool) ... method upgrade (line 202) | pub fn upgrade(current: &TriageStatus) -> TriageStatus { type BreathingAssessment (line 213) | enum BreathingAssessment { type MovementAssessment (line 223) | enum MovementAssessment { function create_vitals (line 237) | fn create_vitals( function test_no_vitals_is_unknown (line 251) | fn test_no_vitals_is_unknown() { function test_normal_breathing_responsive_is_minor (line 257) | fn test_normal_breathing_responsive_is_minor() { function test_fast_breathing_is_immediate (line 276) | fn test_fast_breathing_is_immediate() { function test_slow_breathing_is_immediate (line 295) | fn test_slow_breathing_is_immediate() { function test_agonal_breathing_is_immediate (line 314) | fn test_agonal_breathing_is_immediate() { function test_triage_priority (line 328) | fn test_triage_priority() { function test_upgrade_triage (line 336) | fn test_upgrade_triage() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/domain/vital_signs.rs type ConfidenceScore (line 8) | pub struct ConfidenceScore(f64); method new (line 12) | pub fn new(value: f64) -> Self { method value (line 17) | pub fn value(&self) -> f64 { method is_high (line 22) | pub fn is_high(&self) -> bool { method is_medium (line 27) | pub fn is_medium(&self) -> bool { method is_low (line 32) | pub fn is_low(&self) -> bool { method default (line 38) | fn default() -> Self { type VitalSignsReading (line 46) | pub struct VitalSignsReading { method new (line 61) | pub fn new( method calculate_confidence (line 79) | fn calculate_confidence( method has_vitals (line 110) | pub fn has_vitals(&self) -> bool { method has_breathing (line 117) | pub fn has_breathing(&self) -> bool { method has_heartbeat (line 122) | pub fn has_heartbeat(&self) -> bool { method has_movement (line 127) | pub fn has_movement(&self) -> bool { type BreathingPattern (line 135) | pub struct BreathingPattern { method is_normal_rate (line 148) | pub fn is_normal_rate(&self) -> bool { method is_bradypnea (line 153) | pub fn is_bradypnea(&self) -> bool { method is_tachypnea (line 158) | pub fn is_tachypnea(&self) -> bool { method confidence (line 163) | pub fn confidence(&self) -> f64 { type BreathingType (line 171) | pub enum BreathingType { type HeartbeatSignature (line 189) | pub struct HeartbeatSignature { method is_normal_rate (line 200) | pub fn is_normal_rate(&self) -> bool { method is_bradycardia (line 205) | pub fn is_bradycardia(&self) -> bool { method is_tachycardia (line 210) | pub fn is_tachycardia(&self) -> bool { method confidence (line 215) | pub fn confidence(&self) -> f64 { type SignalStrength (line 228) | pub enum SignalStrength { type MovementProfile (line 242) | pub struct MovementProfile { method confidence (line 266) | pub fn confidence(&self) -> f64 { method indicates_consciousness (line 277) | pub fn indicates_consciousness(&self) -> bool { method default (line 254) | fn default() -> Self { type MovementType (line 285) | pub enum MovementType { function test_confidence_score_clamping (line 303) | fn test_confidence_score_clamping() { function test_breathing_pattern_rates (line 310) | fn test_breathing_pattern_rates() { function test_vital_signs_reading (line 339) | fn test_vital_signs_reading() { function test_signal_strength_confidence (line 360) | fn test_signal_strength_confidence() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/integration/csi_receiver.rs type ReceiverConfig (line 34) | pub struct ReceiverConfig { method udp (line 61) | pub fn udp(bind_addr: &str, port: u16) -> Self { method serial (line 73) | pub fn serial(port: &str, baud_rate: u32) -> Self { method pcap (line 88) | pub fn pcap(file_path: &str) -> Self { method default (line 48) | fn default() -> Self { type CsiSource (line 104) | pub enum CsiSource { type UdpSourceConfig (line 115) | pub struct UdpSourceConfig { method default (line 125) | fn default() -> Self { type SerialSourceConfig (line 136) | pub struct SerialSourceConfig { type SerialParity (line 151) | pub enum SerialParity { type PcapSourceConfig (line 159) | pub struct PcapSourceConfig { type CsiPacketFormat (line 172) | pub enum CsiPacketFormat { type CsiPacket (line 193) | pub struct CsiPacket { type CsiPacketMetadata (line 214) | pub struct CsiPacketMetadata { method default (line 240) | fn default() -> Self { type UdpCsiReceiver (line 258) | pub struct UdpCsiReceiver { method new (line 268) | pub async fn new(config: ReceiverConfig) -> Result { method receive (line 304) | pub async fn receive(&mut self) -> Result, AdapterEr... method stats (line 337) | pub fn stats(&self) -> &ReceiverStats { method close (line 342) | pub async fn close(&mut self) { type SerialCsiReceiver (line 348) | pub struct SerialCsiReceiver { method new (line 359) | pub fn new(config: ReceiverConfig) -> Result { method start (line 393) | pub fn start(&mut self) -> Result<(), AdapterError> { method receive (line 401) | pub fn receive(&mut self) -> Result, AdapterError> { method extract_packet_from_buffer (line 426) | fn extract_packet_from_buffer(&mut self) -> Option> { method extract_esp32_packet (line 436) | fn extract_esp32_packet(&mut self) -> Option> { method extract_json_packet (line 442) | fn extract_json_packet(&mut self) -> Option> { method extract_newline_delimited (line 472) | fn extract_newline_delimited(&mut self) -> Option> { method feed_data (line 481) | pub fn feed_data(&mut self, data: &[u8]) { method stop (line 487) | pub fn stop(&mut self) { method stats (line 492) | pub fn stats(&self) -> &ReceiverStats { type PcapCsiReader (line 498) | pub struct PcapCsiReader { method new (line 517) | pub fn new(config: ReceiverConfig) -> Result { method load (line 545) | pub fn load(&mut self) -> Result { method read_pcap_global_header (line 592) | fn read_pcap_global_header( method read_pcap_packet (line 613) | fn read_pcap_packet( method read_next (line 671) | pub async fn read_next(&mut self) -> Result, Adapter... method reset (line 740) | pub fn reset(&mut self) { method position (line 747) | pub fn position(&self) -> (usize, usize) { method seek (line 752) | pub fn seek(&mut self, index: usize) -> Result<(), AdapterError> { method stats (line 767) | pub fn stats(&self) -> &ReceiverStats { type PcapPacket (line 510) | struct PcapPacket { type PcapGlobalHeader (line 773) | struct PcapGlobalHeader { type CsiParser (line 784) | pub struct CsiParser { method new (line 790) | pub fn new(format: CsiPacketFormat) -> Self { method parse (line 795) | pub fn parse(&self, data: &[u8]) -> Result { method detect_format (line 815) | fn detect_format(&self, data: &[u8]) -> CsiPacketFormat { method parse_esp32 (line 842) | fn parse_esp32(&self, data: &[u8]) -> Result { method parse_intel_5300 (line 915) | fn parse_intel_5300(&self, data: &[u8]) -> Result Result { method parse_nexmon (line 1040) | fn parse_nexmon(&self, data: &[u8]) -> Result { method parse_picoscenes (line 1105) | fn parse_picoscenes(&self, data: &[u8]) -> Result Result { method parse_raw_binary (line 1180) | fn parse_raw_binary(&self, data: &[u8]) -> Result f64 { method reset (line 1224) | pub fn reset(&mut self) { method from (line 1231) | fn from(packet: CsiPacket) -> Self { function test_receiver_config_udp (line 1288) | fn test_receiver_config_udp() { function test_receiver_config_serial (line 1294) | fn test_receiver_config_serial() { function test_receiver_config_pcap (line 1301) | fn test_receiver_config_pcap() { function test_parser_detect_json (line 1307) | fn test_parser_detect_json() { function test_parser_detect_esp32 (line 1315) | fn test_parser_detect_esp32() { function test_parse_json (line 1323) | fn test_parse_json() { function test_parse_esp32 (line 1334) | fn test_parse_esp32() { function test_receiver_stats (line 1345) | fn test_receiver_stats() { function test_csi_packet_to_readings (line 1357) | fn test_csi_packet_to_readings() { function test_serial_receiver_buffer (line 1379) | fn test_serial_receiver_buffer() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/integration/hardware_adapter.rs type HardwareConfig (line 32) | pub struct HardwareConfig { method esp32 (line 62) | pub fn esp32(serial_port: &str, baud_rate: u32) -> Self { method intel_5300 (line 82) | pub fn intel_5300(interface: &str) -> Self { method atheros (line 104) | pub fn atheros(interface: &str, driver: AtherosDriver) -> Self { method udp_receiver (line 132) | pub fn udp_receiver(bind_addr: &str, port: u16) -> Self { method default (line 48) | fn default() -> Self { type DeviceType (line 151) | pub enum DeviceType { type AtherosDriver (line 168) | pub enum AtherosDriver { type DeviceSettings (line 179) | pub enum DeviceSettings { type SerialSettings (line 194) | pub struct SerialSettings { type Parity (line 213) | pub enum Parity { type FlowControl (line 221) | pub enum FlowControl { type NetworkInterfaceSettings (line 229) | pub struct NetworkInterfaceSettings { type Bandwidth (line 244) | pub enum Bandwidth { method subcarrier_count (line 258) | pub fn subcarrier_count(&self) -> usize { type AntennaConfig (line 270) | pub struct AntennaConfig { method default (line 280) | fn default() -> Self { type UdpSettings (line 291) | pub struct UdpSettings { type PcapSettings (line 304) | pub struct PcapSettings { type ChannelConfig (line 315) | pub struct ChannelConfig { method default (line 325) | fn default() -> Self { type HardwareAdapter (line 335) | pub struct HardwareAdapter { method new (line 418) | pub fn new() -> Self { method with_config (line 423) | pub fn with_config(config: HardwareConfig) -> Self { method config (line 441) | pub fn config(&self) -> &HardwareConfig { method initialize (line 446) | pub async fn initialize(&mut self) -> Result<(), AdapterError> { method initialize_esp32 (line 468) | async fn initialize_esp32(&mut self) -> Result<(), AdapterError> { method initialize_intel_5300 (line 498) | async fn initialize_intel_5300(&mut self) -> Result<(), AdapterError> { method initialize_atheros (line 536) | async fn initialize_atheros(&mut self, driver: AtherosDriver) -> Resul... method initialize_udp (line 578) | async fn initialize_udp(&mut self) -> Result<(), AdapterError> { method initialize_pcap (line 610) | async fn initialize_pcap(&mut self) -> Result<(), AdapterError> { method initialize_simulated (line 630) | async fn initialize_simulated(&mut self) -> Result<(), AdapterError> { method start_csi_stream (line 636) | pub async fn start_csi_stream(&mut self) -> Result Result<(), AdapterError> { method run_streaming_loop (line 680) | async fn run_streaming_loop( method read_csi_packet (line 727) | async fn read_csi_packet( method read_esp32_csi (line 742) | async fn read_esp32_csi(config: &HardwareConfig) -> Result Result Result Result Result Result, Ad... method discover_esp32_sensors (line 874) | async fn discover_esp32_sensors(&self) -> Result, Adap... method discover_nic_sensors (line 880) | async fn discover_nic_sensors(&self) -> Result, Adapte... method discover_simulated_sensors (line 886) | async fn discover_simulated_sensors(&self) -> Result, ... method add_sensor (line 927) | pub fn add_sensor(&mut self, sensor: SensorInfo) -> Result<(), Adapter... method remove_sensor (line 940) | pub fn remove_sensor(&mut self, sensor_id: &str) -> Result<(), Adapter... method sensors (line 955) | pub fn sensors(&self) -> &[SensorInfo] { method operational_sensors (line 960) | pub fn operational_sensors(&self) -> Vec<&SensorInfo> { method sensor_positions (line 968) | pub fn sensor_positions(&self) -> Vec { method read_csi (line 977) | pub fn read_csi(&self) -> Result { method read_rssi (line 999) | pub fn read_rssi(&self) -> Result, AdapterError> { method update_sensor_position (line 1012) | pub fn update_sensor_position( method health_check (line 1028) | pub fn health_check(&self) -> HardwareHealth { method streaming_stats (line 1060) | pub async fn streaming_stats(&self) -> StreamingStats { method set_channel (line 1071) | pub async fn set_channel(&mut self, channel: u8, bandwidth: Bandwidth)... type DeviceState (line 351) | struct DeviceState { type DeviceSpecificState (line 365) | enum DeviceSpecificState { type SensorInfo (line 382) | pub struct SensorInfo { type SensorStatus (line 401) | pub enum SensorStatus { method default (line 1095) | fn default() -> Self { function rand_simple (line 1101) | fn rand_simple() -> f64 { type CsiReadings (line 1112) | pub struct CsiReadings { type CsiMetadata (line 1123) | pub struct CsiMetadata { type FrameControlType (line 1142) | pub enum FrameControlType { type SensorCsiReading (line 1155) | pub struct SensorCsiReading { type CsiStream (line 1175) | pub struct CsiStream { method next (line 1181) | pub async fn next(&mut self) -> Option { type StreamingStats (line 1195) | pub struct StreamingStats { type HardwareHealth (line 1208) | pub struct HardwareHealth { type HealthStatus (line 1221) | pub enum HealthStatus { function create_test_sensor (line 1237) | fn create_test_sensor(id: &str) -> SensorInfo { function test_initialize_simulated (line 1257) | async fn test_initialize_simulated() { function test_add_sensor (line 1263) | fn test_add_sensor() { function test_duplicate_sensor_error (line 1272) | fn test_duplicate_sensor_error() { function test_health_check (line 1283) | fn test_health_check() { function test_sensor_positions (line 1297) | fn test_sensor_positions() { function test_esp32_config (line 1308) | fn test_esp32_config() { function test_intel_5300_config (line 1315) | fn test_intel_5300_config() { function test_atheros_config (line 1322) | fn test_atheros_config() { function test_bandwidth_subcarriers (line 1329) | fn test_bandwidth_subcarriers() { function test_csi_stream (line 1337) | async fn test_csi_stream() { function test_discover_simulated_sensors (line 1353) | async fn test_discover_simulated_sensors() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/integration/mod.rs type IntegrationConfig (line 106) | pub struct IntegrationConfig { method realtime (line 119) | pub fn realtime() -> Self { method batch (line 129) | pub fn batch(batch_size: usize) -> Self { method with_hardware (line 139) | pub fn with_hardware(hardware: HardwareConfig) -> Self { type AdapterError (line 151) | pub enum AdapterError { function test_integration_config_defaults (line 202) | fn test_integration_config_defaults() { function test_integration_config_realtime (line 211) | fn test_integration_config_realtime() { function test_integration_config_batch (line 219) | fn test_integration_config_batch() { function test_integration_config_with_hardware (line 226) | fn test_integration_config_with_hardware() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/integration/neural_adapter.rs type NeuralAdapter (line 8) | pub struct NeuralAdapter { method new (line 19) | pub fn new(use_gpu: bool) -> Self { method with_defaults (line 28) | pub fn with_defaults() -> Self { method load_models (line 33) | pub fn load_models(&mut self, _model_path: &str) -> Result<(), Adapter... method classify_breathing (line 41) | pub fn classify_breathing( method classify_heartbeat (line 56) | pub fn classify_heartbeat( method classify_vitals (line 69) | pub fn classify_vitals( method classify_breathing_rules (line 92) | fn classify_breathing_rules(&self, features: &VitalFeatures) -> Option... method classify_heartbeat_rules (line 134) | fn classify_heartbeat_rules(&self, features: &VitalFeatures) -> Option... method calculate_confidence (line 173) | fn calculate_confidence( method default (line 194) | fn default() -> Self { type VitalsClassification (line 201) | pub struct VitalsClassification { method has_vitals (line 214) | pub fn has_vitals(&self) -> bool { method is_confident (line 219) | pub fn is_confident(&self, threshold: f32) -> bool { function create_good_features (line 228) | fn create_good_features() -> VitalFeatures { function create_weak_features (line 237) | fn create_weak_features() -> VitalFeatures { function test_classify_breathing (line 247) | fn test_classify_breathing() { function test_weak_signal_no_detection (line 257) | fn test_weak_signal_no_detection() { function test_classify_vitals (line 267) | fn test_classify_vitals() { function test_confidence_calculation (line 280) | fn test_confidence_calculation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/integration/signal_adapter.rs type VitalFeatures (line 9) | pub struct VitalFeatures { type SignalAdapter (line 21) | pub struct SignalAdapter { method new (line 32) | pub fn new(window_size: usize, overlap: f64, sample_rate: f64) -> Self { method with_defaults (line 41) | pub fn with_defaults() -> Self { method extract_vital_features (line 46) | pub fn extract_vital_features( method to_breathing_pattern (line 85) | pub fn to_breathing_pattern( method extract_frequency_band (line 118) | fn extract_frequency_band( method extract_movement_features (line 188) | fn extract_movement_features(&self, signal: &[f64]) -> Result... method calculate_signal_quality (line 215) | fn calculate_signal_quality(&self, signal: &[f64]) -> f64 { method classify_breathing_type (line 237) | fn classify_breathing_type(&self, rate_bpm: f32, regularity: f64) -> B... method default (line 257) | fn default() -> Self { function create_test_buffer (line 266) | fn create_test_buffer() -> CsiDataBuffer { function test_extract_vital_features (line 289) | fn test_extract_vital_features() { function test_to_breathing_pattern (line 304) | fn test_to_breathing_pattern() { function test_signal_quality (line 322) | fn test_signal_quality() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/lib.rs constant VERSION (line 153) | pub const VERSION: &str = env!("CARGO_PKG_VERSION"); type Result (line 156) | pub type Result = std::result::Result; type MatError (line 160) | pub enum MatError { type DisasterConfig (line 204) | pub struct DisasterConfig { method builder (line 237) | pub fn builder() -> DisasterConfigBuilder { method default (line 222) | fn default() -> Self { type DisasterConfigBuilder (line 244) | pub struct DisasterConfigBuilder { method disaster_type (line 250) | pub fn disaster_type(mut self, disaster_type: DisasterType) -> Self { method sensitivity (line 256) | pub fn sensitivity(mut self, sensitivity: f64) -> Self { method confidence_threshold (line 262) | pub fn confidence_threshold(mut self, threshold: f64) -> Self { method max_depth (line 268) | pub fn max_depth(mut self, depth: f64) -> Self { method scan_interval_ms (line 274) | pub fn scan_interval_ms(mut self, interval: u64) -> Self { method continuous_monitoring (line 280) | pub fn continuous_monitoring(mut self, enabled: bool) -> Self { method build (line 286) | pub fn build(self) -> DisasterConfig { type DisasterResponse (line 292) | pub struct DisasterResponse { method new (line 306) | pub fn new(config: DisasterConfig) -> Self { method with_event_store (line 330) | pub fn with_event_store( method push_csi_data (line 358) | pub fn push_csi_data(&self, amplitudes: &[f64], phases: &[f64]) -> Res... method event_store (line 372) | pub fn event_store(&self) -> &std::sync::Arc &EnsembleClassifier { method detection_pipeline (line 382) | pub fn detection_pipeline(&self) -> &DetectionPipeline { method tracker (line 387) | pub fn tracker(&self) -> &tracking::SurvivorTracker { method tracker_mut (line 392) | pub fn tracker_mut(&mut self) -> &mut tracking::SurvivorTracker { method initialize_event (line 397) | pub fn initialize_event( method add_zone (line 412) | pub fn add_zone(&mut self, zone: ScanZone) -> Result<()> { method start_scanning (line 420) | pub async fn start_scanning(&mut self) -> Result<()> { method stop_scanning (line 441) | pub fn stop_scanning(&self) { method scan_cycle (line 451) | async fn scan_cycle(&mut self) -> Result<()> { method event (line 539) | pub fn event(&self) -> Option<&DisasterEvent> { method survivors (line 544) | pub fn survivors(&self) -> Vec<&Survivor> { method survivors_by_triage (line 551) | pub fn survivors_by_triage(&self, status: TriageStatus) -> Vec<&Surviv... function test_config_builder (line 593) | fn test_config_builder() { function test_sensitivity_clamping (line 608) | fn test_sensitivity_clamping() { function test_version (line 623) | fn test_version() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/localization/depth.rs type DepthEstimatorConfig (line 7) | pub struct DepthEstimatorConfig { method default (line 19) | fn default() -> Self { type DepthEstimator (line 30) | pub struct DepthEstimator { method new (line 36) | pub fn new(config: DepthEstimatorConfig) -> Self { method with_defaults (line 41) | pub fn with_defaults() -> Self { method estimate_depth (line 46) | pub fn estimate_depth( method estimate_debris_profile (line 101) | pub fn estimate_debris_profile( method free_space_path_loss (line 142) | fn free_space_path_loss(&self, distance: f64) -> f64 { method material_uncertainty (line 154) | fn material_uncertainty(&self, profile: &DebrisProfile) -> f64 { method estimate_from_multipath (line 178) | pub fn estimate_from_multipath( function default_debris (line 226) | fn default_debris() -> DebrisProfile { function test_low_attenuation_surface (line 236) | fn test_low_attenuation_surface() { function test_depth_increases_with_attenuation (line 248) | fn test_depth_increases_with_attenuation() { function test_confidence_decreases_with_depth (line 260) | fn test_confidence_decreases_with_depth() { function test_debris_profile_estimation (line 273) | fn test_debris_profile_estimation() { function test_free_space_path_loss (line 286) | fn test_free_space_path_loss() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/localization/fusion.rs type LocalizationService (line 10) | pub struct LocalizationService { method new (line 18) | pub fn new() -> Self { method with_config (line 27) | pub fn with_config( method estimate_position (line 39) | pub fn estimate_position( method simulate_rssi_measurements (line 81) | fn simulate_rssi_measurements( method estimate_debris_profile (line 94) | fn estimate_debris_profile(&self, _zone: &ScanZone) -> DebrisProfile { method calculate_signal_attenuation (line 100) | fn calculate_signal_attenuation(&self, rssi_values: &[(String, f64)]) ... method combine_uncertainties (line 115) | fn combine_uncertainties( method default (line 129) | fn default() -> Self { type PositionFuser (line 135) | pub struct PositionFuser { method new (line 174) | pub fn new() -> Self { method add_estimate (line 182) | pub fn add_estimate(&self, estimate: PositionEstimate) { method fuse (line 193) | pub fn fuse(&self, estimates: &[PositionEstimate]) -> Option Option<... method calculate_weight (line 257) | fn calculate_weight(&self, estimate: &PositionEstimate) -> f64 { method calculate_fused_uncertainty (line 278) | fn calculate_fused_uncertainty(&self, estimates: &[PositionEstimate]) ... method clear_history (line 305) | pub fn clear_history(&self) { type PositionEstimate (line 144) | pub struct PositionEstimate { type EstimateSource (line 157) | pub enum EstimateSource { method default (line 311) | fn default() -> Self { function create_test_estimate (line 322) | fn create_test_estimate(x: f64, y: f64, z: f64) -> PositionEstimate { function test_single_estimate_fusion (line 332) | fn test_single_estimate_fusion() { function test_multiple_estimate_fusion (line 344) | fn test_multiple_estimate_fusion() { function test_fused_uncertainty_reduction (line 362) | fn test_fused_uncertainty_reduction() { function test_localization_service_creation (line 379) | fn test_localization_service_creation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/localization/triangulation.rs type TriangulationConfig (line 7) | pub struct TriangulationConfig { method default (line 23) | fn default() -> Self { type DistanceEstimate (line 37) | pub struct DistanceEstimate { type Triangulator (line 47) | pub struct Triangulator { method new (line 53) | pub fn new(config: TriangulationConfig) -> Self { method with_defaults (line 58) | pub fn with_defaults() -> Self { method estimate_position (line 63) | pub fn estimate_position( method estimate_from_toa (line 90) | pub fn estimate_from_toa( method rssi_to_distance (line 118) | fn rssi_to_distance(&self, rssi: f64) -> f64 { method trilaterate (line 131) | fn trilaterate(&self, distances: &[(SensorPosition, f64)]) -> Option], b: &[f64]) -> Option Vec { function test_rssi_to_distance (line 322) | fn test_rssi_to_distance() { function test_trilateration (line 335) | fn test_trilateration() { function test_insufficient_sensors (line 364) | fn test_insufficient_sensors() { function solve_tdoa_triangulation (line 402) | pub fn solve_tdoa_triangulation( function tdoa_triangulation_insufficient_data (line 477) | fn tdoa_triangulation_insufficient_data() { function tdoa_triangulation_symmetric_case (line 483) | fn tdoa_triangulation_symmetric_case() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/ml/debris_model.rs type DebrisModelError (line 31) | pub enum DebrisModelError { type MaterialType (line 51) | pub enum MaterialType { method typical_attenuation (line 72) | pub fn typical_attenuation(&self) -> f32 { method typical_delay_spread (line 86) | pub fn typical_delay_spread(&self) -> f32 { method from_index (line 100) | pub fn from_index(index: usize) -> Self { method to_index (line 114) | pub fn to_index(&self) -> usize { constant NUM_CLASSES (line 128) | pub const NUM_CLASSES: usize = 8; method fmt (line 132) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type DebrisClassification (line 148) | pub struct DebrisClassification { method new (line 163) | pub fn new(probabilities: Vec) -> Self { method estimate_layers (line 194) | fn estimate_layers(probabilities: &[f32]) -> u8 { method secondary_material (line 209) | pub fn secondary_material(&self) -> Option { type AttenuationPrediction (line 225) | pub struct AttenuationPrediction { method new (line 240) | pub fn new(attenuation: f32, depth: f32, uncertainty: f32) -> Self { method predict_signal_at_depth (line 257) | pub fn predict_signal_at_depth(&self, depth_m: f32) -> f32 { type DebrisModelConfig (line 264) | pub struct DebrisModelConfig { method default (line 274) | fn default() -> Self { type DebrisFeatureExtractor (line 284) | pub struct DebrisFeatureExtractor { method new (line 305) | pub fn new(num_subcarriers: usize, window_size: usize) -> Self { method extract (line 314) | pub fn extract(&self, features: &DebrisFeatures) -> MlResult M... method default (line 294) | fn default() -> Self { type DebrisModel (line 352) | pub struct DebrisModel { method from_onnx (line 391) | pub fn from_onnx>(path: P, config: DebrisModelConfig) -... method from_bytes (line 435) | pub fn from_bytes(bytes: &[u8], config: DebrisModelConfig) -> MlResult... method rule_based (line 455) | pub fn rule_based(config: DebrisModelConfig) -> Self { method is_loaded (line 467) | pub fn is_loaded(&self) -> bool { method classify (line 473) | pub async fn classify(&self, features: &DebrisFeatures) -> MlResult MlResult ... method estimate_depth (line 600) | pub async fn estimate_depth(&self, features: &DebrisFeatures) -> MlRes... method estimate_depth_internal (line 620) | fn estimate_depth_internal(&self, features: &DebrisFeatures, attenuati... method calculate_depth_uncertainty (line 639) | fn calculate_depth_uncertainty( type MaterialClassificationWeights (line 365) | struct MaterialClassificationWeights { method default (line 377) | fn default() -> Self { function create_test_debris_features (line 666) | fn create_test_debris_features() -> DebrisFeatures { function test_material_type (line 680) | fn test_material_type() { function test_debris_classification (line 687) | fn test_debris_classification() { function test_composite_detection (line 697) | fn test_composite_detection() { function test_attenuation_prediction (line 706) | fn test_attenuation_prediction() { function test_rule_based_classification (line 713) | async fn test_rule_based_classification() { function test_depth_estimation (line 726) | async fn test_depth_estimation() { function test_feature_extractor (line 741) | fn test_feature_extractor() { function test_spatial_temporal_extraction (line 754) | fn test_spatial_temporal_extraction() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/ml/mod.rs type MlError (line 43) | pub enum MlError { type MlResult (line 74) | pub type MlResult = Result; type DebrisPenetrationModel (line 81) | pub trait DebrisPenetrationModel: Send + Sync { method classify_material (line 83) | async fn classify_material(&self, features: &DebrisFeatures) -> MlResu... method predict_attenuation (line 86) | async fn predict_attenuation(&self, features: &DebrisFeatures) -> MlRe... method estimate_depth (line 89) | async fn estimate_depth(&self, features: &DebrisFeatures) -> MlResult<... method model_confidence (line 92) | fn model_confidence(&self) -> f32; method is_ready (line 95) | fn is_ready(&self) -> bool; type DebrisFeatures (line 100) | pub struct DebrisFeatures { method from_csi (line 121) | pub fn from_csi(buffer: &CsiDataBuffer) -> MlResult { method compute_amplitude_features (line 163) | fn compute_amplitude_features(amplitudes: &[f64]) -> Vec { method compute_phase_features (line 181) | fn compute_phase_features(phases: &[f64]) -> Vec { method compute_fading_profile (line 204) | fn compute_fading_profile(amplitudes: &[f64]) -> Vec { method estimate_coherence_bandwidth (line 236) | fn estimate_coherence_bandwidth(amplitudes: &[f64]) -> f32 { method estimate_delay_spread (line 272) | fn estimate_delay_spread(amplitudes: &[f64]) -> f32 { method estimate_snr (line 302) | fn estimate_snr(amplitudes: &[f64]) -> f32 { method compute_multipath_richness (line 324) | fn compute_multipath_richness(amplitudes: &[f64]) -> f32 { method compute_temporal_stability (line 343) | fn compute_temporal_stability(amplitudes: &[f64]) -> f32 { method to_feature_vector (line 363) | pub fn to_feature_vector(&self) -> Vec { type DepthEstimate (line 397) | pub struct DepthEstimate { method new (line 412) | pub fn new(depth: f32, uncertainty: f32, confidence: f32) -> Self { method is_reliable (line 423) | pub fn is_reliable(&self) -> bool { type MlDetectionConfig (line 430) | pub struct MlDetectionConfig { method cpu (line 463) | pub fn cpu() -> Self { method gpu (line 468) | pub fn gpu() -> Self { method with_debris_model (line 476) | pub fn with_debris_model>(mut self, path: P) -> Self { method with_vital_model (line 483) | pub fn with_vital_model>(mut self, path: P) -> Self { method with_min_confidence (line 490) | pub fn with_min_confidence(mut self, confidence: f32) -> Self { method default (line 448) | fn default() -> Self { type MlDetectionPipeline (line 497) | pub struct MlDetectionPipeline { method new (line 505) | pub fn new(config: MlDetectionConfig) -> Self { method initialize (line 514) | pub async fn initialize(&mut self) -> MlResult<()> { method process (line 544) | pub async fn process(&self, buffer: &CsiDataBuffer) -> MlResult bool { method config (line 574) | pub fn config(&self) -> &MlDetectionConfig { type MlDetectionResult (line 581) | pub struct MlDetectionResult { method has_results (line 592) | pub fn has_results(&self) -> bool { method overall_confidence (line 599) | pub fn overall_confidence(&self) -> f32 { function create_test_buffer (line 630) | fn create_test_buffer() -> CsiDataBuffer { function test_debris_features_extraction (line 649) | fn test_debris_features_extraction() { function test_feature_vector_size (line 663) | fn test_feature_vector_size() { function test_depth_estimate (line 671) | fn test_depth_estimate() { function test_ml_config_builder (line 679) | fn test_ml_config_builder() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/ml/vital_signs_classifier.rs type VitalSignsClassifierConfig (line 51) | pub struct VitalSignsClassifierConfig { method default (line 67) | fn default() -> Self { type VitalSignsFeatures (line 81) | pub struct VitalSignsFeatures { method to_tensor (line 102) | pub fn to_tensor(&self) -> Vec { type BreathingClassification (line 132) | pub struct BreathingClassification { method to_breathing_pattern (line 149) | pub fn to_breathing_pattern(&self) -> Option { type HeartbeatClassification (line 165) | pub struct HeartbeatClassification { method to_heartbeat_signature (line 182) | pub fn to_heartbeat_signature(&self) -> Option { method classify_rate (line 195) | pub fn classify_rate(&self) -> &'static str { type UncertaintyEstimate (line 208) | pub struct UncertaintyEstimate { method new (line 219) | pub fn new(aleatoric: f32, epistemic: f32) -> Self { method total (line 229) | pub fn total(&self) -> f32 { method is_confident (line 234) | pub fn is_confident(&self, threshold: f32) -> bool { method default (line 240) | fn default() -> Self { type ClassifierOutput (line 251) | pub struct ClassifierOutput { method to_vital_signs_reading (line 266) | pub fn to_vital_signs_reading(&self) -> Option { type MovementClassification (line 285) | pub struct MovementClassification { method to_movement_profile (line 300) | pub fn to_movement_profile(&self) -> MovementProfile { type VitalSignsClassifier (line 311) | pub struct VitalSignsClassifier { method from_onnx (line 395) | pub fn from_onnx>(path: P, config: VitalSignsClassifier... method rule_based (line 438) | pub fn rule_based(config: VitalSignsClassifierConfig) -> Self { method is_loaded (line 450) | pub fn is_loaded(&self) -> bool { method extract_features (line 455) | pub fn extract_features(&self, buffer: &CsiDataBuffer) -> MlResult Vec { method extract_spectral_features (line 566) | fn extract_spectral_features(&self, signal: &[f64], sample_rate: f64) ... method estimate_signal_quality (line 615) | fn estimate_signal_quality(&self, signal: &[f64]) -> f32 { method classify (line 637) | pub async fn classify(&self, features: &VitalSignsFeatures) -> MlResul... method classify_onnx (line 649) | async fn classify_onnx( method aggregate_mc_outputs (line 687) | fn aggregate_mc_outputs( method classify_rules (line 703) | fn classify_rules(&self, features: &VitalSignsFeatures) -> MlResult O... method estimate_breathing_rate (line 773) | fn estimate_breathing_rate(&self, features: &VitalSignsFeatures) -> f32 { method classify_breathing_type (line 795) | fn classify_breathing_type(&self, rate_bpm: f32, features: &VitalSigns... method compute_breathing_probabilities (line 825) | fn compute_breathing_probabilities(&self, rate_bpm: f32, _features: &V... method classify_heartbeat_rules (line 851) | fn classify_heartbeat_rules(&self, features: &VitalSignsFeatures) -> O... method estimate_heart_rate (line 903) | fn estimate_heart_rate(&self, features: &VitalSignsFeatures) -> f32 { method classify_movement_rules (line 928) | fn classify_movement_rules(&self, features: &VitalSignsFeatures) -> Op... type BandpassFilter (line 325) | struct BandpassFilter { method new (line 332) | fn new(low: f64, high: f64, sample_rate: f64) -> Self { method apply (line 341) | fn apply(&self, signal: &[f64]) -> Vec { method band_power (line 386) | fn band_power(&self, signal: &[f64]) -> f64 { function create_test_features (line 968) | fn create_test_features() -> VitalSignsFeatures { function test_uncertainty_estimate (line 986) | fn test_uncertainty_estimate() { function test_feature_tensor (line 993) | fn test_feature_tensor() { function test_rule_based_classification (line 1000) | async fn test_rule_based_classification() { function test_breathing_classification (line 1013) | fn test_breathing_classification() { function test_heartbeat_classification (line 1027) | fn test_heartbeat_classification() { function test_movement_classification (line 1041) | fn test_movement_classification() { function test_classifier_output_conversion (line 1054) | fn test_classifier_output_conversion() { function test_bandpass_filter (line 1070) | fn test_bandpass_filter() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/tracking/fingerprint.rs constant W_BREATHING_RATE (line 16) | const W_BREATHING_RATE: f32 = 0.40; constant W_BREATHING_AMP (line 17) | const W_BREATHING_AMP: f32 = 0.25; constant W_HEARTBEAT (line 18) | const W_HEARTBEAT: f32 = 0.20; constant W_LOCATION (line 19) | const W_LOCATION: f32 = 0.15; constant BREATHING_RATE_RANGE (line 25) | const BREATHING_RATE_RANGE: f32 = 30.0; constant BREATHING_AMP_RANGE (line 26) | const BREATHING_AMP_RANGE: f32 = 1.0; constant HEARTBEAT_RANGE (line 27) | const HEARTBEAT_RANGE: f32 = 80.0; constant LOCATION_RANGE (line 28) | const LOCATION_RANGE: f32 = 20.0; type CsiFingerprint (line 40) | pub struct CsiFingerprint { method from_vitals (line 59) | pub fn from_vitals(vitals: &VitalSignsReading, location: Option<&Coord... method update_from_vitals (line 88) | pub fn update_from_vitals( method distance (line 144) | pub fn distance(&self, other: &CsiFingerprint) -> f32 { method matches (line 194) | pub fn matches(&self, other: &CsiFingerprint, threshold: f32) -> bool { function make_vitals (line 213) | fn make_vitals( function make_location (line 235) | fn make_location(x: f64, y: f64, z: f64) -> Coordinates3D { function test_fingerprint_self_distance (line 241) | fn test_fingerprint_self_distance() { function test_fingerprint_threshold (line 257) | fn test_fingerprint_threshold() { function test_fingerprint_very_different (line 274) | fn test_fingerprint_very_different() { function test_fingerprint_update (line 294) | fn test_fingerprint_update() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/tracking/kalman.rs type Mat6 (line 8) | type Mat6 = [[f64; 6]; 6]; type Mat3 (line 10) | type Mat3 = [[f64; 3]; 3]; type Vec6 (line 12) | type Vec6 = [f64; 6]; type Vec3 (line 14) | type Vec3 = [f64; 3]; type KalmanState (line 25) | pub struct KalmanState { method new (line 41) | pub fn new(initial_position: Vec3, process_noise_var: f64, obs_noise_v... method predict (line 81) | pub fn predict(&mut self, dt_secs: f64) { method update (line 113) | pub fn update(&mut self, observation: Vec3) { method mahalanobis_distance_sq (line 165) | pub fn mahalanobis_distance_sq(&self, observation: Vec3) -> f64 { method position (line 186) | pub fn position(&self) -> Vec3 { method velocity (line 191) | pub fn velocity(&self) -> Vec3 { method position_uncertainty (line 199) | pub fn position_uncertainty(&self) -> f64 { function mat6_mul (line 209) | fn mat6_mul(a: &Mat6, b: &Mat6) -> Mat6 { function mat6_add (line 222) | fn mat6_add(a: &Mat6, b: &Mat6) -> Mat6 { function mat6_sub (line 233) | fn mat6_sub(a: &Mat6, b: &Mat6) -> Mat6 { function mat6_identity (line 244) | fn mat6_identity() -> Mat6 { function mat6_transpose (line 253) | fn mat6_transpose(a: &Mat6) -> Mat6 { function mat3_inv (line 266) | fn mat3_inv(m: &Mat3) -> Option { function mat6x3_from_cols (line 300) | fn mat6x3_from_cols(p: &Mat6) -> [[f64; 3]; 6] { function mat3_from_top_left (line 313) | fn mat3_from_top_left(p: &Mat6) -> Mat3 { function vec6_add (line 324) | fn vec6_add(a: Vec6, b: Vec6) -> Vec6 { function mat6x3_mul_vec3 (line 336) | fn mat6x3_mul_vec3(m: &[[f64; 3]; 6], v: Vec3) -> Vec6 { function mat3_mul_vec3 (line 347) | fn mat3_mul_vec3(m: &Mat3, v: Vec3) -> Vec3 { function vec3_sub (line 356) | fn vec3_sub(a: Vec3, b: Vec3) -> Vec3 { function mat6x3_mul_mat3 (line 361) | fn mat6x3_mul_mat3(a: &[[f64; 3]; 6], b: &Mat3) -> [[f64; 3]; 6] { function build_process_noise (line 383) | fn build_process_noise(dt: f64, q_a: f64) -> Mat6 { function test_kalman_stationary (line 412) | fn test_kalman_stationary() { function test_kalman_update_converges (line 440) | fn test_kalman_update_converges() { function test_mahalanobis_close_observation (line 460) | fn test_mahalanobis_close_observation() { function test_mahalanobis_far_observation (line 475) | fn test_mahalanobis_far_observation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/tracking/lifecycle.rs type TrackerConfig (line 8) | pub struct TrackerConfig { method default (line 26) | fn default() -> Self { type TrackState (line 41) | pub enum TrackState { type TrackLifecycle (line 63) | pub struct TrackLifecycle { method new (line 74) | pub fn new(config: &TrackerConfig) -> Self { method hit (line 89) | pub fn hit(&mut self) { method miss (line 117) | pub fn miss(&mut self) { method rescue (line 145) | pub fn rescue(&mut self) { method check_lost_expiry (line 150) | pub fn check_lost_expiry(&mut self, now: std::time::Instant, max_lost_... method state (line 160) | pub fn state(&self) -> &TrackState { method is_active_or_tentative (line 165) | pub fn is_active_or_tentative(&self) -> bool { method is_lost (line 170) | pub fn is_lost(&self) -> bool { method is_terminal (line 175) | pub fn is_terminal(&self) -> bool { method can_reidentify (line 180) | pub fn can_reidentify(&self, now: std::time::Instant, max_lost_age_sec... function default_lifecycle (line 195) | fn default_lifecycle() -> TrackLifecycle { function test_tentative_confirmation (line 200) | fn test_tentative_confirmation() { function test_tentative_miss_terminates (line 217) | fn test_tentative_miss_terminates() { function test_active_to_lost (line 229) | fn test_active_to_lost() { function test_lost_to_active_via_hit (line 248) | fn test_lost_to_active_via_hit() { function test_lost_expiry (line 265) | fn test_lost_expiry() { function test_rescue (line 287) | fn test_rescue() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/src/tracking/tracker.rs type TrackId (line 27) | pub struct TrackId(Uuid); method new (line 31) | pub fn new() -> Self { method as_uuid (line 36) | pub fn as_uuid(&self) -> &Uuid { method fmt (line 48) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method default (line 42) | fn default() -> Self { type DetectionObservation (line 59) | pub struct DetectionObservation { type AssociationResult (line 76) | pub struct AssociationResult { type TrackedSurvivor (line 96) | pub struct TrackedSurvivor { method from_observation (line 113) | fn from_observation(obs: &DetectionObservation, config: &TrackerConfig... type SurvivorTracker (line 141) | pub struct SurvivorTracker { method new (line 148) | pub fn new(config: TrackerConfig) -> Self { method with_defaults (line 156) | pub fn with_defaults() -> Self { method update (line 171) | pub fn update( method active_tracks (line 452) | pub fn active_tracks(&self) -> impl Iterator { method all_tracks (line 459) | pub fn all_tracks(&self) -> &[TrackedSurvivor] { method get_track (line 464) | pub fn get_track(&self, id: &TrackId) -> Option<&TrackedSurvivor> { method mark_rescued (line 471) | pub fn mark_rescued(&mut self, id: &TrackId) -> bool { method track_count (line 482) | pub fn track_count(&self) -> usize { method active_count (line 487) | pub fn active_count(&self) -> usize { function greedy_assign (line 506) | fn greedy_assign(costs: &[Vec], n_tracks: usize, n_obs: usize) -> V... function hungarian_assign (line 554) | fn hungarian_assign(costs: &[Vec], n_tracks: usize, n_obs: usize) -... function augment (line 587) | fn augment( function test_vitals (line 626) | fn test_vitals() -> VitalSignsReading { function test_coords (line 641) | fn test_coords(x: f64, y: f64, z: f64) -> Coordinates3D { function make_obs (line 650) | fn make_obs(x: f64, y: f64, z: f64) -> DetectionObservation { function test_tracker_empty (line 663) | fn test_tracker_empty() { function test_tracker_birth (line 681) | fn test_tracker_birth() { function test_tracker_miss_to_lost (line 726) | fn test_tracker_miss_to_lost() { function test_tracker_reid (line 759) | fn test_tracker_reid() { function any_lost (line 812) | fn any_lost(tracker: &SurvivorTracker) -> bool { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-mat/tests/integration_adr001.rs function generate_breathing_signal (line 23) | fn generate_breathing_signal(sample_rate: f64, duration_secs: f64) -> (V... function test_detection_pipeline_accepts_deterministic_data (line 45) | fn test_detection_pipeline_accepts_deterministic_data() { function test_ensemble_classifier_triage_logic (line 68) | fn test_ensemble_classifier_triage_logic() { function test_event_store_append_and_query (line 132) | fn test_event_store_append_and_query() { function test_disaster_response_with_event_store (line 151) | fn test_disaster_response_with_event_store() { function test_push_csi_data_validation (line 173) | fn test_push_csi_data_validation() { function test_deterministic_signal_properties (line 191) | fn test_deterministic_signal_properties() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/benches/inference_bench.rs function bench_tensor_operations (line 11) | fn bench_tensor_operations(c: &mut Criterion) { function bench_densepose_inference (line 35) | fn bench_densepose_inference(c: &mut Criterion) { function bench_translator_inference (line 54) | fn bench_translator_inference(c: &mut Criterion) { function bench_mock_inference (line 73) | fn bench_mock_inference(c: &mut Criterion) { function bench_batch_inference (line 88) | fn bench_batch_inference(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/densepose.rs type DensePoseConfig (line 15) | pub struct DensePoseConfig { method new (line 88) | pub fn new(input_channels: usize, num_body_parts: usize, num_uv_coordi... method validate (line 98) | pub fn validate(&self) -> NnResult<()> { method segmentation_channels (line 115) | pub fn segmentation_channels(&self) -> usize { function default_hidden_channels (line 45) | fn default_hidden_channels() -> Vec { function default_kernel_size (line 49) | fn default_kernel_size() -> usize { function default_padding (line 53) | fn default_padding() -> usize { function default_dropout_rate (line 57) | fn default_dropout_rate() -> f32 { function default_fpn_levels (line 61) | fn default_fpn_levels() -> Vec { function default_output_stride (line 65) | fn default_output_stride() -> usize { method default (line 70) | fn default() -> Self { type DensePoseOutput (line 122) | pub struct DensePoseOutput { type ConfidenceScores (line 133) | pub struct ConfidenceScores { type DensePoseHead (line 145) | pub struct DensePoseHead { method new (line 181) | pub fn new(config: DensePoseConfig) -> NnResult { method with_weights (line 190) | pub fn with_weights(config: DensePoseConfig, weights: DensePoseWeights... method config (line 199) | pub fn config(&self) -> &DensePoseConfig { method has_weights (line 204) | pub fn has_weights(&self) -> bool { method expected_input_shape (line 209) | pub fn expected_input_shape(&self, batch_size: usize, height: usize, w... method validate_input (line 214) | pub fn validate_input(&self, input: &Tensor) -> NnResult<()> { method forward (line 240) | pub fn forward(&self, input: &Tensor) -> NnResult { method forward_native (line 251) | fn forward_native(&self, input: &Tensor) -> NnResult { method forward_mock (line 289) | fn forward_mock(&self, input: &Tensor) -> NnResult { method apply_conv_layer (line 315) | fn apply_conv_layer(&self, input: &Array4, weights: &ConvLayerWei... method apply_relu (line 380) | fn apply_relu(&self, input: &Array4) -> Array4 { method apply_sigmoid (line 385) | fn apply_sigmoid(&self, input: &Array4) -> Array4 { method post_process (line 390) | pub fn post_process(&self, output: &DensePoseOutput) -> NnResult NnResult... method compute_uv_confidence (line 416) | fn compute_uv_confidence(&self, uv: &Tensor) -> NnResult { method get_output_stats (line 432) | pub fn get_output_stats(&self, output: &DensePoseOutput) -> NnResult Option { method name (line 513) | pub fn name(&self) -> &'static str { function test_config_validation (line 539) | fn test_config_validation() { function test_densepose_head_creation (line 551) | fn test_densepose_head_creation() { function test_forward_without_weights_errors (line 558) | fn test_forward_without_weights_errors() { function test_mock_forward_pass (line 569) | fn test_mock_forward_pass() { function test_body_part_enum (line 582) | fn test_body_part_enum() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/error.rs type NnResult (line 6) | pub type NnResult = Result; type NnError (line 10) | pub enum NnError { method config (line 64) | pub fn config>(msg: S) -> Self { method model_load (line 69) | pub fn model_load>(msg: S) -> Self { method inference (line 74) | pub fn inference>(msg: S) -> Self { method shape_mismatch (line 79) | pub fn shape_mismatch(expected: Vec, actual: Vec) -> Self { method invalid_input (line 84) | pub fn invalid_input>(msg: S) -> Self { method tensor_op (line 89) | pub fn tensor_op>(msg: S) -> Self { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/inference.rs type InferenceOptions (line 18) | pub struct InferenceOptions { method cpu (line 70) | pub fn cpu() -> Self { method gpu (line 75) | pub fn gpu(device_id: usize) -> Self { method with_batch_size (line 84) | pub fn with_batch_size(mut self, batch_size: usize) -> Self { method with_threads (line 90) | pub fn with_threads(mut self, num_threads: usize) -> Self { function default_batch_size (line 42) | fn default_batch_size() -> usize { function default_num_threads (line 46) | fn default_num_threads() -> usize { function default_optimize (line 50) | fn default_optimize() -> bool { method default (line 55) | fn default() -> Self { type Backend (line 97) | pub trait Backend: Send + Sync { method name (line 99) | fn name(&self) -> &str; method is_available (line 102) | fn is_available(&self) -> bool; method input_names (line 105) | fn input_names(&self) -> Vec; method output_names (line 108) | fn output_names(&self) -> Vec; method input_shape (line 111) | fn input_shape(&self, name: &str) -> Option; method output_shape (line 114) | fn output_shape(&self, name: &str) -> Option; method run (line 117) | fn run(&self, inputs: HashMap) -> NnResult NnResult { method warmup (line 143) | fn warmup(&self) -> NnResult<()> { method memory_usage (line 148) | fn memory_usage(&self) -> usize { method name (line 185) | fn name(&self) -> &str { method is_available (line 189) | fn is_available(&self) -> bool { method input_names (line 193) | fn input_names(&self) -> Vec { method output_names (line 197) | fn output_names(&self) -> Vec { method input_shape (line 201) | fn input_shape(&self, name: &str) -> Option { method output_shape (line 205) | fn output_shape(&self, name: &str) -> Option { method run (line 209) | fn run(&self, inputs: HashMap) -> NnResult) -> Self { method with_input (line 172) | pub fn with_input(mut self, name: impl Into, shape: TensorShap... method with_output (line 178) | pub fn with_output(mut self, name: impl Into, shape: TensorSha... type InferenceEngine (line 227) | pub struct InferenceEngine { type InferenceStats (line 236) | pub struct InferenceStats { method record (line 253) | pub fn record(&mut self, time_ms: f64) { function new (line 271) | pub fn new(backend: B, options: InferenceOptions) -> Self { function backend (line 280) | pub fn backend(&self) -> &B { function options (line 285) | pub fn options(&self) -> &InferenceOptions { function uses_gpu (line 290) | pub fn uses_gpu(&self) -> bool { function warmup (line 295) | pub fn warmup(&self) -> NnResult<()> { function infer (line 302) | pub fn infer(&self, input: &Tensor) -> NnResult { function infer_named (line 322) | pub fn infer_named(&self, inputs: HashMap) -> NnResult NnResult> { function stats (line 339) | pub async fn stats(&self) -> InferenceStats { function reset_stats (line 344) | pub async fn reset_stats(&self) { function memory_usage (line 350) | pub fn memory_usage(&self) -> usize { type WiFiDensePosePipeline (line 356) | pub struct WiFiDensePosePipeline { function new (line 371) | pub fn new( function run (line 389) | pub fn run(&self, csi_input: &Tensor) -> NnResult { function translator_config (line 418) | pub fn translator_config(&self) -> &TranslatorConfig { function densepose_config (line 423) | pub fn densepose_config(&self) -> &DensePoseConfig { type EngineBuilder (line 429) | pub struct EngineBuilder { method new (line 436) | pub fn new() -> Self { method options (line 444) | pub fn options(mut self, options: InferenceOptions) -> Self { method model_path (line 450) | pub fn model_path(mut self, path: impl Into) -> Self { method gpu (line 456) | pub fn gpu(mut self, device_id: usize) -> Self { method cpu (line 463) | pub fn cpu(mut self) -> Self { method batch_size (line 469) | pub fn batch_size(mut self, size: usize) -> Self { method threads (line 475) | pub fn threads(mut self, n: usize) -> Self { method build_mock (line 481) | pub fn build_mock(self) -> InferenceEngine { method build_onnx (line 491) | pub fn build_onnx(self) -> NnResult Self { function test_inference_options (line 512) | fn test_inference_options() { function test_mock_backend (line 524) | fn test_mock_backend() { function test_engine_builder (line 536) | fn test_engine_builder() { function test_inference_stats (line 548) | fn test_inference_stats() { function test_inference_engine (line 561) | async fn test_inference_engine() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/lib.rs constant VERSION (line 62) | pub const VERSION: &str = env!("CARGO_PKG_VERSION"); constant NUM_BODY_PARTS (line 65) | pub const NUM_BODY_PARTS: usize = 24; constant NUM_UV_COORDINATES (line 68) | pub const NUM_UV_COORDINATES: usize = 2; constant DEFAULT_HIDDEN_CHANNELS (line 71) | pub const DEFAULT_HIDDEN_CHANNELS: &[usize] = &[256, 128, 64]; FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/onnx.rs type OnnxSession (line 16) | pub struct OnnxSession { method fmt (line 25) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from_file (line 37) | pub fn from_file>(path: P, _options: &InferenceOptions)... method from_bytes (line 80) | pub fn from_bytes(bytes: &[u8], _options: &InferenceOptions) -> NnResu... method input_names (line 113) | pub fn input_names(&self) -> &[String] { method output_names (line 118) | pub fn output_names(&self) -> &[String] { method run (line 123) | pub fn run(&mut self, inputs: HashMap) -> NnResult) -> std::fmt::Result { method from_file (line 198) | pub fn from_file>(path: P) -> NnResult { method from_file_with_options (line 208) | pub fn from_file_with_options>(path: P, options: Infere... method from_bytes (line 217) | pub fn from_bytes(bytes: &[u8]) -> NnResult { method from_bytes_with_options (line 227) | pub fn from_bytes_with_options(bytes: &[u8], options: InferenceOptions... method options (line 236) | pub fn options(&self) -> &InferenceOptions { method name (line 242) | fn name(&self) -> &str { method is_available (line 246) | fn is_available(&self) -> bool { method input_names (line 250) | fn input_names(&self) -> Vec { method output_names (line 254) | fn output_names(&self) -> Vec { method input_shape (line 258) | fn input_shape(&self, name: &str) -> Option { method output_shape (line 262) | fn output_shape(&self, name: &str) -> Option { method run (line 266) | fn run(&self, inputs: HashMap) -> NnResult NnResult<()> { type OnnxModelInfo (line 298) | pub struct OnnxModelInfo { type TensorSpec (line 315) | pub struct TensorSpec { function load_model_info (line 325) | pub fn load_model_info>(path: P) -> NnResult Self { method model_path (line 383) | pub fn model_path>(mut self, path: P) -> Self { method model_bytes (line 389) | pub fn model_bytes(mut self, bytes: Vec) -> Self { method gpu (line 395) | pub fn gpu(mut self, device_id: usize) -> Self { method cpu (line 402) | pub fn cpu(mut self) -> Self { method threads (line 408) | pub fn threads(mut self, n: usize) -> Self { method optimize (line 414) | pub fn optimize(mut self, enabled: bool) -> Self { method build (line 420) | pub fn build(self) -> NnResult { method default (line 432) | fn default() -> Self { function test_onnx_backend_builder (line 442) | fn test_onnx_backend_builder() { function test_tensor_spec (line 453) | fn test_tensor_spec() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/tensor.rs type TensorShape (line 14) | pub struct TensorShape(Vec); method new (line 18) | pub fn new(dims: Vec) -> Self { method from_slice (line 23) | pub fn from_slice(dims: &[usize]) -> Self { method ndim (line 28) | pub fn ndim(&self) -> usize { method dims (line 33) | pub fn dims(&self) -> &[usize] { method numel (line 38) | pub fn numel(&self) -> usize { method dim (line 43) | pub fn dim(&self, idx: usize) -> Option { method is_broadcast_compatible (line 48) | pub fn is_broadcast_compatible(&self, other: &TensorShape) -> bool { method fmt (line 62) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method from (line 75) | fn from(dims: Vec) -> Self { method from (line 81) | fn from(dims: &[usize]) -> Self { method from (line 87) | fn from(dims: [usize; N]) -> Self { type DataType (line 94) | pub enum DataType { method size_bytes (line 111) | pub fn size_bytes(&self) -> usize { type Tensor (line 125) | pub enum Tensor { method zeros_4d (line 146) | pub fn zeros_4d(shape: [usize; 4]) -> Self { method ones_4d (line 151) | pub fn ones_4d(shape: [usize; 4]) -> Self { method from_array4 (line 156) | pub fn from_array4(array: Array4) -> Self { method from_arrayd (line 161) | pub fn from_arrayd(array: ArrayD) -> Self { method shape (line 166) | pub fn shape(&self) -> TensorShape { method dtype (line 180) | pub fn dtype(&self) -> DataType { method numel (line 192) | pub fn numel(&self) -> usize { method ndim (line 197) | pub fn ndim(&self) -> usize { method as_array4 (line 202) | pub fn as_array4(&self) -> NnResult<&Array4> { method as_array4_mut (line 210) | pub fn as_array4_mut(&mut self) -> NnResult<&mut Array4> { method as_slice (line 218) | pub fn as_slice(&self) -> NnResult<&[f32]> { method to_vec (line 230) | pub fn to_vec(&self) -> NnResult> { method relu (line 242) | pub fn relu(&self) -> NnResult { method sigmoid (line 251) | pub fn sigmoid(&self) -> NnResult { method tanh (line 260) | pub fn tanh(&self) -> NnResult { method softmax (line 269) | pub fn softmax(&self, axis: usize) -> NnResult { method argmax (line 282) | pub fn argmax(&self, axis: usize) -> NnResult { method mean (line 299) | pub fn mean(&self) -> NnResult { method std (line 308) | pub fn std(&self) -> NnResult { method min (line 325) | pub fn min(&self) -> NnResult { method max (line 334) | pub fn max(&self) -> NnResult { type TensorStats (line 345) | pub struct TensorStats { method from_tensor (line 360) | pub fn from_tensor(tensor: &Tensor) -> NnResult { function test_tensor_shape (line 394) | fn test_tensor_shape() { function test_tensor_zeros (line 403) | fn test_tensor_zeros() { function test_tensor_activations (line 410) | fn test_tensor_activations() { function test_broadcast_compatible (line 423) | fn test_broadcast_compatible() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-nn/src/translator.rs type TranslatorConfig (line 15) | pub struct TranslatorConfig { method new (line 124) | pub fn new(input_channels: usize, hidden_channels: Vec, output_... method with_attention (line 134) | pub fn with_attention(mut self, num_heads: usize) -> Self { method with_activation (line 141) | pub fn with_activation(mut self, activation: ActivationType) -> Self { method validate (line 147) | pub fn validate(&self) -> NnResult<()> { method bottleneck_dim (line 164) | pub fn bottleneck_dim(&self) -> usize { function default_kernel_size (line 48) | fn default_kernel_size() -> usize { function default_stride (line 52) | fn default_stride() -> usize { function default_padding (line 56) | fn default_padding() -> usize { function default_dropout_rate (line 60) | fn default_dropout_rate() -> f32 { function default_activation (line 64) | fn default_activation() -> ActivationType { function default_normalization (line 68) | fn default_normalization() -> NormalizationType { function default_attention_heads (line 72) | fn default_attention_heads() -> usize { type ActivationType (line 78) | pub enum ActivationType { type NormalizationType (line 93) | pub enum NormalizationType { method default (line 105) | fn default() -> Self { type TranslatorOutput (line 171) | pub struct TranslatorOutput { type TranslatorWeights (line 182) | pub struct TranslatorWeights { type ConvBlockWeights (line 193) | pub struct ConvBlockWeights { type AttentionWeights (line 210) | pub struct AttentionWeights { type ModalityTranslator (line 225) | pub struct ModalityTranslator { method new (line 233) | pub fn new(config: TranslatorConfig) -> NnResult { method with_weights (line 242) | pub fn with_weights(config: TranslatorConfig, weights: TranslatorWeigh... method config (line 251) | pub fn config(&self) -> &TranslatorConfig { method has_weights (line 256) | pub fn has_weights(&self) -> bool { method expected_input_shape (line 261) | pub fn expected_input_shape(&self, batch_size: usize, height: usize, w... method validate_input (line 266) | pub fn validate_input(&self, input: &Tensor) -> NnResult<()> { method forward (line 289) | pub fn forward(&self, input: &Tensor) -> NnResult { method encode (line 303) | pub fn encode(&self, input: &Tensor) -> NnResult> { method decode (line 321) | pub fn decode(&self, encoded_features: &[Tensor]) -> NnResult { method forward_native (line 341) | fn forward_native(&self, input: &Tensor) -> NnResult { method forward_mock (line 391) | fn forward_mock(&self, input: &Tensor) -> NnResult { method apply_conv_block (line 408) | fn apply_conv_block( method apply_deconv_block (line 461) | fn apply_deconv_block( method apply_normalization (line 500) | fn apply_normalization(&self, output: &mut Array4, weights: &Conv... method apply_activation (line 525) | fn apply_activation(&self, input: &Array4) -> Array4 { method apply_attention (line 539) | fn apply_attention( method compute_loss (line 566) | pub fn compute_loss(&self, predicted: &Tensor, target: &Tensor, loss_t... method get_feature_stats (line 616) | pub fn get_feature_stats(&self, features: &Tensor) -> NnResult NnResult Vec<(f32, f32)> { function make_stage_i (line 31) | fn make_stage_i(gestalt: GestaltType) -> StageIData { function make_stage_ii (line 41) | fn make_stage_ii() -> StageIIData { function make_stage_iii (line 55) | fn make_stage_iii() -> StageIIIData { function make_stage_iv (line 95) | fn make_stage_iv() -> StageIVData { function populated_manager (line 109) | fn populated_manager(dims: usize) -> (CrvSessionManager, String) { function gestalt_classify_single (line 131) | fn gestalt_classify_single(c: &mut Criterion) { function gestalt_classify_batch (line 153) | fn gestalt_classify_batch(c: &mut Criterion) { function sensory_encode_single (line 182) | fn sensory_encode_single(c: &mut Criterion) { function pipeline_full_session (line 205) | fn pipeline_full_session(c: &mut Criterion) { function convergence_two_sessions (line 263) | fn convergence_two_sessions(c: &mut Criterion) { function crv_session_create (line 316) | fn crv_session_create(c: &mut Criterion) { function crv_embedding_dimension_scaling (line 338) | fn crv_embedding_dimension_scaling(c: &mut Criterion) { function crv_stage_vi_partition (line 376) | fn crv_stage_vi_partition(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/crv/mod.rs type ApNode (line 32) | pub struct ApNode { type ApLink (line 43) | pub struct ApLink { type CoherenceGateState (line 58) | pub enum CoherenceGateState { type CsiCrvResult (line 71) | pub struct CsiCrvResult { type GestaltThresholds (line 84) | pub struct GestaltThresholds { method default (line 100) | fn default() -> Self { type WifiCrvConfig (line 114) | pub struct WifiCrvConfig { method default (line 124) | fn default() -> Self { type CsiGestaltClassifier (line 148) | pub struct CsiGestaltClassifier { method new (line 154) | pub fn new(thresholds: GestaltThresholds) -> Self { method classify (line 165) | pub fn classify(&self, amplitudes: &[f32], phases: &[f32]) -> (Gestalt... method compute_variance (line 269) | fn compute_variance(amplitudes: &[f32]) -> f32 { method compute_periodicity (line 284) | fn compute_periodicity(amplitudes: &[f32]) -> f32 { method compute_energy_spike (line 331) | fn compute_energy_spike(amplitudes: &[f32]) -> f32 { method compute_structure (line 343) | fn compute_structure(amplitudes: &[f32], phases: &[f32]) -> f32 { method compute_null_fraction (line 388) | fn compute_null_fraction(amplitudes: &[f32]) -> f32 { type CsiSensoryEncoder (line 410) | pub struct CsiSensoryEncoder; method new (line 414) | pub fn new() -> Self { method extract (line 422) | pub fn extract( method amplitude_roughness (line 502) | fn amplitude_roughness(&self, amplitudes: &[f32]) -> f32 { method spectral_centroid (line 520) | fn spectral_centroid(&self, amplitudes: &[f32]) -> f32 { method signal_energy (line 536) | fn signal_energy(&self, amplitudes: &[f32]) -> f32 { method phase_coherence (line 542) | fn phase_coherence(&self, phases: &[f32]) -> f32 { method subcarrier_spread (line 553) | fn subcarrier_spread(&self, amplitudes: &[f32]) -> f32 { type WifiCrvPipeline (line 572) | pub struct WifiCrvPipeline { method new (line 585) | pub fn new(config: WifiCrvConfig) -> Self { method create_session (line 608) | pub fn create_session( method process_csi_frame (line 621) | pub fn process_csi_frame( method add_mesh_topology (line 677) | pub fn add_mesh_topology( method add_coherence_state (line 724) | pub fn add_coherence_state( method interrogate (line 786) | pub fn interrogate( method partition_persons (line 817) | pub fn partition_persons( method find_cross_room_convergence (line 829) | pub fn find_cross_room_convergence( method session_entry_count (line 838) | pub fn session_entry_count(&self, session_id: &str) -> usize { method session_count (line 843) | pub fn session_count(&self) -> usize { method remove_session (line 848) | pub fn remove_session(&mut self, session_id: &str) -> bool { method config (line 853) | pub fn config(&self) -> &WifiCrvConfig { function test_config (line 868) | fn test_config() -> WifiCrvConfig { function periodic_signal (line 877) | fn periodic_signal(n: usize, freq: f32, amplitude: f32) -> Vec { function static_signal (line 884) | fn static_signal(n: usize, level: f32) -> Vec { function linear_phases (line 889) | fn linear_phases(n: usize) -> Vec { function varied_phases (line 894) | fn varied_phases(n: usize) -> Vec { function gestalt_movement_high_variance_periodic (line 903) | fn gestalt_movement_high_variance_periodic() { function gestalt_land_low_variance_stable (line 913) | fn gestalt_land_low_variance_stable() { function gestalt_energy_spike (line 923) | fn gestalt_energy_spike() { function gestalt_water_null_subcarriers (line 934) | fn gestalt_water_null_subcarriers() { function gestalt_manmade_structured (line 948) | fn gestalt_manmade_structured() { function gestalt_natural_smooth_gradual (line 962) | fn gestalt_natural_smooth_gradual() { function gestalt_empty_amplitudes (line 977) | fn gestalt_empty_amplitudes() { function gestalt_single_subcarrier (line 985) | fn gestalt_single_subcarrier() { function sensory_extraction_returns_six_modalities (line 995) | fn sensory_extraction_returns_six_modalities() { function sensory_texture_rough_for_noisy (line 1004) | fn sensory_texture_rough_for_noisy() { function sensory_luminosity_bright_for_coherent (line 1022) | fn sensory_luminosity_bright_for_coherent() { function sensory_temperature_cold_for_low_power (line 1037) | fn sensory_temperature_cold_for_low_power() { function sensory_empty_amplitudes (line 1051) | fn sensory_empty_amplitudes() { function mesh_topology_two_aps (line 1061) | fn mesh_topology_two_aps() { function mesh_topology_empty_nodes_errors (line 1088) | fn mesh_topology_empty_nodes_errors() { function mesh_topology_single_ap_no_links (line 1096) | fn mesh_topology_single_ap_no_links() { function coherence_accept_clean_signal (line 1113) | fn coherence_accept_clean_signal() { function coherence_reject_noisy (line 1124) | fn coherence_reject_noisy() { function coherence_predict_only (line 1135) | fn coherence_predict_only() { function coherence_recalibrate (line 1146) | fn coherence_recalibrate() { function full_pipeline_create_process_interrogate_partition (line 1159) | fn full_pipeline_create_process_interrogate_partition() { function pipeline_session_not_found (line 1206) | fn pipeline_session_not_found() { function pipeline_empty_csi_frame (line 1213) | fn pipeline_empty_csi_frame() { function pipeline_empty_query_interrogation (line 1221) | fn pipeline_empty_query_interrogation() { function pipeline_interrogate_empty_session (line 1229) | fn pipeline_interrogate_empty_session() { function cross_session_convergence_same_room (line 1239) | fn cross_session_convergence_same_room() { function cross_session_convergence_different_signals (line 1266) | fn cross_session_convergence_different_signals() { function cross_session_needs_two_sessions (line 1289) | fn cross_session_needs_two_sessions() { function session_create_and_remove (line 1303) | fn session_create_and_remove() { function session_duplicate_errors (line 1313) | fn session_duplicate_errors() { function zero_amplitude_frame (line 1323) | fn zero_amplitude_frame() { function single_subcarrier_frame (line 1335) | fn single_subcarrier_frame() { function large_frame_256_subcarriers (line 1344) | fn large_frame_256_subcarriers() { function compute_variance_static (line 1358) | fn compute_variance_static() { function compute_periodicity_constant (line 1364) | fn compute_periodicity_constant() { function compute_null_fraction_all_zeros (line 1371) | fn compute_null_fraction_all_zeros() { function compute_null_fraction_none_zero (line 1377) | fn compute_null_fraction_none_zero() { function spectral_centroid_uniform (line 1385) | fn spectral_centroid_uniform() { function signal_energy_known (line 1397) | fn signal_energy_known() { function phase_coherence_identical (line 1404) | fn phase_coherence_identical() { function phase_coherence_empty (line 1411) | fn phase_coherence_empty() { function subcarrier_spread_all_active (line 1418) | fn subcarrier_spread_all_active() { function subcarrier_spread_empty (line 1425) | fn subcarrier_spread_empty() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/mat/breathing.rs type CompressedBreathingBuffer (line 19) | pub struct CompressedBreathingBuffer { method new (line 34) | pub fn new(n_subcarriers: usize, zone_id: u32) -> Self { method push_frame (line 52) | pub fn push_frame(&mut self, amplitudes: &[f32]) { method frame_count (line 64) | pub fn frame_count(&self) -> u32 { method to_vec (line 73) | pub fn to_vec(&self) -> Vec { function breathing_buffer_frame_count (line 87) | fn breathing_buffer_frame_count() { function breathing_buffer_to_vec_runs (line 100) | fn breathing_buffer_to_vec_runs() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/mat/heartbeat.rs type CompressedHeartbeatSpectrogram (line 15) | pub struct CompressedHeartbeatSpectrogram { method new (line 28) | pub fn new(n_freq_bins: usize) -> Self { method push_column (line 43) | pub fn push_column(&mut self, column: &[f32]) { method frame_count (line 53) | pub fn frame_count(&self) -> u32 { method band_power (line 62) | pub fn band_power(&self, low_bin: usize, high_bin: usize) -> f32 { function heartbeat_spectrogram_frame_count (line 83) | fn heartbeat_spectrogram_frame_count() { function heartbeat_band_power_runs (line 96) | fn heartbeat_band_power_runs() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/mat/triangulation.rs function solve_triangulation (line 28) | pub fn solve_triangulation( function triangulation_small_scale_layout (line 90) | fn triangulation_small_scale_layout() { function triangulation_too_few_measurements_returns_none (line 133) | fn triangulation_too_few_measurements_returns_none() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/signal/bvp.rs function attention_weighted_bvp (line 29) | pub fn attention_weighted_bvp( function attention_bvp_output_length (line 65) | fn attention_bvp_output_length() { function attention_bvp_empty_input_returns_zeros (line 83) | fn attention_bvp_empty_input_returns_zeros() { function attention_bvp_zero_bins_returns_empty (line 89) | fn attention_bvp_zero_bins_returns_empty() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/signal/fresnel.rs function solve_fresnel_geometry (line 23) | pub fn solve_fresnel_geometry(observations: &[(f32, f32)], d_total: f32)... function fresnel_d1_plus_d2_equals_d_total (line 62) | fn fresnel_d1_plus_d2_equals_d_total() { function fresnel_too_few_observations_returns_none (line 88) | fn fresnel_too_few_observations_returns_none() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/signal/spectrogram.rs function gate_spectrogram (line 24) | pub fn gate_spectrogram(spectrogram: &[f32], n_freq: usize, n_time: usiz... function gate_spectrogram_output_length (line 43) | fn gate_spectrogram_output_length() { function gate_spectrogram_aggressive_lambda (line 57) | fn gate_spectrogram_aggressive_lambda() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/signal/subcarrier.rs function mincut_subcarrier_partition (line 36) | pub fn mincut_subcarrier_partition(sensitivity: &[f32]) -> (Vec, ... function subcarrier_importance_weights (line 150) | pub fn subcarrier_importance_weights(sensitivity: &[f32]) -> Vec { function partition_covers_all_indices (line 173) | fn partition_covers_all_indices() { function partition_empty_input (line 189) | fn partition_empty_input() { function partition_single_element (line 196) | fn partition_single_element() { function test_importance_weights_empty (line 203) | fn test_importance_weights_empty() { function test_importance_weights_all_equal (line 209) | fn test_importance_weights_all_equal() { function test_importance_weights_sensitive_higher (line 222) | fn test_importance_weights_sensitive_higher() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/viewpoint/attention.rs type AttentionError (line 31) | pub enum AttentionError { method fmt (line 60) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type GeometricBias (line 98) | pub struct GeometricBias { method new (line 128) | pub fn new(w_angle: f32, w_dist: f32, d_ref: f32) -> Self { method compute_pair (line 142) | pub fn compute_pair(&self, theta_ij: f32, d_ij: f32) -> f32 { method build_matrix (line 156) | pub fn build_matrix(&self, viewpoints: &[ViewpointGeometry]) -> Vec Self { type ViewpointGeometry (line 119) | pub struct ViewpointGeometry { type ProjectionWeights (line 186) | pub struct ProjectionWeights { method identity (line 201) | pub fn identity(dim: usize) -> Self { method new (line 218) | pub fn new( method project (line 251) | fn project(&self, weight: &[f32], input: &[f32]) -> Vec { method project_queries (line 264) | pub fn project_queries(&self, embeddings: &[Vec]) -> Vec> { method project_keys (line 269) | pub fn project_keys(&self, embeddings: &[Vec]) -> Vec> { method project_values (line 274) | pub fn project_values(&self, embeddings: &[Vec]) -> Vec> { type CrossViewpointAttention (line 294) | pub struct CrossViewpointAttention { method new (line 307) | pub fn new(embed_dim: usize) -> Self { method with_params (line 315) | pub fn with_params(weights: ProjectionWeights, bias: GeometricBias) ->... method attend (line 331) | pub fn attend( method fuse (line 419) | pub fn fuse( method attention_weights (line 445) | pub fn attention_weights( function make_test_geom (line 498) | fn make_test_geom(n: usize) -> Vec { function make_test_embeddings (line 511) | fn make_test_embeddings(n: usize, dim: usize) -> Vec> { function fuse_produces_correct_dimension (line 520) | fn fuse_produces_correct_dimension() { function attend_produces_n_outputs (line 531) | fn attend_produces_n_outputs() { function attention_weights_sum_to_one (line 545) | fn attention_weights_sum_to_one() { function attention_weights_are_non_negative (line 563) | fn attention_weights_are_non_negative() { function empty_viewpoints_returns_error (line 576) | fn empty_viewpoints_returns_error() { function dimension_mismatch_returns_error (line 583) | fn dimension_mismatch_returns_error() { function geometric_bias_pair_computation (line 592) | fn geometric_bias_pair_computation() { function geometric_bias_matrix_is_symmetric_for_symmetric_layout (line 605) | fn geometric_bias_matrix_is_symmetric_for_symmetric_layout() { function single_viewpoint_fuse_returns_projection (line 623) | fn single_viewpoint_fuse_returns_projection() { function projection_weights_custom_transform (line 639) | fn projection_weights_custom_transform() { function geometric_bias_with_large_distance_decays (line 661) | fn geometric_bias_with_large_distance_decays() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/viewpoint/coherence.rs type CoherenceState (line 28) | pub struct CoherenceState { method new (line 50) | pub fn new(window_size: usize) -> Self { method push (line 65) | pub fn push(&mut self, phase_diff: f32) { method coherence (line 88) | pub fn coherence(&self) -> f32 { method len (line 99) | pub fn len(&self) -> usize { method is_empty (line 104) | pub fn is_empty(&self) -> bool { method capacity (line 109) | pub fn capacity(&self) -> usize { method reset (line 114) | pub fn reset(&mut self) { type CoherenceGate (line 132) | pub struct CoherenceGate { method new (line 154) | pub fn new(threshold: f32, hysteresis: f32) -> Self { method default_params (line 165) | pub fn default_params() -> Self { method evaluate (line 172) | pub fn evaluate(&mut self, coherence: f32) -> bool { method is_open (line 195) | pub fn is_open(&self) -> bool { method duty_cycle (line 200) | pub fn duty_cycle(&self) -> f32 { method reset (line 208) | pub fn reset(&mut self) { function coherence_gate (line 228) | pub fn coherence_gate(phase_diffs: &[f32], threshold: f32) -> bool { function compute_coherence (line 245) | pub fn compute_coherence(phase_diffs: &[f32]) -> f32 { function coherent_phase_returns_high_value (line 267) | fn coherent_phase_returns_high_value() { function random_phase_returns_low_value (line 275) | fn random_phase_returns_low_value() { function coherence_gate_opens_above_threshold (line 286) | fn coherence_gate_opens_above_threshold() { function coherence_gate_closed_below_threshold (line 292) | fn coherence_gate_closed_below_threshold() { function coherence_gate_empty_returns_false (line 301) | fn coherence_gate_empty_returns_false() { function coherence_state_rolling_window (line 306) | fn coherence_state_rolling_window() { function coherence_state_empty_returns_zero (line 324) | fn coherence_state_empty_returns_zero() { function gate_hysteresis_prevents_toggling (line 331) | fn gate_hysteresis_prevents_toggling() { function gate_duty_cycle_tracks_correctly (line 347) | fn gate_duty_cycle_tracks_correctly() { function gate_reset_clears_state (line 361) | fn gate_reset_clears_state() { function coherence_state_push_and_len (line 371) | fn coherence_state_push_and_len() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/viewpoint/fusion.rs type ArrayId (line 26) | pub type ArrayId = u64; type ViewpointEmbedding (line 33) | pub struct ViewpointEmbedding { type FusedEmbedding (line 52) | pub struct FusedEmbedding { type FusionConfig (line 67) | pub struct FusionConfig { method default (line 87) | fn default() -> Self { type FusionError (line 107) | pub enum FusionError { method fmt (line 136) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method from (line 162) | fn from(e: AttentionError) -> Self { type ViewpointFusionEvent (line 173) | pub enum ViewpointFusionEvent { type MultistaticArray (line 220) | pub struct MultistaticArray { method new (line 243) | pub fn new(id: ArrayId, config: FusionConfig) -> Self { method with_defaults (line 267) | pub fn with_defaults(id: ArrayId) -> Self { method id (line 272) | pub fn id(&self) -> ArrayId { method n_viewpoints (line 277) | pub fn n_viewpoints(&self) -> usize { method cycle_count (line 282) | pub fn cycle_count(&self) -> u64 { method submit_viewpoint (line 289) | pub fn submit_viewpoint(&mut self, vp: ViewpointEmbedding) -> Result<(... method push_phase_diff (line 315) | pub fn push_phase_diff(&mut self, phase_diff: f32) { method coherence (line 320) | pub fn coherence(&self) -> f32 { method compute_gdi (line 325) | pub fn compute_gdi(&self) -> Option { method fuse (line 348) | pub fn fuse(&mut self) -> Result { method fuse_ungated (line 429) | pub fn fuse_ungated(&mut self) -> Result { method events (line 480) | pub fn events(&self) -> &[ViewpointFusionEvent] { method clear_events (line 485) | pub fn clear_events(&mut self) { method remove_viewpoint (line 490) | pub fn remove_viewpoint(&mut self, node_id: NodeId) { method clear_viewpoints (line 495) | pub fn clear_viewpoints(&mut self) { method emit_event (line 499) | fn emit_event(&mut self, event: ViewpointFusionEvent) { function make_viewpoint (line 517) | fn make_viewpoint(node_id: NodeId, angle_idx: usize, n: usize, dim: usiz... function setup_coherent_array (line 531) | fn setup_coherent_array(dim: usize) -> MultistaticArray { function fuse_produces_correct_dimension (line 548) | fn fuse_produces_correct_dimension() { function fuse_no_viewpoints_returns_error (line 560) | fn fuse_no_viewpoints_returns_error() { function fuse_coherence_gate_closed_returns_error (line 566) | fn fuse_coherence_gate_closed_returns_error() { function fuse_ungated_bypasses_coherence (line 587) | fn fuse_ungated_bypasses_coherence() { function submit_replaces_existing_viewpoint (line 608) | fn submit_replaces_existing_viewpoint() { function dimension_mismatch_returns_error (line 621) | fn dimension_mismatch_returns_error() { function snr_filter_rejects_low_quality (line 633) | fn snr_filter_rejects_low_quality() { function events_are_emitted_on_fusion (line 652) | fn events_are_emitted_on_fusion() { function remove_viewpoint_works (line 663) | fn remove_viewpoint_works() { function fused_embedding_reports_gdi (line 674) | fn fused_embedding_reports_gdi() { function compute_gdi_standalone (line 686) | fn compute_gdi_standalone() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-ruvector/src/viewpoint/geometry.rs type NodeId (line 23) | pub type NodeId = u32; type GeometricDiversityIndex (line 43) | pub struct GeometricDiversityIndex { method compute (line 66) | pub fn compute(azimuths: &[f32], node_ids: &[NodeId]) -> Option { method is_sufficient (line 119) | pub fn is_sufficient(&self) -> bool { method efficiency (line 128) | pub fn efficiency(&self) -> f32 { function angular_distance (line 139) | fn angular_distance(a: f32, b: f32) -> f32 { function compute_effective_viewpoints (line 155) | fn compute_effective_viewpoints(azimuths: &[f32], sigma: f32) -> f32 { type CramerRaoBound (line 200) | pub struct CramerRaoBound { method estimate (line 234) | pub fn estimate(target: (f32, f32), viewpoints: &[ViewpointPosition]) ... method estimate_regularised (line 293) | pub fn estimate_regularised( type ViewpointPosition (line 213) | pub struct ViewpointPosition { function gdi_uniform_spacing_is_optimal (line 364) | fn gdi_uniform_spacing_is_optimal() { function gdi_clustered_viewpoints_have_low_value (line 379) | fn gdi_clustered_viewpoints_have_low_value() { function gdi_insufficient_viewpoints_returns_none (line 392) | fn gdi_insufficient_viewpoints_returns_none() { function gdi_efficiency_is_bounded (line 398) | fn gdi_efficiency_is_bounded() { function gdi_is_sufficient_for_uniform_layout (line 407) | fn gdi_is_sufficient_for_uniform_layout() { function gdi_worst_pair_is_closest (line 415) | fn gdi_worst_pair_is_closest() { function angular_distance_wraps_correctly (line 429) | fn angular_distance_wraps_correctly() { function effective_viewpoints_all_identical_equals_one (line 438) | fn effective_viewpoints_all_identical_equals_one() { function crb_decreases_with_more_viewpoints (line 449) | fn crb_decreases_with_more_viewpoints() { function crb_too_few_viewpoints_returns_none (line 475) | fn crb_too_few_viewpoints_returns_none() { function crb_regularised_returns_result (line 485) | fn crb_regularised_returns_result() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/adaptive_classifier.rs constant N_FEATURES (line 21) | const N_FEATURES: usize = 15; constant CLASSES (line 24) | pub const CLASSES: &[&str] = &["absent", "present_still", "present_movin... constant N_CLASSES (line 25) | const N_CLASSES: usize = 4; function features_from_frame (line 28) | pub fn features_from_frame(frame: &serde_json::Value) -> [f64; N_FEATURE... function features_from_runtime (line 58) | pub fn features_from_runtime(feat: &serde_json::Value, amps: &[f64]) -> ... function subcarrier_stats (line 75) | fn subcarrier_stats(amps: &[f64]) -> (f64, f64, f64, f64, f64, f64, f64,... type ClassStats (line 114) | pub struct ClassStats { type AdaptiveModel (line 124) | pub struct AdaptiveModel { method classify (line 154) | pub fn classify(&self, raw_features: &[f64; N_FEATURES]) -> (&'static ... method save (line 193) | pub fn save(&self, path: &Path) -> std::io::Result<()> { method load (line 200) | pub fn load(path: &Path) -> std::io::Result { method default (line 139) | fn default() -> Self { type Sample (line 210) | struct Sample { function load_recording (line 216) | fn load_recording(path: &Path, class_idx: usize) -> Vec { function classify_recording_name (line 232) | fn classify_recording_name(name: &str) -> Option { function train_from_recordings (line 248) | pub fn train_from_recordings(recordings_dir: &Path) -> Result PathBuf { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/dataset.rs type DatasetError (line 16) | pub enum DatasetError { method fmt (line 24) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method source (line 35) | fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { method from (line 41) | fn from(e: io::Error) -> Self { Self::Io(e) } type Result (line 44) | pub type Result = std::result::Result; type NpyArray (line 50) | pub struct NpyArray { method len (line 56) | pub fn len(&self) -> usize { self.data.len() } method is_empty (line 57) | pub fn is_empty(&self) -> bool { self.data.is_empty() } method ndim (line 58) | pub fn ndim(&self) -> usize { self.shape.len() } type NpyReader (line 64) | pub struct NpyReader; method read_file (line 67) | pub fn read_file(path: &Path) -> Result { method parse (line 71) | pub fn parse(buf: &[u8]) -> Result { method extract_field (line 128) | fn extract_field(hdr: &str, field: &str) -> Result { method parse_shape (line 139) | fn parse_shape(hdr: &str) -> Result> { type MatReader (line 156) | pub struct MatReader; method read_file (line 169) | pub fn read_file(path: &Path) -> Result> { method parse (line 173) | pub fn parse(buf: &[u8]) -> Result> { method read_tag (line 193) | fn read_tag(buf: &[u8], off: usize, swap: bool) -> Result<(u32, usize,... method parse_matrix (line 202) | fn parse_matrix(buf: &[u8], swap: bool) -> Result<(String, NpyArray)> { method u32 (line 248) | fn u32(b: &[u8], o: usize, s: bool) -> u32 { method i32 (line 252) | fn i32(b: &[u8], o: usize, s: bool) -> i32 { method f64 (line 256) | fn f64(b: &[u8], o: usize, s: bool) -> f64 { method f32 (line 260) | fn f32(b: &[u8], o: usize, s: bool) -> f32 { constant MI_INT8 (line 158) | const MI_INT8: u32 = 1; constant MI_UINT8 (line 159) | const MI_UINT8: u32 = 2; constant MI_INT16 (line 160) | const MI_INT16: u32 = 3; constant MI_UINT16 (line 161) | const MI_UINT16: u32 = 4; constant MI_INT32 (line 162) | const MI_INT32: u32 = 5; constant MI_UINT32 (line 163) | const MI_UINT32: u32 = 6; constant MI_SINGLE (line 164) | const MI_SINGLE: u32 = 7; constant MI_DOUBLE (line 165) | const MI_DOUBLE: u32 = 9; constant MI_MATRIX (line 166) | const MI_MATRIX: u32 = 14; type CsiSample (line 270) | pub struct CsiSample { type BodyPartUV (line 278) | pub struct BodyPartUV { type PoseLabel (line 286) | pub struct PoseLabel { method default (line 293) | fn default() -> Self { type SubcarrierResampler (line 301) | pub struct SubcarrierResampler; method resample (line 305) | pub fn resample(input: &[f32], from: usize, to: usize) -> Vec { method resample_phase (line 311) | pub fn resample_phase(input: &[f32], from: usize, to: usize) -> Vec Vec { method interpolate (line 334) | fn interpolate(input: &[f32], from: usize, to: usize) -> Vec { method phase_unwrap (line 346) | fn phase_unwrap(phase: &[f32]) -> Vec { type MmFiDataset (line 365) | pub struct MmFiDataset { constant SUBCARRIERS (line 373) | pub const SUBCARRIERS: usize = 56; method load_from_directory (line 376) | pub fn load_from_directory(path: &Path) -> Result { method resample_subcarriers (line 414) | pub fn resample_subcarriers(&mut self, from: usize, to: usize) { method iter_windows (line 422) | pub fn iter_windows(&self, ws: usize, stride: usize) -> impl Iterator<... method split_train_val (line 429) | pub fn split_train_val(self, ratio: f32) -> (Self, Self) { method len (line 440) | pub fn len(&self) -> usize { self.csi_frames.len() } method is_empty (line 441) | pub fn is_empty(&self) -> bool { self.csi_frames.is_empty() } method get (line 442) | pub fn get(&self, idx: usize) -> Option<(&CsiSample, &PoseLabel)> { method find (line 446) | fn find(dir: &Path, names: &[&str]) -> Result { type WiPoseDataset (line 456) | pub struct WiPoseDataset { constant RAW_SUBCARRIERS (line 464) | pub const RAW_SUBCARRIERS: usize = 30; constant TARGET_SUBCARRIERS (line 465) | pub const TARGET_SUBCARRIERS: usize = 56; constant RAW_KEYPOINTS (line 466) | pub const RAW_KEYPOINTS: usize = 18; constant COCO_KEYPOINTS (line 467) | pub const COCO_KEYPOINTS: usize = 17; method load_from_mat (line 469) | pub fn load_from_mat(path: &Path) -> Result { method map_18_to_17 (line 496) | fn map_18_to_17(data: &[f32]) -> PoseLabel { method len (line 505) | pub fn len(&self) -> usize { self.csi_frames.len() } method is_empty (line 506) | pub fn is_empty(&self) -> bool { self.csi_frames.is_empty() } type DataSource (line 512) | pub enum DataSource { type DataConfig (line 519) | pub struct DataConfig { method default (line 528) | fn default() -> Self { type TrainingSample (line 535) | pub struct TrainingSample { type DataPipeline (line 542) | pub struct DataPipeline { config: DataConfig } method new (line 545) | pub fn new(config: DataConfig) -> Self { Self { config } } method load (line 547) | pub fn load(&self) -> Result> { method load_source (line 554) | fn load_source(&self, src: &DataSource, out: &mut Vec)... method extract_windows (line 573) | fn extract_windows(&self, frames: &[CsiSample], labels: &[PoseLabel], method normalize_samples (line 585) | fn normalize_samples(samples: &mut [TrainingSample]) { function make_npy_f32 (line 618) | fn make_npy_f32(shape: &[usize], data: &[f32]) -> Vec { function make_npy_f64 (line 634) | fn make_npy_f64(shape: &[usize], data: &[f64]) -> Vec { function npy_header_parse_1d (line 651) | fn npy_header_parse_1d() { function npy_header_parse_2d (line 662) | fn npy_header_parse_2d() { function npy_header_parse_3d (line 672) | fn npy_header_parse_3d() { function subcarrier_resample_passthrough (line 683) | fn subcarrier_resample_passthrough() { function subcarrier_resample_upsample (line 690) | fn subcarrier_resample_upsample() { function subcarrier_resample_downsample (line 703) | fn subcarrier_resample_downsample() { function subcarrier_resample_preserves_dc (line 713) | fn subcarrier_resample_preserves_dc() { function mmfi_sample_structure (line 722) | fn mmfi_sample_structure() { function wipose_zero_pad (line 729) | fn wipose_zero_pad() { function wipose_keypoint_mapping (line 740) | fn wipose_keypoint_mapping() { function train_val_split_ratio (line 752) | fn train_val_split_ratio() { function sliding_window_count (line 765) | fn sliding_window_count() { function sliding_window_overlap (line 776) | fn sliding_window_overlap() { function data_pipeline_normalize (line 790) | fn data_pipeline_normalize() { function pose_label_default (line 808) | fn pose_label_default() { function body_part_uv_round_trip (line 819) | fn body_part_uv_round_trip() { function combined_source_merges_datasets (line 830) | fn combined_source_merges_datasets() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/embedding.rs type SimpleRng (line 19) | struct SimpleRng { method new (line 24) | fn new(seed: u64) -> Self { method next_u64 (line 27) | fn next_u64(&mut self) -> u64 { method next_f32_unit (line 36) | fn next_f32_unit(&mut self) -> f32 { method next_gaussian (line 40) | fn next_gaussian(&mut self) -> f32 { type EmbeddingConfig (line 51) | pub struct EmbeddingConfig { method default (line 63) | fn default() -> Self { type ProjectionHead (line 72) | pub struct ProjectionHead { method new (line 84) | pub fn new(config: EmbeddingConfig) -> Self { method zeros (line 95) | pub fn zeros(config: EmbeddingConfig) -> Self { method with_lora (line 106) | pub fn with_lora(config: EmbeddingConfig, rank: usize) -> Self { method forward (line 120) | pub fn forward(&self, x: &[f32]) -> Vec { method flatten_into (line 146) | pub fn flatten_into(&self, out: &mut Vec) { method unflatten_from (line 152) | pub fn unflatten_from(data: &[f32], config: &EmbeddingConfig) -> (Self... method param_count (line 162) | pub fn param_count(&self) -> usize { method merge_lora (line 168) | pub fn merge_lora(&mut self) { method unmerge_lora (line 196) | pub fn unmerge_lora(&mut self) { method freeze_base_train_lora (line 225) | pub fn freeze_base_train_lora(&self, input: &[f32]) -> Vec { method lora_param_count (line 247) | pub fn lora_param_count(&self) -> usize { method flatten_lora (line 254) | pub fn flatten_lora(&self) -> Vec { method unflatten_lora (line 268) | pub fn unflatten_lora(&mut self, data: &[f32]) { type CsiAugmenter (line 301) | pub struct CsiAugmenter { method new (line 315) | pub fn new() -> Self { method augment_pair (line 327) | pub fn augment_pair( method apply_temporal_jitter (line 349) | fn apply_temporal_jitter( method apply_subcarrier_mask (line 368) | fn apply_subcarrier_mask(&self, window: &mut [Vec], rng: &mut Sim... method apply_gaussian_noise (line 378) | fn apply_gaussian_noise(&self, window: &mut [Vec], rng: &mut Simp... method apply_phase_rotation (line 386) | fn apply_phase_rotation(&self, window: &mut [Vec], rng: &mut Simp... method apply_amplitude_scaling (line 396) | fn apply_amplitude_scaling(&self, window: &mut [Vec], rng: &mut S... method default (line 408) | fn default() -> Self { Self::new() } function l2_normalize (line 414) | fn l2_normalize(v: &mut [f32]) { function cosine_similarity (line 425) | fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 { function info_nce_loss (line 439) | pub fn info_nce_loss( type IndexType (line 473) | pub enum IndexType { type IndexEntry (line 481) | pub struct IndexEntry { type SearchResult (line 491) | pub struct SearchResult { type FingerprintIndex (line 504) | pub struct FingerprintIndex { method new (line 510) | pub fn new(index_type: IndexType) -> Self { method insert (line 515) | pub fn insert(&mut self, embedding: Vec, metadata: String, timest... method insert_with_drift (line 527) | pub fn insert_with_drift( method anomalous_count (line 544) | pub fn anomalous_count(&self) -> usize { method search (line 549) | pub fn search(&self, query: &[f32], top_k: usize) -> Vec { method len (line 563) | pub fn len(&self) -> usize { self.entries.len() } method is_empty (line 566) | pub fn is_empty(&self) -> bool { self.entries.is_empty() } method is_anomaly (line 569) | pub fn is_anomaly(&self, query: &[f32], threshold: f32) -> bool { type PoseEncoder (line 583) | pub struct PoseEncoder { method new (line 591) | pub fn new(d_proj: usize) -> Self { method forward (line 600) | pub fn forward(&self, pose_flat: &[f32]) -> Vec { method flatten_into (line 610) | pub fn flatten_into(&self, out: &mut Vec) { method unflatten_from (line 616) | pub fn unflatten_from(data: &[f32], d_proj: usize) -> (Self, usize) { method param_count (line 626) | pub fn param_count(&self) -> usize { function cross_modal_loss (line 633) | pub fn cross_modal_loss( type EmbeddingExtractor (line 644) | pub struct EmbeddingExtractor { method new (line 654) | pub fn new(t_config: TransformerConfig, e_config: EmbeddingConfig) -> ... method with_drift_detection (line 664) | pub fn with_drift_detection( method extract (line 681) | pub fn extract(&mut self, csi_features: &[Vec]) -> Vec { method extract_batch (line 706) | pub fn extract_batch(&mut self, batch: &[Vec>]) -> Vec bool { method drift_info (line 720) | pub fn drift_info(&self) -> Option { method param_count (line 725) | pub fn param_count(&self) -> usize { method flatten_weights (line 730) | pub fn flatten_weights(&self) -> Vec { method unflatten_weights (line 737) | pub fn unflatten_weights(&mut self, params: &[f32]) -> Result<(), Stri... function csi_feature_stats (line 762) | fn csi_feature_stats(features: &[Vec]) -> (f32, f32) { type HardNegativeMiner (line 786) | pub struct HardNegativeMiner { method new (line 794) | pub fn new(ratio: f32, warmup_epochs: usize) -> Self { method mine (line 804) | pub fn mine(&self, sim_matrix: &[Vec], epoch: usize) -> Vec<(usiz... function info_nce_loss_mined (line 839) | pub fn info_nce_loss_mined( function validate_quantized_embeddings (line 915) | pub fn validate_quantized_embeddings( function rank_array (line 957) | fn rank_array(values: &[f32]) -> Vec { function small_config (line 983) | fn small_config() -> TransformerConfig { function small_embed_config (line 993) | fn small_embed_config() -> EmbeddingConfig { function make_csi (line 1002) | fn make_csi(n_pairs: usize, n_sub: usize, seed: u64) -> Vec> { function test_projection_head_output_shape (line 1012) | fn test_projection_head_output_shape() { function test_projection_head_l2_normalized (line 1021) | fn test_projection_head_l2_normalized() { function test_projection_head_weight_roundtrip (line 1034) | fn test_projection_head_weight_roundtrip() { function test_info_nce_loss_positive_pairs (line 1055) | fn test_info_nce_loss_positive_pairs() { function test_info_nce_loss_random_pairs (line 1069) | fn test_info_nce_loss_random_pairs() { function test_augmenter_produces_different_views (line 1094) | fn test_augmenter_produces_different_views() { function test_augmenter_preserves_shape (line 1113) | fn test_augmenter_preserves_shape() { function test_embedding_extractor_output_shape (line 1130) | fn test_embedding_extractor_output_shape() { function test_embedding_extractor_weight_roundtrip (line 1138) | fn test_embedding_extractor_weight_roundtrip() { function test_fingerprint_index_insert_search (line 1157) | fn test_fingerprint_index_insert_search() { function test_fingerprint_index_anomaly_detection (line 1177) | fn test_fingerprint_index_anomaly_detection() { function test_fingerprint_index_types (line 1195) | fn test_fingerprint_index_types() { function test_pose_encoder_output_shape (line 1215) | fn test_pose_encoder_output_shape() { function test_pose_encoder_l2_normalized (line 1223) | fn test_pose_encoder_l2_normalized() { function test_cross_modal_loss_aligned_pairs (line 1235) | fn test_cross_modal_loss_aligned_pairs() { function test_quantized_embedding_rank_correlation (line 1263) | fn test_quantized_embedding_rank_correlation() { function test_transformer_embed_shape (line 1280) | fn test_transformer_embed_shape() { function test_projection_head_with_lora_changes_output (line 1293) | fn test_projection_head_with_lora_changes_output() { function test_projection_head_merge_unmerge_roundtrip (line 1323) | fn test_projection_head_merge_unmerge_roundtrip() { function test_projection_head_lora_param_count (line 1352) | fn test_projection_head_lora_param_count() { function test_projection_head_flatten_unflatten_lora (line 1364) | fn test_projection_head_flatten_unflatten_lora() { function test_hard_negative_miner_warmup (line 1395) | fn test_hard_negative_miner_warmup() { function test_hard_negative_miner_selects_hardest (line 1409) | fn test_hard_negative_miner_selects_hardest() { function test_info_nce_loss_mined_equals_standard_during_warmup (line 1427) | fn test_info_nce_loss_mined_equals_standard_during_warmup() { function test_embedding_extractor_drift_detection (line 1450) | fn test_embedding_extractor_drift_detection() { function test_fingerprint_index_anomalous_flag (line 1472) | fn test_fingerprint_index_anomalous_flag() { function test_drift_detector_stable_input_no_drift (line 1487) | fn test_drift_detector_stable_input_no_drift() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/graph_transformer.rs type Rng64 (line 8) | struct Rng64 { state: u64 } method new (line 11) | fn new(seed: u64) -> Self { method next_u64 (line 14) | fn next_u64(&mut self) -> u64 { method next_f32 (line 20) | fn next_f32(&mut self) -> f32 { function relu (line 27) | fn relu(x: f32) -> f32 { if x > 0.0 { x } else { 0.0 } } function sigmoid (line 30) | fn sigmoid(x: f32) -> f32 { function softmax (line 36) | fn softmax(scores: &[f32], out: &mut [f32]) { type Linear (line 52) | pub struct Linear { method new (line 61) | pub fn new(in_features: usize, out_features: usize) -> Self { method with_seed (line 65) | pub fn with_seed(in_features: usize, out_features: usize, seed: u64) -... method zeros (line 74) | pub fn zeros(in_features: usize, out_features: usize) -> Self { method forward (line 82) | pub fn forward(&self, input: &[f32]) -> Vec { method weights (line 93) | pub fn weights(&self) -> &[Vec] { &self.weights } method set_weights (line 94) | pub fn set_weights(&mut self, w: Vec>) { method set_bias (line 99) | pub fn set_bias(&mut self, b: Vec) { method flatten_into (line 105) | pub fn flatten_into(&self, out: &mut Vec) { method unflatten_from (line 113) | pub fn unflatten_from(data: &[f32], in_f: usize, out_f: usize) -> (Sel... method param_count (line 126) | pub fn param_count(&self) -> usize { type AntennaGraph (line 136) | pub struct AntennaGraph { method new (line 143) | pub fn new(n_tx: usize, n_rx: usize) -> Self { method n_nodes (line 158) | pub fn n_nodes(&self) -> usize { self.n_pairs } method adjacency_matrix (line 159) | pub fn adjacency_matrix(&self) -> &Vec> { &self.adjacency } method n_tx (line 160) | pub fn n_tx(&self) -> usize { self.n_tx } method n_rx (line 161) | pub fn n_rx(&self) -> usize { self.n_rx } type BodyGraph (line 172) | pub struct BodyGraph { method new (line 190) | pub fn new() -> Self { method adjacency_matrix (line 196) | pub fn adjacency_matrix(&self) -> &[[f32; 17]; 17] { &self.adjacency } method edge_list (line 197) | pub fn edge_list(&self) -> &Vec<(usize, usize)> { &self.edges } method n_nodes (line 198) | pub fn n_nodes(&self) -> usize { 17 } method n_edges (line 199) | pub fn n_edges(&self) -> usize { self.edges.len() } method degrees (line 202) | pub fn degrees(&self) -> [f32; 17] { method normalized_adjacency (line 208) | pub fn normalized_adjacency(&self) -> [[f32; 17]; 17] { constant COCO_KEYPOINT_NAMES (line 177) | pub const COCO_KEYPOINT_NAMES: [&str; 17] = [ constant COCO_EDGES (line 184) | const COCO_EDGES: [(usize, usize); 16] = [ method default (line 220) | fn default() -> Self { Self::new() } type CrossAttention (line 227) | pub struct CrossAttention { method new (line 233) | pub fn new(d_model: usize, n_heads: usize) -> Self { method forward (line 246) | pub fn forward(&self, query: &[Vec], key: &[Vec], value: &[V... method d_model (line 281) | pub fn d_model(&self) -> usize { self.d_model } method n_heads (line 282) | pub fn n_heads(&self) -> usize { self.n_heads } method flatten_into (line 285) | pub fn flatten_into(&self, out: &mut Vec) { method unflatten_from (line 293) | pub fn unflatten_from(data: &[f32], d_model: usize, n_heads: usize) ->... method param_count (line 308) | pub fn param_count(&self) -> usize { type GraphMessagePassing (line 318) | pub struct GraphMessagePassing { method new (line 326) | pub fn new(in_features: usize, out_features: usize, graph: &BodyGraph)... method forward (line 332) | pub fn forward(&self, node_features: &[Vec]) -> Vec> { method in_features (line 343) | pub fn in_features(&self) -> usize { self.in_features } method out_features (line 344) | pub fn out_features(&self) -> usize { self.out_features } method flatten_into (line 347) | pub fn flatten_into(&self, out: &mut Vec) { method unflatten_from (line 352) | pub fn unflatten_from(&mut self, data: &[f32]) -> usize { method param_count (line 359) | pub fn param_count(&self) -> usize { self.weight.param_count() } type GnnStack (line 364) | pub struct GnnStack { pub(crate) layers: Vec } method new (line 367) | pub fn new(in_f: usize, out_f: usize, n: usize, g: &BodyGraph) -> Self { method forward (line 373) | pub fn forward(&self, feats: &[Vec]) -> Vec> { method flatten_into (line 379) | pub fn flatten_into(&self, out: &mut Vec) { method unflatten_from (line 383) | pub fn unflatten_from(&mut self, data: &[f32]) -> usize { method param_count (line 391) | pub fn param_count(&self) -> usize { type TransformerConfig (line 400) | pub struct TransformerConfig { method default (line 409) | fn default() -> Self { type PoseOutput (line 416) | pub struct PoseOutput { type CsiToPoseTransformer (line 427) | pub struct CsiToPoseTransformer { method new (line 438) | pub fn new(config: TransformerConfig) -> Self { method zeros (line 457) | pub fn zeros(config: TransformerConfig) -> Self { method forward (line 473) | pub fn forward(&self, csi_features: &[Vec]) -> PoseOutput { method config (line 487) | pub fn config(&self) -> &TransformerConfig { &self.config } method embed (line 492) | pub fn embed(&self, csi_features: &[Vec]) -> Vec> { method flatten_weights (line 502) | pub fn flatten_weights(&self) -> Vec { method unflatten_weights (line 516) | pub fn unflatten_weights(&mut self, params: &[f32]) -> Result<(), Stri... method param_count (line 561) | pub fn param_count(&self) -> usize { function body_graph_has_17_nodes (line 578) | fn body_graph_has_17_nodes() { function body_graph_has_16_edges (line 583) | fn body_graph_has_16_edges() { function body_graph_adjacency_symmetric (line 590) | fn body_graph_adjacency_symmetric() { function body_graph_self_loops_and_specific_edges (line 599) | fn body_graph_self_loops_and_specific_edges() { function antenna_graph_node_count (line 610) | fn antenna_graph_node_count() { function antenna_graph_adjacency (line 615) | fn antenna_graph_adjacency() { function cross_attention_output_shape (line 624) | fn cross_attention_output_shape() { function cross_attention_single_head_vs_multi (line 632) | fn cross_attention_single_head_vs_multi() { function scaled_dot_product_softmax_sums_to_one (line 641) | fn scaled_dot_product_softmax_sums_to_one() { function gnn_message_passing_shape (line 651) | fn gnn_message_passing_shape() { function gnn_preserves_isolated_node (line 659) | fn gnn_preserves_isolated_node() { function linear_layer_output_size (line 671) | fn linear_layer_output_size() { function linear_layer_zero_weights (line 676) | fn linear_layer_zero_weights() { function linear_layer_set_weights_identity (line 682) | fn linear_layer_set_weights_identity() { function transformer_config_defaults (line 690) | fn transformer_config_defaults() { function transformer_forward_output_17_keypoints (line 697) | fn transformer_forward_output_17_keypoints() { function transformer_keypoints_are_finite (line 708) | fn transformer_keypoints_are_finite() { function relu_activation (line 722) | fn relu_activation() { function sigmoid_bounds (line 731) | fn sigmoid_bounds() { function deterministic_rng_and_linear (line 738) | fn deterministic_rng_and_linear() { function body_graph_normalized_adjacency_finite (line 747) | fn body_graph_normalized_adjacency_finite() { function cross_attention_empty_keys (line 756) | fn cross_attention_empty_keys() { function softmax_edge_cases (line 764) | fn softmax_edge_cases() { function linear_flatten_unflatten_roundtrip (line 779) | fn linear_flatten_unflatten_roundtrip() { function cross_attention_flatten_unflatten_roundtrip (line 791) | fn cross_attention_flatten_unflatten_roundtrip() { function transformer_weight_roundtrip (line 811) | fn transformer_weight_roundtrip() { function transformer_param_count_positive (line 837) | fn transformer_param_count_positive() { function gnn_stack_flatten_unflatten (line 845) | fn gnn_stack_flatten_unflatten() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/main.rs type Args (line 60) | struct Args { type Esp32Frame (line 155) | struct Esp32Frame { type SensingUpdate (line 170) | struct SensingUpdate { type NodeInfo (line 219) | struct NodeInfo { type FeatureInfo (line 228) | struct FeatureInfo { type ClassificationInfo (line 239) | struct ClassificationInfo { type SignalField (line 246) | struct SignalField { type PoseKeypoint (line 253) | struct PoseKeypoint { type PersonDetection (line 263) | struct PersonDetection { type BoundingBox (line 272) | struct BoundingBox { type NodeState (line 282) | struct NodeState { method new (line 328) | fn new() -> Self { method update_coherence (line 361) | fn update_coherence(&mut self, motion_energy: f64) { method ema_alpha (line 383) | fn ema_alpha(&self) -> f64 { constant TEMPORAL_EMA_ALPHA_DEFAULT (line 317) | const TEMPORAL_EMA_ALPHA_DEFAULT: f64 = 0.15; constant TEMPORAL_EMA_ALPHA_LOW_COHERENCE (line 319) | const TEMPORAL_EMA_ALPHA_LOW_COHERENCE: f64 = 0.05; constant COHERENCE_LOW_THRESHOLD (line 321) | const COHERENCE_LOW_THRESHOLD: f64 = 0.3; constant MAX_BONE_CHANGE_RATIO (line 323) | const MAX_BONE_CHANGE_RATIO: f64 = 0.20; constant COHERENCE_WINDOW (line 325) | const COHERENCE_WINDOW: usize = 20; type AppStateInner (line 393) | struct AppStateInner { method effective_source (line 494) | fn effective_source(&self) -> String { constant ESP32_OFFLINE_TIMEOUT (line 488) | const ESP32_OFFLINE_TIMEOUT: std::time::Duration = std::time::Duration::... constant FRAME_HISTORY_CAPACITY (line 508) | const FRAME_HISTORY_CAPACITY: usize = 100; type SharedState (line 510) | type SharedState = Arc>; type Esp32VitalsPacket (line 516) | struct Esp32VitalsPacket { function parse_esp32_vitals (line 531) | fn parse_esp32_vitals(buf: &[u8]) -> Option { type WasmEvent (line 569) | struct WasmEvent { type WasmOutputPacket (line 576) | struct WasmOutputPacket { function parse_wasm_output (line 583) | fn parse_wasm_output(buf: &[u8]) -> Option { function parse_esp32_frame (line 619) | fn parse_esp32_frame(buf: &[u8]) -> Option { function generate_signal_field (line 695) | fn generate_signal_field( function estimate_breathing_rate_hz (line 792) | fn estimate_breathing_rate_hz(frame_history: &VecDeque>, sample... function compute_subcarrier_importance_weights (line 874) | fn compute_subcarrier_importance_weights(sensitivity: &[f64]) -> Vec { function compute_subcarrier_variances (line 902) | fn compute_subcarrier_variances(frame_history: &VecDeque>, n_su... function extract_features_from_frame (line 943) | fn extract_features_from_frame( function raw_classify (line 1086) | fn raw_classify(score: f64) -> String { constant DEBOUNCE_FRAMES (line 1094) | const DEBOUNCE_FRAMES: u32 = 4; constant MOTION_EMA_ALPHA (line 1096) | const MOTION_EMA_ALPHA: f64 = 0.15; constant BASELINE_EMA_ALPHA (line 1098) | const BASELINE_EMA_ALPHA: f64 = 0.003; constant BASELINE_WARMUP (line 1100) | const BASELINE_WARMUP: u64 = 50; function smooth_and_classify (line 1104) | fn smooth_and_classify(state: &mut AppStateInner, raw: &mut Classificati... function smooth_and_classify_node (line 1154) | fn smooth_and_classify_node(ns: &mut NodeState, raw: &mut Classification... function adaptive_override (line 1192) | fn adaptive_override(state: &AppStateInner, features: &FeatureInfo, clas... constant VITAL_MEDIAN_WINDOW (line 1219) | const VITAL_MEDIAN_WINDOW: usize = 21; constant VITAL_EMA_ALPHA (line 1221) | const VITAL_EMA_ALPHA: f64 = 0.02; constant HR_MAX_JUMP (line 1223) | const HR_MAX_JUMP: f64 = 8.0; constant BR_MAX_JUMP (line 1224) | const BR_MAX_JUMP: f64 = 2.0; constant HR_DEAD_BAND (line 1227) | const HR_DEAD_BAND: f64 = 2.0; constant BR_DEAD_BAND (line 1228) | const BR_DEAD_BAND: f64 = 0.5; function smooth_vitals (line 1233) | fn smooth_vitals(state: &mut AppStateInner, raw: &VitalSigns) -> VitalSi... function smooth_vitals_node (line 1291) | fn smooth_vitals_node(ns: &mut NodeState, raw: &VitalSigns) -> VitalSigns { function trimmed_mean (line 1341) | fn trimmed_mean(buf: &VecDeque) -> f64 { function parse_netsh_interfaces_output (line 1358) | fn parse_netsh_interfaces_output(output: &str) -> Option<(f64, f64, Stri... function windows_wifi_task (line 1390) | async fn windows_wifi_task(state: SharedState, tick_ms: u64) { function windows_wifi_fallback_tick (line 1609) | async fn windows_wifi_fallback_tick(state: &SharedState, seq: u32) { function probe_windows_wifi (line 1733) | async fn probe_windows_wifi() -> bool { function probe_esp32 (line 1748) | async fn probe_esp32(port: u16) -> bool { function generate_simulated_frame (line 1764) | fn generate_simulated_frame(tick: u64) -> Esp32Frame { function ws_sensing_handler (line 1793) | async fn ws_sensing_handler( function handle_ws_client (line 1800) | async fn handle_ws_client(mut socket: WebSocket, state: SharedState) { function ws_pose_handler (line 1834) | async fn ws_pose_handler( function handle_ws_pose_client (line 1841) | async fn handle_ws_pose_client(mut socket: WebSocket, state: SharedState) { function health (line 1961) | async fn health(State(state): State) -> Json) -> Json f64 { function estimate_persons_from_correlation (line 2083) | fn estimate_persons_from_correlation(frame_history: &VecDeque>)... function score_to_person_count (line 2196) | fn score_to_person_count(smoothed_score: f64, prev_count: usize) -> usize { function derive_single_person_pose (line 2240) | fn derive_single_person_pose( function derive_pose_from_sensing (line 2416) | fn derive_pose_from_sensing(update: &SensingUpdate) -> Vec, prev: &[[f64; 3]]) { function dist_f64 (line 2512) | fn dist_f64(a: &[f64; 3], b: &[f64; 3]) -> f64 { function health_live (line 2521) | async fn health_live(State(state): State) -> Json) -> Json) -> Json Json { function health_metrics (line 2569) | async fn health_metrics(State(state): State) -> Json) -> Json) -> Json) -> Json) -> Json) -> Json) -> Json) -> Json) -> Json Json { function activate_lora_profile (line 2748) | async fn activate_lora_profile( function scan_model_files (line 2764) | fn scan_model_files() -> Vec { function scan_lora_profiles (line 2796) | fn scan_lora_profiles() -> Vec { function list_recordings (line 2824) | async fn list_recordings() -> Json { function start_recording (line 2830) | async fn start_recording( function stop_recording (line 2929) | async fn stop_recording(State(state): State) -> Json Vec { function train_status (line 3034) | async fn train_status(State(state): State) -> Json) -> Json) -> Json) -> Json) -> Json u64 { function vital_signs_endpoint (line 3160) | async fn vital_signs_endpoint(State(state): State) -> Json<... function edge_vitals_endpoint (line 3184) | async fn edge_vitals_endpoint(State(state): State) -> Json<... function wasm_events_endpoint (line 3200) | async fn wasm_events_endpoint(State(state): State) -> Json<... function model_info (line 3215) | async fn model_info(State(state): State) -> Json) -> Json) -> Json) -> Json Html { function udp_receiver_task (line 3316) | async fn udp_receiver_task(state: SharedState, udp_port: u16) { function simulated_data_task (line 3719) | async fn simulated_data_task(state: SharedState, tick_ms: u64) { function broadcast_tick_task (line 3834) | async fn broadcast_tick_task(state: SharedState, tick_ms: u64) { function main (line 3855) | async fn main() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/model_manager.rs constant MODELS_DIR (line 34) | pub const MODELS_DIR: &str = "data/models"; type ModelInfo (line 40) | pub struct ModelInfo { type ActiveModelInfo (line 55) | pub struct ActiveModelInfo { type LoadedModelState (line 70) | pub struct LoadedModelState { type LoadModelRequest (line 95) | pub struct LoadModelRequest { type ActivateLoraRequest (line 101) | pub struct ActivateLoraRequest { type AppState (line 107) | pub type AppState = Arc>; function scan_models (line 112) | async fn scan_models() -> Vec { function load_model_from_disk (line 206) | fn load_model_from_disk(model_id: &str) -> Result) -> Json) -> Json) -> Json) -> Json Router { function model_info_serializes (line 448) | fn model_info_serializes() { function active_model_info_serializes (line 467) | fn active_model_info_serializes() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/recording.rs constant RECORDINGS_DIR (line 31) | pub const RECORDINGS_DIR: &str = "data/recordings"; type StartRecordingRequest (line 37) | pub struct StartRecordingRequest { type RecordingSession (line 45) | pub struct RecordingSession { type RecordedFrame (line 58) | pub struct RecordedFrame { type RecordingState (line 69) | pub struct RecordingState { method default (line 91) | fn default() -> Self { type AppState (line 107) | pub type AppState = Arc>; function maybe_record_frame (line 115) | pub async fn maybe_record_frame( function append_line (line 175) | async fn append_line(path: &Path, line: &str) -> std::io::Result<()> { function stop_recording_inner (line 190) | async fn stop_recording_inner(state: &AppState) { function list_sessions (line 226) | async fn list_sessions() -> Vec { function start_recording (line 255) | async fn start_recording( function stop_recording (line 314) | async fn stop_recording(State(state): State) -> Json Router { function default_recording_state_is_inactive (line 449) | fn default_recording_state_is_inactive() { function recorded_frame_serializes_to_json (line 456) | fn recorded_frame_serializes_to_json() { function recording_session_deserializes (line 470) | fn recording_session_deserializes() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/rvf_container.rs constant SEGMENT_MAGIC (line 18) | const SEGMENT_MAGIC: u32 = 0x5256_4653; constant SEGMENT_VERSION (line 20) | const SEGMENT_VERSION: u8 = 1; constant SEGMENT_ALIGNMENT (line 22) | const SEGMENT_ALIGNMENT: usize = 64; constant SEGMENT_HEADER_SIZE (line 24) | const SEGMENT_HEADER_SIZE: usize = 64; constant SEG_VEC (line 29) | const SEG_VEC: u8 = 0x01; constant SEG_MANIFEST (line 31) | const SEG_MANIFEST: u8 = 0x05; constant SEG_QUANT (line 33) | const SEG_QUANT: u8 = 0x06; constant SEG_META (line 35) | const SEG_META: u8 = 0x07; constant SEG_WITNESS (line 37) | const SEG_WITNESS: u8 = 0x0A; constant SEG_PROFILE (line 39) | const SEG_PROFILE: u8 = 0x0B; constant SEG_EMBED (line 41) | pub const SEG_EMBED: u8 = 0x0C; constant SEG_LORA (line 43) | pub const SEG_LORA: u8 = 0x0D; constant CRC32_TABLE (line 49) | const CRC32_TABLE: [u32; 256] = { function crc32 (line 70) | fn crc32(data: &[u8]) -> u32 { function crc32_content_hash (line 82) | fn crc32_content_hash(data: &[u8]) -> [u8; 16] { type SegmentHeader (line 109) | pub struct SegmentHeader { method new (line 128) | fn new(seg_type: u8, segment_id: u64) -> Self { method to_bytes (line 148) | fn to_bytes(&self) -> [u8; 64] { method from_bytes (line 168) | fn from_bytes(data: &[u8; 64]) -> Self { type VitalSignConfig (line 195) | pub struct VitalSignConfig { method default (line 213) | fn default() -> Self { type RvfContainerInfo (line 230) | pub struct RvfContainerInfo { type RvfBuilder (line 245) | pub struct RvfBuilder { method new (line 252) | pub fn new() -> Self { method add_manifest (line 260) | pub fn add_manifest(&mut self, model_id: &str, version: &str, descript... method add_weights (line 274) | pub fn add_weights(&mut self, weights: &[f32]) { method add_metadata (line 283) | pub fn add_metadata(&mut self, metadata: &serde_json::Value) { method add_vital_config (line 289) | pub fn add_vital_config(&mut self, config: &VitalSignConfig) { method add_quant_info (line 295) | pub fn add_quant_info(&mut self, quant_type: &str, scale: f32, zero_po... method add_raw_segment (line 307) | pub fn add_raw_segment(&mut self, seg_type: u8, payload: &[u8]) { method add_lora_profile (line 314) | pub fn add_lora_profile(&mut self, name: &str, lora_weights: &[f32]) { method add_embedding (line 328) | pub fn add_embedding(&mut self, config_json: &serde_json::Value, proj_... method add_witness (line 341) | pub fn add_witness(&mut self, training_hash: &str, metrics: &serde_jso... method build (line 351) | pub fn build(&self) -> Vec { method write_to_file (line 372) | pub fn write_to_file(&self, path: &std::path::Path) -> std::io::Result... method push_segment (line 382) | fn push_segment(&mut self, seg_type: u8, payload: &[u8]) { method default (line 418) | fn default() -> Self { function align_up (line 424) | fn align_up(size: usize) -> usize { type RvfReader (line 433) | pub struct RvfReader { method from_bytes (line 440) | pub fn from_bytes(data: &[u8]) -> Result { method from_file (line 507) | pub fn from_file(path: &std::path::Path) -> Result { method find_segment (line 514) | pub fn find_segment(&self, seg_type: u8) -> Option<&[u8]> { method manifest (line 522) | pub fn manifest(&self) -> Option { method weights (line 528) | pub fn weights(&self) -> Option> { method metadata (line 541) | pub fn metadata(&self) -> Option { method vital_config (line 547) | pub fn vital_config(&self) -> Option { method quant_info (line 553) | pub fn quant_info(&self) -> Option { method witness (line 559) | pub fn witness(&self) -> Option { method embedding (line 565) | pub fn embedding(&self) -> Option<(serde_json::Value, Vec)> { method lora_profile (line 588) | pub fn lora_profile(&self, name: &str) -> Option> { method lora_profiles (line 614) | pub fn lora_profiles(&self) -> Vec { method segment_count (line 632) | pub fn segment_count(&self) -> usize { method total_size (line 637) | pub fn total_size(&self) -> usize { method info (line 642) | pub fn info(&self) -> RvfContainerInfo { method segments (line 656) | pub fn segments(&self) -> impl Iterator { function crc32_known_values (line 668) | fn crc32_known_values() { function crc32_empty (line 675) | fn crc32_empty() { function header_round_trip (line 681) | fn header_round_trip() { function header_size_is_64 (line 693) | fn header_size_is_64() { function header_field_offsets (line 699) | fn header_field_offsets() { function build_empty_container (line 732) | fn build_empty_container() { function manifest_round_trip (line 743) | fn manifest_round_trip() { function weights_round_trip (line 760) | fn weights_round_trip() { function metadata_round_trip (line 776) | fn metadata_round_trip() { function vital_config_round_trip (line 795) | fn vital_config_round_trip() { function quant_info_round_trip (line 818) | fn quant_info_round_trip() { function witness_round_trip (line 830) | fn witness_round_trip() { function full_container_round_trip (line 848) | fn full_container_round_trip() { function file_round_trip (line 893) | fn file_round_trip() { function invalid_magic_rejected (line 919) | fn invalid_magic_rejected() { function truncated_payload_rejected (line 929) | fn truncated_payload_rejected() { function content_hash_integrity (line 943) | fn content_hash_integrity() { function alignment_for_various_payload_sizes (line 958) | fn alignment_for_various_payload_sizes() { function segment_ids_are_monotonic (line 973) | fn segment_ids_are_monotonic() { function empty_weights (line 987) | fn empty_weights() { function info_reports_correctly (line 998) | fn info_reports_correctly() { function test_rvf_embedding_segment_roundtrip (line 1016) | fn test_rvf_embedding_segment_roundtrip() { function test_rvf_lora_profile_roundtrip (line 1047) | fn test_rvf_lora_profile_roundtrip() { function test_rvf_multiple_lora_profiles (line 1073) | fn test_rvf_multiple_lora_profiles() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/rvf_pipeline.rs constant SEG_INDEX (line 13) | pub const SEG_INDEX: u8 = 0x02; constant SEG_OVERLAY (line 15) | pub const SEG_OVERLAY: u8 = 0x03; constant SEG_AGGREGATE_WEIGHTS (line 17) | pub const SEG_AGGREGATE_WEIGHTS: u8 = 0x36; constant SEG_CRYPTO (line 19) | pub const SEG_CRYPTO: u8 = 0x0C; constant SEG_WASM (line 21) | pub const SEG_WASM: u8 = 0x10; constant SEG_DASHBOARD (line 23) | pub const SEG_DASHBOARD: u8 = 0x11; type HnswNode (line 29) | pub struct HnswNode { type HnswLayer (line 37) | pub struct HnswLayer { type HnswIndex (line 43) | pub struct HnswIndex { method to_bytes (line 61) | pub fn to_bytes(&self) -> Vec { method from_bytes (line 86) | pub fn from_bytes(data: &[u8]) -> Result { type AdjacencyList (line 147) | pub struct AdjacencyList { type Partition (line 154) | pub struct Partition { type OverlayGraph (line 161) | pub struct OverlayGraph { method to_bytes (line 172) | pub fn to_bytes(&self) -> Vec { method from_bytes (line 193) | pub fn from_bytes(data: &[u8]) -> Result { method write_adj (line 220) | fn write_adj(buf: &mut Vec, adj: &AdjacencyList) { method read_adj (line 230) | fn read_adj(data: &[u8], off: &mut usize) -> Result Result { method read_u64 (line 252) | fn read_u64(data: &[u8], off: &mut usize) -> Result { method read_f32 (line 261) | fn read_f32(data: &[u8], off: &mut usize) -> Result { type RvfBuildInfo (line 275) | pub struct RvfBuildInfo { type RvfModelBuilder (line 285) | pub struct RvfModelBuilder { method new (line 303) | pub fn new(model_name: &str, version: &str) -> Self { method set_weights (line 322) | pub fn set_weights(&mut self, weights: &[f32]) -> &mut Self { method set_hnsw_index (line 328) | pub fn set_hnsw_index(&mut self, index: HnswIndex) -> &mut Self { method set_overlay (line 334) | pub fn set_overlay(&mut self, overlay: OverlayGraph) -> &mut Self { method set_quantization (line 340) | pub fn set_quantization(&mut self, mode: &str, scale: f32, zero_point:... method add_sona_profile (line 348) | pub fn add_sona_profile( method set_training_proof (line 360) | pub fn set_training_proof( method set_vital_config (line 371) | pub fn set_vital_config( method set_model_profile (line 383) | pub fn set_model_profile( method build (line 398) | pub fn build(&self) -> Result, String> { method write_to_file (line 471) | pub fn write_to_file(&self, path: &Path) -> Result<(), String> { method build_info (line 478) | pub fn build_info(&self) -> RvfBuildInfo { function seg_type_name (line 501) | fn seg_type_name(t: u8) -> String { type LayerAData (line 523) | pub struct LayerAData { type LayerBData (line 532) | pub struct LayerBData { type LayerCData (line 539) | pub struct LayerCData { type ProgressiveLoader (line 547) | pub struct ProgressiveLoader { method new (line 556) | pub fn new(data: &[u8]) -> Result { method load_layer_a (line 567) | pub fn load_layer_a(&mut self) -> Result { method load_layer_b (line 586) | pub fn load_layer_b(&mut self) -> Result { method load_layer_c (line 619) | pub fn load_layer_c(&mut self) -> Result { method loading_progress (line 651) | pub fn loading_progress(&self) -> f32 { method layer_status (line 666) | pub fn layer_status(&self) -> (bool, bool, bool) { method segment_list (line 671) | pub fn segment_list(&self) -> Vec { method sona_profile_names (line 685) | pub fn sona_profile_names(&self) -> Vec { function sample_hnsw (line 706) | fn sample_hnsw() -> HnswIndex { function sample_overlay (line 728) | fn sample_overlay() -> OverlayGraph { function hnsw_index_round_trip (line 750) | fn hnsw_index_round_trip() { function hnsw_index_empty_layers (line 764) | fn hnsw_index_empty_layers() { function overlay_graph_round_trip (line 778) | fn overlay_graph_round_trip() { function overlay_adjacency_list_edges (line 790) | fn overlay_adjacency_list_edges() { function overlay_partition_sensitive_insensitive (line 801) | fn overlay_partition_sensitive_insensitive() { function model_builder_minimal (line 811) | fn model_builder_minimal() { function model_builder_full (line 825) | fn model_builder_full() { function model_builder_build_info_reports_sizes (line 850) | fn model_builder_build_info_reports_sizes() { function model_builder_sona_profiles_stored (line 862) | fn model_builder_sona_profiles_stored() { function progressive_loader_layer_a_fast (line 888) | fn progressive_loader_layer_a_fast() { function progressive_loader_all_layers (line 906) | fn progressive_loader_all_layers() { function progressive_loader_progress_tracking (line 932) | fn progressive_loader_progress_tracking() { function rvf_model_file_round_trip (line 951) | fn rvf_model_file_round_trip() { function segment_type_constants_unique (line 975) | fn segment_type_constants_unique() { function aggregate_weights_multiple_envs (line 996) | fn aggregate_weights_multiple_envs() { function crypto_segment_placeholder (line 1016) | fn crypto_segment_placeholder() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/sona.rs type LoraAdapter (line 12) | pub struct LoraAdapter { method new (line 22) | pub fn new(in_features: usize, out_features: usize, rank: usize, alpha... method forward (line 32) | pub fn forward(&self, input: &[f32]) -> Vec { method delta_weights (line 47) | pub fn delta_weights(&self) -> Vec> { method merge_into (line 60) | pub fn merge_into(&self, base_weights: &mut [Vec]) { method unmerge_from (line 68) | pub fn unmerge_from(&self, base_weights: &mut [Vec]) { method n_params (line 76) | pub fn n_params(&self) -> usize { self.rank * (self.in_features + self... method reset (line 79) | pub fn reset(&mut self) { type EwcRegularizer (line 89) | pub struct EwcRegularizer { method new (line 97) | pub fn new(lambda: f32, decay: f32) -> Self { method compute_fisher (line 102) | pub fn compute_fisher(params: &[f32], loss_fn: impl Fn(&[f32]) -> f32,... method update_fisher (line 125) | pub fn update_fisher(&mut self, new_fisher: &[f32]) { method penalty (line 137) | pub fn penalty(&self, current_params: &[f32]) -> f32 { method penalty_gradient (line 149) | pub fn penalty_gradient(&self, current_params: &[f32]) -> Vec { method consolidate (line 162) | pub fn consolidate(&mut self, params: &[f32]) { self.reference_params ... type SonaConfig (line 169) | pub struct SonaConfig { method default (line 181) | fn default() -> Self { type AdaptationSample (line 192) | pub struct AdaptationSample { type AdaptationResult (line 199) | pub struct AdaptationResult { type SonaProfile (line 209) | pub struct SonaProfile { type SonaAdapter (line 222) | pub struct SonaAdapter { method new (line 231) | pub fn new(config: SonaConfig, param_count: usize) -> Self { method adapt (line 238) | pub fn adapt(&mut self, base_params: &[f32], samples: &[AdaptationSamp... method save_profile (line 275) | pub fn save_profile(&self, name: &str) -> SonaProfile { method load_profile (line 283) | pub fn load_profile(&mut self, profile: &SonaProfile) { method lora_delta_flat (line 291) | fn lora_delta_flat(&self) -> Vec { method mse_loss_grad (line 295) | fn mse_loss_grad(params: &[f32], samples: &[AdaptationSample], in_dim:... method update_lora (line 321) | fn update_lora(&mut self, grad: &[f32], lr: f32) { type DriftInfo (line 345) | pub struct DriftInfo { type EnvironmentDetector (line 354) | pub struct EnvironmentDetector { method new (line 366) | pub fn new(window_size: usize) -> Self { method update (line 376) | pub fn update(&mut self, csi_mean: f32, csi_var: f32) { method drift_detected (line 385) | pub fn drift_detected(&self) -> bool { method reset_baseline (line 393) | pub fn reset_baseline(&mut self) { method drift_info (line 404) | pub fn drift_info(&self) -> DriftInfo { method current_mean (line 413) | fn current_mean(&self) -> f32 { type TemporalConsistencyLoss (line 422) | pub struct TemporalConsistencyLoss; method compute (line 425) | pub fn compute(prev_output: &[f32], curr_output: &[f32], dt: f32) -> f... function lora_adapter_param_count (line 441) | fn lora_adapter_param_count() { function lora_adapter_forward_shape (line 447) | fn lora_adapter_forward_shape() { function lora_adapter_zero_init_produces_zero_delta (line 453) | fn lora_adapter_zero_init_produces_zero_delta() { function lora_adapter_merge_unmerge_roundtrip (line 460) | fn lora_adapter_merge_unmerge_roundtrip() { function lora_adapter_rank_1_outer_product (line 477) | fn lora_adapter_rank_1_outer_product() { function lora_scale_factor (line 489) | fn lora_scale_factor() { function ewc_fisher_positive (line 495) | fn ewc_fisher_positive() { function ewc_penalty_zero_at_reference (line 505) | fn ewc_penalty_zero_at_reference() { function ewc_penalty_positive_away_from_reference (line 513) | fn ewc_penalty_positive_away_from_reference() { function ewc_penalty_gradient_direction (line 522) | fn ewc_penalty_gradient_direction() { function ewc_online_update_decays (line 534) | fn ewc_online_update_decays() { function ewc_consolidate_updates_reference (line 544) | fn ewc_consolidate_updates_reference() { function sona_config_defaults (line 553) | fn sona_config_defaults() { function sona_adapter_converges_on_simple_task (line 566) | fn sona_adapter_converges_on_simple_task() { function sona_adapter_respects_max_steps (line 583) | fn sona_adapter_respects_max_steps() { function sona_profile_save_load_roundtrip (line 591) | fn sona_profile_save_load_roundtrip() { function environment_detector_no_drift_initially (line 610) | fn environment_detector_no_drift_initially() { function environment_detector_detects_large_shift (line 615) | fn environment_detector_detects_large_shift() { function environment_detector_reset_baseline (line 625) | fn environment_detector_reset_baseline() { function temporal_consistency_zero_for_static (line 635) | fn temporal_consistency_zero_for_static() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/sparse_inference.rs type NeuronProfiler (line 11) | pub struct NeuronProfiler { method new (line 18) | pub fn new(n_neurons: usize) -> Self { method record_activation (line 23) | pub fn record_activation(&mut self, neuron_idx: usize, activation: f32) { method end_sample (line 30) | pub fn end_sample(&mut self) { self.samples += 1; } method activation_frequency (line 33) | pub fn activation_frequency(&self, neuron_idx: usize) -> f32 { method partition_hot_cold (line 39) | pub fn partition_hot_cold(&self, hot_threshold: f32) -> (Vec, V... method top_k_neurons (line 50) | pub fn top_k_neurons(&self, k: usize) -> Vec { method sparsity_ratio (line 61) | pub fn sparsity_ratio(&self) -> f32 { method total_samples (line 67) | pub fn total_samples(&self) -> usize { self.samples } type SparseLinear (line 73) | pub struct SparseLinear { method new (line 82) | pub fn new(weights: Vec>, bias: Vec, hot_neurons: Vec Vec { method forward_full (line 98) | pub fn forward_full(&self, input: &[f32]) -> Vec { method set_hot_neurons (line 102) | pub fn set_hot_neurons(&mut self, hot: Vec) { self.hot_neurons ... method density (line 105) | pub fn density(&self) -> f32 { method n_flops_saved (line 110) | pub fn n_flops_saved(&self) -> usize { function dot_bias (line 115) | fn dot_bias(row: &[f32], input: &[f32], bias: f32) -> f32 { type QuantMode (line 126) | pub enum QuantMode { F32, F16, Int8Symmetric, Int8Asymmetric, Int4 } type QuantConfig (line 130) | pub struct QuantConfig { pub mode: QuantMode, pub calibration_samples: u... method default (line 133) | fn default() -> Self { Self { mode: QuantMode::Int8Symmetric, calibratio... type QuantizedWeights (line 138) | pub struct QuantizedWeights { type Quantizer (line 145) | pub struct Quantizer; method quantize_symmetric (line 149) | pub fn quantize_symmetric(weights: &[f32]) -> QuantizedWeights { method quantize_asymmetric (line 160) | pub fn quantize_asymmetric(weights: &[f32]) -> QuantizedWeights { method dequantize (line 174) | pub fn dequantize(qw: &QuantizedWeights) -> Vec { method quantization_error (line 186) | pub fn quantization_error(original: &[f32], quantized: &QuantizedWeigh... method f16_quantize (line 193) | pub fn f16_quantize(weights: &[f32]) -> Vec { weights.iter().map(... method f16_dequantize (line 196) | pub fn f16_dequantize(data: &[u16]) -> Vec { data.iter().map(|&h|... function f32_to_f16 (line 201) | fn f32_to_f16(val: f32) -> u16 { function f16_to_f32 (line 223) | fn f16_to_f32(h: u16) -> f32 { type SparseConfig (line 245) | pub struct SparseConfig { method default (line 252) | fn default() -> Self { Self { hot_threshold: 0.5, quant_mode: QuantMode:... type ModelLayer (line 256) | struct ModelLayer { method new (line 270) | fn new(name: &str, weights: Vec>, bias: Vec) -> Self { method forward_dense (line 278) | fn forward_dense(&self, input: &[f32]) -> Vec { method forward_quantized (line 287) | fn forward_quantized(&self, input: &[f32], qrows: &[QuantizedWeights])... method forward (line 302) | fn forward(&self, input: &[f32]) -> Vec { type ModelStats (line 309) | pub struct ModelStats { type SparseModel (line 320) | pub struct SparseModel { method new (line 327) | pub fn new(config: SparseConfig) -> Self { Self { layers: vec![], conf... method add_layer (line 329) | pub fn add_layer(&mut self, name: &str, weights: Vec>, bias: ... method profile (line 334) | pub fn profile(&mut self, inputs: &[Vec]) { method apply_sparsity (line 349) | pub fn apply_sparsity(&mut self) { method apply_quantization (line 361) | pub fn apply_quantization(&mut self) { method forward (line 376) | pub fn forward(&self, input: &[f32]) -> Vec { method n_layers (line 384) | pub fn n_layers(&self) -> usize { self.layers.len() } method stats (line 386) | pub fn stats(&self) -> ModelStats { type BenchmarkResult (line 415) | pub struct BenchmarkResult { type ComparisonResult (line 424) | pub struct ComparisonResult { type BenchmarkRunner (line 431) | pub struct BenchmarkRunner; method benchmark_inference (line 434) | pub fn benchmark_inference(model: &SparseModel, input: &[f32], n: usiz... method compare_dense_vs_sparse (line 453) | pub fn compare_dense_vs_sparse( function pctl (line 489) | fn pctl(sorted: &[f64], p: usize) -> f64 { function neuron_profiler_initially_empty (line 502) | fn neuron_profiler_initially_empty() { function neuron_profiler_records_activations (line 510) | fn neuron_profiler_records_activations() { function neuron_profiler_hot_cold_partition (line 525) | fn neuron_profiler_hot_cold_partition() { function neuron_profiler_sparsity_ratio (line 538) | fn neuron_profiler_sparsity_ratio() { function sparse_linear_matches_dense (line 549) | fn sparse_linear_matches_dense() { function sparse_linear_skips_cold_neurons (line 559) | fn sparse_linear_skips_cold_neurons() { function sparse_linear_flops_saved (line 569) | fn sparse_linear_flops_saved() { function quantize_symmetric_range (line 577) | fn quantize_symmetric_range() { function quantize_symmetric_zero_is_zero (line 586) | fn quantize_symmetric_zero_is_zero() { function quantize_asymmetric_range (line 592) | fn quantize_asymmetric_range() { function dequantize_round_trip_small_error (line 599) | fn dequantize_round_trip_small_error() { function int8_quantization_error_bounded (line 606) | fn int8_quantization_error_bounded() { function f16_round_trip_precision (line 613) | fn f16_round_trip_precision() { function f16_special_values (line 623) | fn f16_special_values() { function sparse_model_add_layers (line 633) | fn sparse_model_add_layers() { function sparse_model_profile_and_apply (line 644) | fn sparse_model_profile_and_apply() { function sparse_model_stats_report (line 658) | fn sparse_model_stats_report() { function benchmark_produces_positive_latency (line 668) | fn benchmark_produces_positive_latency() { function compare_dense_sparse_speedup (line 676) | fn compare_dense_sparse_speedup() { function apply_quantization_enables_quantized_forward (line 694) | fn apply_quantization_enables_quantized_forward() { function quantized_forward_accuracy_within_5_percent (line 725) | fn quantized_forward_accuracy_within_5_percent() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/trainer.rs constant COCO_KEYPOINT_SIGMAS (line 14) | pub const COCO_KEYPOINT_SIGMAS: [f32; 17] = [ constant SYMMETRY_PAIRS (line 20) | const SYMMETRY_PAIRS: [(usize, usize); 5] = type LossComponents (line 25) | pub struct LossComponents { type LossWeights (line 38) | pub struct LossWeights { method default (line 50) | fn default() -> Self { function keypoint_mse (line 59) | pub fn keypoint_mse(pred: &[(f32, f32, f32)], target: &[(f32, f32, f32)]... function body_part_cross_entropy (line 70) | pub fn body_part_cross_entropy(pred: &[f32], target: &[u8], n_parts: usi... function uv_regression_loss (line 87) | pub fn uv_regression_loss(pu: &[f32], pv: &[f32], tu: &[f32], tv: &[f32]... function temporal_consistency_loss (line 95) | pub fn temporal_consistency_loss(prev: &[(f32, f32, f32)], curr: &[(f32,... function graph_edge_loss (line 104) | pub fn graph_edge_loss( function symmetry_loss (line 119) | pub fn symmetry_loss(kp: &[(f32, f32, f32)]) -> f32 { function composite_loss (line 133) | pub fn composite_loss(c: &LossComponents, w: &LossWeights) -> f32 { type SgdOptimizer (line 142) | pub struct SgdOptimizer { method new (line 150) | pub fn new(lr: f32, momentum: f32, weight_decay: f32) -> Self { method step (line 155) | pub fn step(&mut self, params: &mut [f32], gradients: &[f32]) { method set_lr (line 166) | pub fn set_lr(&mut self, lr: f32) { self.lr = lr; } method state (line 167) | pub fn state(&self) -> Vec { self.velocity.clone() } method load_state (line 168) | pub fn load_state(&mut self, state: Vec) { self.velocity = state; } type CosineScheduler (line 174) | pub struct CosineScheduler { initial_lr: f32, min_lr: f32, total_steps: ... method new (line 177) | pub fn new(initial_lr: f32, min_lr: f32, total_steps: usize) -> Self { method get_lr (line 180) | pub fn get_lr(&self, step: usize) -> f32 { type WarmupCosineScheduler (line 188) | pub struct WarmupCosineScheduler { method new (line 193) | pub fn new(warmup_steps: usize, initial_lr: f32, min_lr: f32, total_st... method get_lr (line 196) | pub fn get_lr(&self, step: usize) -> f32 { function pck_at_threshold (line 211) | pub fn pck_at_threshold(pred: &[(f32, f32, f32)], target: &[(f32, f32, f... function oks_single (line 225) | pub fn oks_single( function oks_map (line 242) | pub fn oks_map(preds: &[Vec<(f32, f32, f32)>], targets: &[Vec<(f32, f32,... function estimate_gradient (line 253) | pub fn estimate_gradient(f: impl Fn(&[f32]) -> f32, params: &[f32], eps:... function clip_gradients (line 268) | pub fn clip_gradients(gradients: &mut [f32], max_norm: f32) { type TrainingSample (line 280) | pub struct TrainingSample { function from_dataset_sample (line 288) | pub fn from_dataset_sample(ds: &dataset::TrainingSample) -> TrainingSamp... type EpochStatsSerializable (line 310) | pub struct EpochStatsSerializable { type Checkpoint (line 319) | pub struct Checkpoint { method save_to_file (line 328) | pub fn save_to_file(&self, path: &Path) -> std::io::Result<()> { method load_from_file (line 333) | pub fn load_from_file(path: &Path) -> std::io::Result { type EpochStats (line 342) | pub struct EpochStats { method to_serializable (line 353) | fn to_serializable(&self) -> EpochStatsSerializable { type TrainingResult (line 366) | pub struct TrainingResult { type TrainerConfig (line 376) | pub struct TrainerConfig { method default (line 394) | fn default() -> Self { type Trainer (line 408) | pub struct Trainer { method new (line 429) | pub fn new(config: TrainerConfig) -> Self { method with_transformer (line 446) | pub fn with_transformer(config: TrainerConfig, transformer: CsiToPoseT... method transformer (line 463) | pub fn transformer(&self) -> Option<&CsiToPoseTransformer> { self.tran... method transformer_mut (line 466) | pub fn transformer_mut(&mut self) -> Option<&mut CsiToPoseTransformer>... method params (line 469) | pub fn params(&self) -> &[f32] { &self.params } method train_epoch (line 471) | pub fn train_epoch(&mut self, samples: &[TrainingSample]) -> EpochStats { method should_stop (line 520) | pub fn should_stop(&self) -> bool { method best_metrics (line 524) | pub fn best_metrics(&self) -> Option<&EpochStats> { method run_training (line 528) | pub fn run_training(&mut self, train: &[TrainingSample], val: &[Traini... method pretrain_epoch (line 582) | pub fn pretrain_epoch( method checkpoint (line 695) | pub fn checkpoint(&self) -> Checkpoint { method batch_loss (line 709) | fn batch_loss(params: &[f32], batch: &[TrainingSample], w: &LossWeight... method batch_loss_with_transformer (line 713) | fn batch_loss_with_transformer( method batch_loss_components (line 719) | fn batch_loss_components(params: &[f32], batch: &[TrainingSample]) -> ... method batch_loss_components_impl (line 723) | fn batch_loss_components_impl( method predict_keypoints (line 759) | fn predict_keypoints(params: &[f32], sample: &TrainingSample) -> Vec<(... method predict_keypoints_transformer (line 783) | fn predict_keypoints_transformer( method evaluate_metrics (line 794) | fn evaluate_metrics(&self, samples: &[TrainingSample]) -> (f32, f32) { method sync_transformer_weights (line 809) | pub fn sync_transformer_weights(&mut self) { method consolidate_pretrained (line 822) | pub fn consolidate_pretrained(&mut self) { method ewc_penalty (line 840) | pub fn ewc_penalty(&self) -> f32 { method ewc_penalty_gradient (line 848) | pub fn ewc_penalty_gradient(&self) -> Vec { function mkp (line 862) | fn mkp(off: f32) -> Vec<(f32, f32, f32)> { function symmetric_pose (line 866) | fn symmetric_pose() -> Vec<(f32, f32, f32)> { function sample (line 873) | fn sample() -> TrainingSample { function keypoint_mse_zero_for_identical (line 882) | fn keypoint_mse_zero_for_identical() { assert_eq!(keypoint_mse(&mkp(0.0)... function keypoint_mse_positive_for_different (line 883) | fn keypoint_mse_positive_for_different() { assert!(keypoint_mse(&mkp(0.0... function keypoint_mse_symmetric (line 884) | fn keypoint_mse_symmetric() { function temporal_consistency_zero_for_static (line 888) | fn temporal_consistency_zero_for_static() { function temporal_consistency_positive_for_motion (line 891) | fn temporal_consistency_positive_for_motion() { function symmetry_loss_zero_for_symmetric_pose (line 894) | fn symmetry_loss_zero_for_symmetric_pose() { function graph_edge_loss_zero_when_correct (line 897) | fn graph_edge_loss_zero_when_correct() { function composite_loss_respects_weights (line 901) | fn composite_loss_respects_weights() { function cosine_scheduler_starts_at_initial (line 909) | fn cosine_scheduler_starts_at_initial() { function cosine_scheduler_ends_at_min (line 912) | fn cosine_scheduler_ends_at_min() { function cosine_scheduler_midpoint (line 915) | fn cosine_scheduler_midpoint() { function warmup_starts_at_zero (line 918) | fn warmup_starts_at_zero() { function warmup_reaches_initial_at_warmup_end (line 921) | fn warmup_reaches_initial_at_warmup_end() { function pck_perfect_prediction_is_1 (line 924) | fn pck_perfect_prediction_is_1() { function pck_all_wrong_is_0 (line 927) | fn pck_all_wrong_is_0() { function oks_perfect_is_1 (line 930) | fn oks_perfect_is_1() { function sgd_step_reduces_simple_loss (line 933) | fn sgd_step_reduces_simple_loss() { function gradient_clipping_respects_max_norm (line 940) | fn gradient_clipping_respects_max_norm() { function early_stopping_triggers (line 945) | fn early_stopping_triggers() { function checkpoint_round_trip (line 958) | fn checkpoint_round_trip() { function dataset_to_trainer_conversion (line 977) | fn dataset_to_trainer_conversion() { function trainer_with_transformer_runs_epoch (line 1003) | fn trainer_with_transformer_runs_epoch() { function trainer_with_transformer_loss_finite_after_training (line 1032) | fn trainer_with_transformer_loss_finite_after_training() { function test_pretrain_epoch_loss_decreases (line 1069) | fn test_pretrain_epoch_loss_decreases() { function test_contrastive_loss_weight_in_composite (line 1113) | fn test_contrastive_loss_weight_in_composite() { function test_ewc_consolidation_reduces_forgetting (line 1128) | fn test_ewc_consolidation_reduces_forgetting() { function test_ewc_penalty_nonzero_after_consolidation (line 1161) | fn test_ewc_penalty_nonzero_after_consolidation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/training_api.rs constant MODELS_DIR (line 50) | pub const MODELS_DIR: &str = "data/models"; constant N_KEYPOINTS (line 53) | const N_KEYPOINTS: usize = 17; constant DIMS_PER_KP (line 55) | const DIMS_PER_KP: usize = 3; constant N_TARGETS (line 57) | const N_TARGETS: usize = N_KEYPOINTS * DIMS_PER_KP; constant DEFAULT_N_SUB (line 60) | const DEFAULT_N_SUB: usize = 56; constant VARIANCE_WINDOW (line 62) | const VARIANCE_WINDOW: usize = 10; constant N_FREQ_BANDS (line 64) | const N_FREQ_BANDS: usize = 9; constant N_GLOBAL_FEATURES (line 66) | const N_GLOBAL_FEATURES: usize = 3; type TrainingConfig (line 72) | pub struct TrainingConfig { function default_epochs (line 91) | fn default_epochs() -> u32 { 100 } function default_batch_size (line 92) | fn default_batch_size() -> u32 { 8 } function default_learning_rate (line 93) | fn default_learning_rate() -> f64 { 0.001 } function default_weight_decay (line 94) | fn default_weight_decay() -> f64 { 1e-4 } function default_early_stopping_patience (line 95) | fn default_early_stopping_patience() -> u32 { 20 } function default_warmup_epochs (line 96) | fn default_warmup_epochs() -> u32 { 5 } method default (line 99) | fn default() -> Self { type StartTrainingRequest (line 115) | pub struct StartTrainingRequest { type PretrainRequest (line 122) | pub struct PretrainRequest { function default_pretrain_epochs (line 130) | fn default_pretrain_epochs() -> u32 { 50 } type LoraTrainRequest (line 134) | pub struct LoraTrainRequest { function default_lora_rank (line 144) | fn default_lora_rank() -> u8 { 8 } function default_lora_epochs (line 145) | fn default_lora_epochs() -> u32 { 30 } type TrainingStatus (line 149) | pub struct TrainingStatus { method default (line 165) | fn default() -> Self { type TrainingProgress (line 185) | pub struct TrainingProgress { type TrainingState (line 197) | pub struct TrainingState { method default (line 205) | fn default() -> Self { type AppState (line 214) | pub type AppState = Arc>; type FeatureStats (line 220) | pub struct FeatureStats { function load_recording_frames (line 237) | async fn load_recording_frames(dataset_ids: &[String]) -> Vec Vec { function feature_dim (line 296) | fn feature_dim(n_sub: usize) -> usize { function goertzel_power (line 304) | fn goertzel_power(signal: &[f64], freq_norm: f64) -> f64 { function extract_features_for_frame (line 326) | fn extract_features_for_frame( function compute_teacher_targets (line 442) | fn compute_teacher_targets(frame: &RecordedFrame, prev_frame: Option<&Re... function extract_features_and_targets (line 630) | fn extract_features_and_targets( function compute_mse (line 707) | fn compute_mse(predictions: &[Vec], targets: &[Vec]) -> f64 { function compute_pck (line 729) | fn compute_pck(predictions: &[Vec], targets: &[Vec], threshold... function forward (line 772) | fn forward( function deterministic_shuffle (line 800) | fn deterministic_shuffle(n: usize, seed: u64) -> Vec { function real_training_loop (line 825) | async fn real_training_loop( function infer_pose_from_model (line 1315) | pub fn infer_pose_from_model( function default_keypoints (line 1423) | fn default_keypoints() -> Vec<[f64; 4]> { function start_training (line 1429) | async fn start_training( function stop_training (line 1493) | async fn stop_training(State(state): State) -> Json) -> Json Router { function training_config_defaults (line 1726) | fn training_config_defaults() { function training_status_default_is_inactive (line 1736) | fn training_status_default_is_inactive() { function training_progress_serializes (line 1743) | fn training_progress_serializes() { function training_config_deserializes_with_defaults (line 1760) | fn training_config_deserializes_with_defaults() { function feature_dim_computation (line 1769) | fn feature_dim_computation() { function goertzel_dc_power (line 1776) | fn goertzel_dc_power() { function goertzel_zero_on_empty (line 1784) | fn goertzel_zero_on_empty() { function extract_features_produces_correct_length (line 1789) | fn extract_features_produces_correct_length() { function teacher_targets_produce_51_values (line 1802) | fn teacher_targets_produce_51_values() { function deterministic_shuffle_is_stable (line 1815) | fn deterministic_shuffle_is_stable() { function deterministic_shuffle_is_permutation (line 1825) | fn deterministic_shuffle_is_permutation() { function forward_pass_zero_weights (line 1834) | fn forward_pass_zero_weights() { function forward_pass_identity (line 1844) | fn forward_pass_identity() { function forward_pass_with_bias (line 1854) | fn forward_pass_with_bias() { function compute_mse_zero_error (line 1863) | fn compute_mse_zero_error() { function compute_mse_known_value (line 1870) | fn compute_mse_known_value() { function pck_perfect_prediction (line 1877) | fn pck_perfect_prediction() { function infer_pose_returns_17_keypoints (line 1890) | fn infer_pose_returns_17_keypoints() { function infer_pose_short_weights_returns_defaults (line 1914) | fn infer_pose_short_weights_returns_defaults() { function feature_stats_serialization (line 1933) | fn feature_stats_serialization() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/src/vital_signs.rs constant BREATHING_MIN_HZ (line 20) | const BREATHING_MIN_HZ: f64 = 0.1; constant BREATHING_MAX_HZ (line 21) | const BREATHING_MAX_HZ: f64 = 0.5; constant HEARTBEAT_MIN_HZ (line 24) | const HEARTBEAT_MIN_HZ: f64 = 0.667; constant HEARTBEAT_MAX_HZ (line 25) | const HEARTBEAT_MAX_HZ: f64 = 2.0; constant MIN_BREATHING_SAMPLES (line 28) | const MIN_BREATHING_SAMPLES: usize = 40; constant MIN_HEARTBEAT_SAMPLES (line 29) | const MIN_HEARTBEAT_SAMPLES: usize = 30; constant CONFIDENCE_THRESHOLD (line 32) | const CONFIDENCE_THRESHOLD: f64 = 2.0; type VitalSigns (line 38) | pub struct VitalSigns { method default (line 52) | fn default() -> Self { type VitalSignDetector (line 68) | pub struct VitalSignDetector { method new (line 94) | pub fn new(sample_rate: f64) -> Self { method process_frame (line 120) | pub fn process_frame(&mut self, amplitude: &[f64], phase: &[f64]) -> V... method extract_breathing (line 188) | pub fn extract_breathing(&self) -> (Option, f64) { method extract_heartbeat (line 200) | pub fn extract_heartbeat(&self) -> (Option, f64) { method compute_fft_peak (line 212) | pub fn compute_fft_peak( method compute_signal_quality (line 309) | fn compute_signal_quality(&self, amplitude: &[f64]) -> f64 { method reset (line 345) | pub fn reset(&mut self) { method buffer_status (line 353) | pub fn buffer_status(&self) -> (usize, usize, usize, usize) { function bandpass_filter (line 370) | pub fn bandpass_filter(data: &[f64], low_hz: f64, high_hz: f64, sample_r... function fft_magnitude (line 449) | fn fft_magnitude(signal: &[f64]) -> Vec { function bit_reverse_permute (line 503) | fn bit_reverse_permute(real: &mut [f64], imag: &mut [f64]) { function reverse_bits (line 517) | fn reverse_bits(val: u32, bits: u32) -> u32 { function run_benchmark (line 535) | pub fn run_benchmark(n_frames: usize) -> (std::time::Duration, std::time... function test_fft_magnitude_dc (line 609) | fn test_fft_magnitude_dc() { function test_fft_magnitude_sine (line 620) | fn test_fft_magnitude_sine() { function test_bit_reverse (line 640) | fn test_bit_reverse() { function test_bandpass_filter_passthrough (line 647) | fn test_bandpass_filter_passthrough() { function test_bandpass_filter_rejects_out_of_band (line 665) | fn test_bandpass_filter_rejects_out_of_band() { function test_vital_sign_detector_breathing (line 684) | fn test_vital_sign_detector_breathing() { function test_vital_sign_detector_reset (line 721) | fn test_vital_sign_detector_reset() { function test_vital_signs_default (line 739) | fn test_vital_signs_default() { function test_empty_amplitude (line 749) | fn test_empty_amplitude() { function test_single_subcarrier (line 757) | fn test_single_subcarrier() { function test_benchmark_runs (line 769) | fn test_benchmark_runs() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/tests/multi_node_test.rs function build_csi_frame (line 28) | fn build_csi_frame(node_id: u8, seq: u32, rssi: i8, n_sub: u8) -> Vec { function build_vitals_packet (line 67) | fn build_vitals_packet(node_id: u8, presence: bool, n_persons: u8, rssi:... function test_csi_frame_builder_valid (line 95) | fn test_csi_frame_builder_valid() { function test_vitals_packet_builder_valid (line 105) | fn test_vitals_packet_builder_valid() { function test_different_nodes_produce_different_frames (line 115) | fn test_different_nodes_produce_different_frames() { function test_multi_node_udp_send (line 126) | fn test_multi_node_udp_send() { function test_frame_sizes (line 156) | fn test_frame_sizes() { function test_mesh_simulation_pattern (line 168) | fn test_mesh_simulation_pattern() { function test_large_mesh_100_nodes (line 204) | fn test_large_mesh_100_nodes() { function test_max_nodes_255 (line 222) | fn test_max_nodes_255() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/tests/rvf_container_test.rs function test_rvf_builder_empty (line 29) | fn test_rvf_builder_empty() { function test_rvf_round_trip (line 46) | fn test_rvf_round_trip() { function test_rvf_segment_types (line 106) | fn test_rvf_segment_types() { function test_rvf_magic_validation (line 136) | fn test_rvf_magic_validation() { function test_rvf_weights_f32_precision (line 163) | fn test_rvf_weights_f32_precision() { function test_rvf_large_payload (line 202) | fn test_rvf_large_payload() { function test_rvf_multiple_metadata_segments (line 241) | fn test_rvf_multiple_metadata_segments() { function test_rvf_file_io (line 273) | fn test_rvf_file_io() { function test_rvf_witness_proof (line 317) | fn test_rvf_witness_proof() { function test_rvf_benchmark_write_read (line 345) | fn test_rvf_benchmark_write_read() { function test_rvf_content_hash_integrity (line 409) | fn test_rvf_content_hash_integrity() { function test_rvf_truncated_data (line 430) | fn test_rvf_truncated_data() { function test_rvf_empty_weights (line 464) | fn test_rvf_empty_weights() { function test_rvf_vital_config_round_trip (line 475) | fn test_rvf_vital_config_round_trip() { function test_rvf_info_struct (line 520) | fn test_rvf_info_struct() { function test_rvf_alignment_invariant (line 541) | fn test_rvf_alignment_invariant() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-sensing-server/tests/vital_signs_test.rs constant N_SUBCARRIERS (line 26) | const N_SUBCARRIERS: usize = 56; function make_breathing_frame (line 33) | fn make_breathing_frame(freq_hz: f64, t: f64) -> Vec { function make_heartbeat_phase_variance (line 49) | fn make_heartbeat_phase_variance(freq_hz: f64, t: f64) -> Vec { function make_static_phase (line 62) | fn make_static_phase() -> Vec { function feed_breathing_signal (line 69) | fn feed_breathing_signal( function test_vital_detector_creation (line 90) | fn test_vital_detector_creation() { function test_breathing_detection_synthetic (line 110) | fn test_breathing_detection_synthetic() { function test_heartbeat_detection_synthetic (line 141) | fn test_heartbeat_detection_synthetic() { function test_combined_vital_signs (line 180) | fn test_combined_vital_signs() { function test_no_signal_lower_confidence_than_true_signal (line 222) | fn test_no_signal_lower_confidence_than_true_signal() { function test_out_of_range_lower_confidence_than_in_band (line 264) | fn test_out_of_range_lower_confidence_than_in_band() { function test_confidence_increases_with_snr (line 311) | fn test_confidence_increases_with_snr() { function test_reset_clears_buffers (line 361) | fn test_reset_clears_buffers() { function test_minimum_samples_required (line 396) | fn test_minimum_samples_required() { function test_benchmark_throughput (line 425) | fn test_benchmark_throughput() { function test_vital_signs_default (line 475) | fn test_vital_signs_default() { function test_empty_amplitude_frame (line 485) | fn test_empty_amplitude_frame() { function test_single_subcarrier_no_panic (line 495) | fn test_single_subcarrier_no_panic() { function test_signal_quality_varies_with_input (line 508) | fn test_signal_quality_varies_with_input() { function test_buffer_capacity_respected (line 553) | fn test_buffer_capacity_respected() { function test_run_benchmark_function (line 581) | fn test_run_benchmark_function() { function test_breathing_rate_in_physiological_range (line 591) | fn test_breathing_rate_in_physiological_range() { function test_multiple_detectors_independent (line 616) | fn test_multiple_detectors_independent() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/benches/signal_bench.rs function create_csi_data (line 18) | fn create_csi_data(antennas: usize, subcarriers: usize) -> CsiData { function bench_csi_preprocessing (line 46) | fn bench_csi_preprocessing(c: &mut Criterion) { function bench_phase_sanitization (line 71) | fn bench_phase_sanitization(c: &mut Criterion) { function bench_feature_extraction (line 105) | fn bench_feature_extraction(c: &mut Criterion) { function bench_motion_detection (line 130) | fn bench_motion_detection(c: &mut Criterion) { function bench_full_pipeline (line 157) | fn bench_full_pipeline(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/bvp.rs type BvpConfig (line 25) | pub struct BvpConfig { method default (line 39) | fn default() -> Self { type BodyVelocityProfile (line 52) | pub struct BodyVelocityProfile { function extract_bvp (line 70) | pub fn extract_bvp( type BvpError (line 167) | pub enum BvpError { function attention_weighted_bvp (line 191) | pub fn attention_weighted_bvp( function attention_bvp_output_shape (line 241) | fn attention_bvp_output_shape() { function attention_bvp_empty_input (line 254) | fn attention_bvp_empty_input() { function test_bvp_dimensions (line 266) | fn test_bvp_dimensions() { function test_bvp_velocity_range (line 289) | fn test_bvp_velocity_range() { function test_static_scene_low_velocity (line 309) | fn test_static_scene_low_velocity() { function test_moving_body_nonzero_velocity (line 335) | fn test_moving_body_nonzero_velocity() { function test_insufficient_samples (line 357) | fn test_insufficient_samples() { function test_time_resolution (line 370) | fn test_time_resolution() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/csi_processor.rs type CsiProcessorError (line 16) | pub enum CsiProcessorError { type CsiData (line 40) | pub struct CsiData { method builder (line 180) | pub fn builder() -> CsiDataBuilder { method to_complex (line 185) | pub fn to_complex(&self) -> Array2 { method from_complex (line 195) | pub fn from_complex( type CsiMetadata (line 72) | pub struct CsiMetadata { type CsiDataBuilder (line 89) | pub struct CsiDataBuilder { method new (line 101) | pub fn new() -> Self { method timestamp (line 106) | pub fn timestamp(mut self, timestamp: DateTime) -> Self { method amplitude (line 112) | pub fn amplitude(mut self, amplitude: Array2) -> Self { method phase (line 118) | pub fn phase(mut self, phase: Array2) -> Self { method frequency (line 124) | pub fn frequency(mut self, frequency: f64) -> Self { method bandwidth (line 130) | pub fn bandwidth(mut self, bandwidth: f64) -> Self { method snr (line 136) | pub fn snr(mut self, snr: f64) -> Self { method metadata (line 142) | pub fn metadata(mut self, metadata: CsiMetadata) -> Self { method build (line 148) | pub fn build(self) -> Result { type CsiProcessorConfig (line 225) | pub struct CsiProcessorConfig { method builder (line 356) | pub fn builder() -> CsiProcessorConfigBuilder { method validate (line 361) | pub fn validate(&self) -> Result<(), CsiProcessorError> { method default (line 258) | fn default() -> Self { type CsiProcessorConfigBuilder (line 276) | pub struct CsiProcessorConfigBuilder { method new (line 282) | pub fn new() -> Self { method sampling_rate (line 289) | pub fn sampling_rate(mut self, rate: f64) -> Self { method window_size (line 295) | pub fn window_size(mut self, size: usize) -> Self { method overlap (line 301) | pub fn overlap(mut self, overlap: f64) -> Self { method noise_threshold (line 307) | pub fn noise_threshold(mut self, threshold: f64) -> Self { method human_detection_threshold (line 313) | pub fn human_detection_threshold(mut self, threshold: f64) -> Self { method smoothing_factor (line 319) | pub fn smoothing_factor(mut self, factor: f64) -> Self { method max_history_size (line 325) | pub fn max_history_size(mut self, size: usize) -> Self { method enable_preprocessing (line 331) | pub fn enable_preprocessing(mut self, enable: bool) -> Self { method enable_feature_extraction (line 337) | pub fn enable_feature_extraction(mut self, enable: bool) -> Self { method enable_human_detection (line 343) | pub fn enable_human_detection(mut self, enable: bool) -> Self { method build (line 349) | pub fn build(self) -> CsiProcessorConfig { type CsiPreprocessor (line 386) | pub struct CsiPreprocessor { method new (line 392) | pub fn new(noise_threshold: f64) -> Self { method remove_noise (line 397) | pub fn remove_noise(&self, csi_data: &CsiData) -> Result Result Result Vec { method calculate_std (line 486) | fn calculate_std(&self, arr: &Array2) -> f64 { type ProcessingStatistics (line 495) | pub struct ProcessingStatistics { method error_rate (line 511) | pub fn error_rate(&self) -> f64 { method detection_rate (line 520) | pub fn detection_rate(&self) -> f64 { type CsiProcessor (line 531) | pub struct CsiProcessor { method new (line 541) | pub fn new(config: CsiProcessorConfig) -> Result &CsiProcessorConfig { method preprocess (line 561) | pub fn preprocess(&self, csi_data: &CsiData) -> Result Vec<&CsiData> { method history_len (line 604) | pub fn history_len(&self) -> usize { method apply_temporal_smoothing (line 609) | pub fn apply_temporal_smoothing(&mut self, raw_confidence: f64) -> f64 { method get_statistics (line 617) | pub fn get_statistics(&self) -> &ProcessingStatistics { method reset_statistics (line 622) | pub fn reset_statistics(&mut self) { method increment_processed (line 627) | pub fn increment_processed(&mut self) { method increment_errors (line 632) | pub fn increment_errors(&mut self) { method increment_detections (line 637) | pub fn increment_detections(&mut self) { method previous_confidence (line 642) | pub fn previous_confidence(&self) -> f64 { function create_test_csi_data (line 652) | fn create_test_csi_data() -> CsiData { function test_config_validation (line 671) | fn test_config_validation() { function test_invalid_config (line 682) | fn test_invalid_config() { function test_csi_processor_creation (line 691) | fn test_csi_processor_creation() { function test_preprocessing (line 698) | fn test_preprocessing() { function test_history_management (line 713) | fn test_history_management() { function test_temporal_smoothing (line 728) | fn test_temporal_smoothing() { function test_csi_data_builder (line 742) | fn test_csi_data_builder() { function test_complex_conversion (line 761) | fn test_complex_conversion() { function test_hamming_window (line 777) | fn test_hamming_window() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/csi_ratio.rs function conjugate_multiply (line 22) | pub fn conjugate_multiply( function compute_ratio_matrix (line 48) | pub fn compute_ratio_matrix(csi_complex: &Array2) -> Result) -> (Array2 Self { type PhaseFeatures (line 78) | pub struct PhaseFeatures { method from_csi_data (line 94) | pub fn from_csi_data(csi_data: &CsiData) -> Self { method calculate_coherence (line 155) | fn calculate_coherence(phase: &Array2) -> f64 { type CorrelationFeatures (line 204) | pub struct CorrelationFeatures { method from_csi_data (line 220) | pub fn from_csi_data(csi_data: &CsiData) -> Self { method correlation_matrix (line 266) | fn correlation_matrix(data: &Array2) -> Array2 { type DopplerFeatures (line 308) | pub struct DopplerFeatures { method from_csi_history (line 324) | pub fn from_csi_history(history: &[CsiData], sampling_rate: f64) -> Se... method empty (line 397) | fn empty() -> Self { method empty_with_size (line 407) | fn empty_with_size(size: usize) -> Self { type PowerSpectralDensity (line 419) | pub struct PowerSpectralDensity { method from_csi_data (line 444) | pub fn from_csi_data(csi_data: &CsiData, fft_size: usize) -> Self { type CsiFeatures (line 538) | pub struct CsiFeatures { type FeatureMetadata (line 563) | pub struct FeatureMetadata { type FeatureExtractorConfig (line 582) | pub struct FeatureExtractorConfig { method default (line 597) | fn default() -> Self { type FeatureExtractor (line 609) | pub struct FeatureExtractor { method new (line 615) | pub fn new(config: FeatureExtractorConfig) -> Self { method default_config (line 620) | pub fn default_config() -> Self { method config (line 625) | pub fn config(&self) -> &FeatureExtractorConfig { method extract (line 630) | pub fn extract(&self, csi_data: &CsiData) -> CsiFeatures { method extract_with_history (line 656) | pub fn extract_with_history(&self, csi_data: &CsiData, history: &[CsiD... method extract_amplitude (line 670) | pub fn extract_amplitude(&self, csi_data: &CsiData) -> AmplitudeFeatur... method extract_phase (line 675) | pub fn extract_phase(&self, csi_data: &CsiData) -> PhaseFeatures { method extract_correlation (line 680) | pub fn extract_correlation(&self, csi_data: &CsiData) -> CorrelationFe... method extract_psd (line 685) | pub fn extract_psd(&self, csi_data: &CsiData) -> PowerSpectralDensity { method extract_doppler (line 690) | pub fn extract_doppler(&self, history: &[CsiData]) -> Option CsiData { function create_test_history (line 725) | fn create_test_history(n: usize) -> Vec { function test_amplitude_features (line 747) | fn test_amplitude_features() { function test_phase_features (line 759) | fn test_phase_features() { function test_correlation_features (line 769) | fn test_correlation_features() { function test_psd_features (line 789) | fn test_psd_features() { function test_doppler_features (line 800) | fn test_doppler_features() { function test_feature_extractor (line 808) | fn test_feature_extractor() { function test_feature_extractor_with_history (line 822) | fn test_feature_extractor_with_history() { function test_individual_extraction (line 839) | fn test_individual_extraction() { function test_empty_doppler_history (line 857) | fn test_empty_doppler_history() { function test_insufficient_doppler_history (line 866) | fn test_insufficient_doppler_history() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/fresnel.rs constant SPEED_OF_LIGHT (line 17) | pub const SPEED_OF_LIGHT: f64 = 2.998e8; type FresnelGeometry (line 21) | pub struct FresnelGeometry { method new (line 32) | pub fn new(d_tx_body: f64, d_body_rx: f64, frequency: f64) -> Result f64 { method fresnel_radius (line 54) | pub fn fresnel_radius(&self, n: u32) -> f64 { method phase_change (line 65) | pub fn phase_change(&self, displacement_m: f64) -> f64 { method expected_amplitude_variation (line 73) | pub fn expected_amplitude_variation(&self, displacement_m: f64) -> f64 { type FresnelBreathingEstimator (line 81) | pub struct FresnelBreathingEstimator { method new (line 92) | pub fn new(geometry: FresnelGeometry) -> Self { method breathing_confidence (line 105) | pub fn breathing_confidence(&self, observed_amplitude_variation: f64) ... method estimate_breathing_rate (line 131) | pub fn estimate_breathing_rate( type BreathingEstimate (line 210) | pub struct BreathingEstimate { function amplitude_variation (line 226) | fn amplitude_variation(signal: &[f64]) -> f64 { function solve_fresnel_geometry (line 248) | pub fn solve_fresnel_geometry( function fresnel_geometry_insufficient_obs (line 295) | fn fresnel_geometry_insufficient_obs() { function fresnel_geometry_returns_valid_distances (line 302) | fn fresnel_geometry_returns_valid_distances() { type FresnelError (line 320) | pub enum FresnelError { function test_geometry (line 338) | fn test_geometry() -> FresnelGeometry { function test_wavelength (line 344) | fn test_wavelength() { function test_fresnel_radius (line 351) | fn test_fresnel_radius() { function test_phase_change_from_displacement (line 362) | fn test_phase_change_from_displacement() { function test_amplitude_variation_breathing_range (line 373) | fn test_amplitude_variation_breathing_range() { function test_breathing_confidence (line 385) | fn test_breathing_confidence() { function test_breathing_rate_estimation (line 400) | fn test_breathing_rate_estimation() { function test_invalid_geometry (line 432) | fn test_invalid_geometry() { function test_insufficient_data (line 439) | fn test_insufficient_data() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/hampel.rs type HampelConfig (line 13) | pub struct HampelConfig { method default (line 21) | fn default() -> Self { type HampelResult (line 31) | pub struct HampelResult { constant MAD_SCALE (line 44) | const MAD_SCALE: f64 = 1.4826; function hampel_filter (line 51) | pub fn hampel_filter(signal: &[f64], config: &HampelConfig) -> Result f64 { function median_absolute_deviation (line 125) | fn median_absolute_deviation(data: &[f64], med: f64) -> f64 { type HampelError (line 132) | pub enum HampelError { function test_clean_signal_unchanged (line 144) | fn test_clean_signal_unchanged() { function test_single_spike_detected (line 163) | fn test_single_spike_detected() { function test_multiple_spikes (line 173) | fn test_multiple_spikes() { function test_z_score_masking_resistance (line 195) | fn test_z_score_masking_resistance() { function test_2d_filtering (line 214) | fn test_2d_filtering() { function test_median_computation (line 227) | fn test_median_computation() { function test_empty_signal_error (line 234) | fn test_empty_signal_error() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/hardware_norm.rs type HardwareNormError (line 15) | pub enum HardwareNormError { type HardwareType (line 28) | pub enum HardwareType { method subcarrier_count (line 41) | pub fn subcarrier_count(&self) -> usize { method mimo_streams (line 51) | pub fn mimo_streams(&self) -> usize { type AmplitudeStats (line 63) | pub struct AmplitudeStats { method default (line 69) | fn default() -> Self { type CanonicalCsiFrame (line 76) | pub struct CanonicalCsiFrame { type HardwareNormalizer (line 87) | pub struct HardwareNormalizer { method new (line 94) | pub fn new() -> Self { method with_canonical_subcarriers (line 99) | pub fn with_canonical_subcarriers(count: usize) -> Result usize { method detect_hardware (line 117) | pub fn detect_hardware(subcarrier_count: usize) -> HardwareType { method normalize (line 131) | pub fn normalize( method default (line 164) | fn default() -> Self { Self::new() } function resample_cubic (line 169) | fn resample_cubic(src: &[f64], dst_len: usize) -> Vec { function clamp_idx (line 193) | fn clamp_idx(idx: isize, len: usize) -> usize { function zscore_normalize (line 198) | fn zscore_normalize(data: &[f64], hw_stats: Option<&AmplitudeStats>) -> ... function compute_mean_std (line 207) | fn compute_mean_std(data: &[f64]) -> (f64, f64) { function sanitize_phase (line 218) | fn sanitize_phase(phase: &[f64]) -> Vec { function detect_hardware_and_properties (line 253) | fn detect_hardware_and_properties() { function resample_identity_56_to_56 (line 269) | fn resample_identity_56_to_56() { function resample_64_to_56 (line 278) | fn resample_64_to_56() { function resample_30_to_56 (line 287) | fn resample_30_to_56() { function resample_preserves_constant (line 296) | fn resample_preserves_constant() { function zscore_produces_zero_mean_unit_std (line 303) | fn zscore_produces_zero_mean_unit_std() { function zscore_with_hw_stats_and_constant (line 314) | fn zscore_with_hw_stats_and_constant() { function phase_sanitize_removes_linear_trend (line 324) | fn phase_sanitize_removes_linear_trend() { function phase_sanitize_unwrap (line 331) | fn phase_sanitize_unwrap() { function phase_sanitize_edge_cases (line 344) | fn phase_sanitize_edge_cases() { function normalize_esp32_64_to_56 (line 350) | fn normalize_esp32_64_to_56() { function normalize_intel5300_30_to_56 (line 363) | fn normalize_intel5300_30_to_56() { function normalize_atheros_passthrough_count (line 374) | fn normalize_atheros_passthrough_count() { function normalize_errors_and_custom_canonical (line 384) | fn normalize_errors_and_custom_canonical() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/lib.rs constant VERSION (line 67) | pub const VERSION: &str = env!("CARGO_PKG_VERSION"); type Result (line 70) | pub type Result = std::result::Result; type SignalError (line 74) | pub enum SignalError { function test_version (line 114) | fn test_version() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/motion.rs type MotionScore (line 13) | pub struct MotionScore { method new (line 32) | pub fn new( method is_motion_detected (line 58) | pub fn is_motion_detected(&self, threshold: f64) -> bool { type MotionAnalysis (line 65) | pub struct MotionAnalysis { type HumanDetectionResult (line 87) | pub struct HumanDetectionResult { type DetectionMetadata (line 116) | pub struct DetectionMetadata { type MotionDetectorConfig (line 132) | pub struct MotionDetectorConfig { method builder (line 184) | pub fn builder() -> MotionDetectorConfigBuilder { method default (line 166) | fn default() -> Self { type MotionDetectorConfigBuilder (line 191) | pub struct MotionDetectorConfigBuilder { method new (line 197) | pub fn new() -> Self { method human_detection_threshold (line 204) | pub fn human_detection_threshold(mut self, threshold: f64) -> Self { method motion_threshold (line 210) | pub fn motion_threshold(mut self, threshold: f64) -> Self { method smoothing_factor (line 216) | pub fn smoothing_factor(mut self, factor: f64) -> Self { method amplitude_threshold (line 222) | pub fn amplitude_threshold(mut self, threshold: f64) -> Self { method phase_threshold (line 228) | pub fn phase_threshold(mut self, threshold: f64) -> Self { method history_size (line 234) | pub fn history_size(mut self, size: usize) -> Self { method adaptive_threshold (line 240) | pub fn adaptive_threshold(mut self, enable: bool) -> Self { method weights (line 246) | pub fn weights(mut self, amplitude: f64, phase: f64, motion: f64) -> S... method build (line 254) | pub fn build(self) -> MotionDetectorConfig { type MotionDetector (line 261) | pub struct MotionDetector { method new (line 272) | pub fn new(config: MotionDetectorConfig) -> Self { method default_config (line 284) | pub fn default_config() -> Self { method config (line 289) | pub fn config(&self) -> &MotionDetectorConfig { method analyze_motion (line 294) | pub fn analyze_motion(&self, features: &CsiFeatures) -> MotionAnalysis { method calculate_variance_score (line 347) | fn calculate_variance_score(&self, amplitude: &AmplitudeFeatures) -> f... method calculate_correlation_score (line 361) | fn calculate_correlation_score(&self, correlation: &CorrelationFeature... method calculate_phase_score (line 384) | fn calculate_phase_score(&self, phase: &PhaseFeatures) -> f64 { method calculate_temporal_variance (line 395) | fn calculate_temporal_variance(&self) -> f64 { method calculate_motion_confidence (line 407) | fn calculate_motion_confidence(&self, features: &CsiFeatures) -> f64 { method calculate_detection_confidence (line 441) | fn calculate_detection_confidence(&self, features: &CsiFeatures, motio... method apply_temporal_smoothing (line 476) | fn apply_temporal_smoothing(&mut self, raw_confidence: f64) -> f64 { method detect_human (line 484) | pub fn detect_human(&mut self, features: &CsiFeatures) -> HumanDetecti... method calculate_adaptive_threshold (line 536) | fn calculate_adaptive_threshold(&self) -> f64 { method calibrate (line 553) | pub fn calibrate(&mut self, features: &CsiFeatures) { method clear_calibration (line 560) | pub fn clear_calibration(&mut self) { method get_statistics (line 565) | pub fn get_statistics(&self) -> DetectionStatistics { method reset (line 580) | pub fn reset(&mut self) { method previous_confidence (line 588) | pub fn previous_confidence(&self) -> f64 { type DetectionStatistics (line 595) | pub struct DetectionStatistics { function create_test_csi_data (line 619) | fn create_test_csi_data(motion_level: f64) -> CsiData { function create_test_features (line 637) | fn create_test_features(motion_level: f64) -> CsiFeatures { function test_motion_score (line 644) | fn test_motion_score() { function test_motion_score_with_doppler (line 653) | fn test_motion_score_with_doppler() { function test_motion_detector_creation (line 660) | fn test_motion_detector_creation() { function test_motion_analysis (line 667) | fn test_motion_analysis() { function test_human_detection (line 677) | fn test_human_detection() { function test_temporal_smoothing (line 692) | fn test_temporal_smoothing() { function test_calibration (line 711) | fn test_calibration() { function test_detection_statistics (line 724) | fn test_detection_statistics() { function test_reset (line 738) | fn test_reset() { function test_adaptive_threshold (line 755) | fn test_adaptive_threshold() { function test_config_builder (line 778) | fn test_config_builder() { function test_low_motion_no_detection (line 803) | fn test_low_motion_no_detection() { function test_motion_history (line 820) | fn test_motion_history() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/phase_sanitizer.rs type PhaseSanitizationError (line 13) | pub enum PhaseSanitizationError { type UnwrappingMethod (line 45) | pub enum UnwrappingMethod { method default (line 60) | fn default() -> Self { type PhaseSanitizerConfig (line 67) | pub struct PhaseSanitizerConfig { method builder (line 110) | pub fn builder() -> PhaseSanitizerConfigBuilder { method validate (line 115) | pub fn validate(&self) -> Result<(), PhaseSanitizationError> { method default (line 94) | fn default() -> Self { type PhaseSanitizerConfigBuilder (line 140) | pub struct PhaseSanitizerConfigBuilder { method new (line 146) | pub fn new() -> Self { method unwrapping_method (line 153) | pub fn unwrapping_method(mut self, method: UnwrappingMethod) -> Self { method outlier_threshold (line 159) | pub fn outlier_threshold(mut self, threshold: f64) -> Self { method smoothing_window (line 165) | pub fn smoothing_window(mut self, window: usize) -> Self { method enable_outlier_removal (line 171) | pub fn enable_outlier_removal(mut self, enable: bool) -> Self { method enable_smoothing (line 177) | pub fn enable_smoothing(mut self, enable: bool) -> Self { method enable_noise_filtering (line 183) | pub fn enable_noise_filtering(mut self, enable: bool) -> Self { method noise_threshold (line 189) | pub fn noise_threshold(mut self, threshold: f64) -> Self { method phase_range (line 195) | pub fn phase_range(mut self, min: f64, max: f64) -> Self { method build (line 201) | pub fn build(self) -> PhaseSanitizerConfig { type SanitizationStatistics (line 208) | pub struct SanitizationStatistics { method outlier_rate (line 221) | pub fn outlier_rate(&self) -> f64 { method error_rate (line 230) | pub fn error_rate(&self) -> f64 { type PhaseSanitizer (line 241) | pub struct PhaseSanitizer { method new (line 248) | pub fn new(config: PhaseSanitizerConfig) -> Result &PhaseSanitizerConfig { method validate_phase_data (line 262) | pub fn validate_phase_data(&self, phase_data: &Array2) -> Result<... method unwrap_phase (line 285) | pub fn unwrap_phase(&self, phase_data: &Array2) -> Result) -> Result) -> Result) -> Result,... method unwrap_quality_guided (line 359) | fn unwrap_quality_guided(&self, phase_data: &Array2) -> Result) -> Array2) -> Result<... method detect_outliers (line 480) | fn detect_outliers(&mut self, phase_data: &Array2) -> Result f64 { method smooth_phase (line 571) | pub fn smooth_phase(&self, phase_data: &Array2) -> Result) -> Result) -> Result &SanitizationStatistics { method reset_statistics (line 676) | pub fn reset_statistics(&mut self) { method calculate_std_1d (line 681) | fn calculate_std_1d(&self, data: &[f64]) -> f64 { function create_test_phase_data (line 697) | fn create_test_phase_data() -> Array2 { function create_wrapped_phase_data (line 705) | fn create_wrapped_phase_data() -> Array2 { function test_config_validation (line 723) | fn test_config_validation() { function test_invalid_config (line 729) | fn test_invalid_config() { function test_sanitizer_creation (line 737) | fn test_sanitizer_creation() { function test_phase_validation (line 744) | fn test_phase_validation() { function test_phase_unwrapping (line 757) | fn test_phase_unwrapping() { function test_outlier_removal (line 779) | fn test_outlier_removal() { function test_phase_smoothing (line 804) | fn test_phase_smoothing() { function test_noise_filtering (line 820) | fn test_noise_filtering() { function test_complete_pipeline (line 833) | fn test_complete_pipeline() { function test_different_unwrapping_methods (line 853) | fn test_different_unwrapping_methods() { function test_empty_data_handling (line 875) | fn test_empty_data_handling() { function test_statistics (line 885) | fn test_statistics() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/adversarial.rs type AdversarialError (line 27) | pub enum AdversarialError { type AdversarialConfig (line 47) | pub struct AdversarialConfig { method default (line 63) | fn default() -> Self { type AnomalyType (line 81) | pub enum AnomalyType { method name (line 96) | pub fn name(&self) -> &'static str { type AdversarialResult (line 109) | pub struct AdversarialResult { type CheckResults (line 126) | pub struct CheckResults { type AdversarialDetector (line 147) | pub struct AdversarialDetector { method new (line 161) | pub fn new(config: AdversarialConfig) -> Result { method check (line 182) | pub fn check( method check_consistency (line 276) | fn check_consistency(&self, energies: &[f64], total: f64) -> f64 { method check_field_model (line 292) | fn check_field_model(&self, energies: &[f64], total: f64) -> f64 { method check_temporal (line 314) | fn check_temporal(&self, energies: &[f64], _total: f64) -> f64 { method check_energy (line 330) | fn check_energy(&self, total_energy: f64, n_bodies: usize) -> f64 { method find_anomalous_links (line 347) | fn find_anomalous_links(&self, energies: &[f64], total: f64) -> Vec u64 { method anomaly_count (line 366) | pub fn anomaly_count(&self) -> u64 { method anomaly_rate (line 371) | pub fn anomaly_rate(&self) -> f64 { method reset (line 380) | pub fn reset(&mut self) { function default_config (line 396) | fn default_config() -> AdversarialConfig { function test_detector_creation (line 408) | fn test_detector_creation() { function test_insufficient_links (line 415) | fn test_insufficient_links() { function test_clean_frame_no_anomaly (line 428) | fn test_clean_frame_no_anomaly() { function test_single_link_injection_detected (line 443) | fn test_single_link_injection_detected() { function test_empty_room_no_anomaly (line 458) | fn test_empty_room_no_anomaly() { function test_temporal_discontinuity (line 468) | fn test_temporal_discontinuity() { function test_energy_violation_too_high (line 490) | fn test_energy_violation_too_high() { function test_dimension_mismatch (line 504) | fn test_dimension_mismatch() { function test_anomaly_rate (line 514) | fn test_anomaly_rate() { function test_reset (line 531) | fn test_reset() { function test_anomaly_type_names (line 541) | fn test_anomaly_type_names() { function test_gini_coefficient_uniform (line 562) | fn test_gini_coefficient_uniform() { function test_gini_coefficient_concentrated (line 575) | fn test_gini_coefficient_concentrated() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/attractor_drift.rs type AttractorDriftConfig (line 35) | pub struct AttractorDriftConfig { method default (line 54) | fn default() -> Self { type AttractorDriftError (line 71) | pub enum AttractorDriftError { type BiophysicalAttractor (line 95) | pub enum BiophysicalAttractor { method is_concerning (line 113) | pub fn is_concerning(&self) -> bool { method label (line 121) | pub fn label(&self) -> &'static str { type AttractorDriftReport (line 138) | pub struct AttractorDriftReport { type MetricBuffer (line 159) | struct MetricBuffer { method new (line 172) | fn new(metric: DriftMetric, max_size: usize) -> Self { method push (line 182) | fn push(&mut self, value: f64) { method count (line 190) | fn count(&self) -> usize { type AttractorDriftAnalyzer (line 205) | pub struct AttractorDriftAnalyzer { method fmt (line 218) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 228) | pub fn new( method add_observation (line 252) | pub fn add_observation(&mut self, metric: DriftMetric, value: f64) { method analyze (line 262) | pub fn analyze( method observation_count (line 341) | pub fn observation_count(&self, metric: DriftMetric) -> usize { method analysis_count (line 349) | pub fn analysis_count(&self) -> u64 { method person_id (line 354) | pub fn person_id(&self) -> u64 { function default_analyzer (line 367) | fn default_analyzer() -> AttractorDriftAnalyzer { function test_analyzer_creation (line 372) | fn test_analyzer_creation() { function test_analyzer_invalid_embedding_dim (line 379) | fn test_analyzer_invalid_embedding_dim() { function test_add_observation (line 391) | fn test_add_observation() { function test_analyze_insufficient_data (line 399) | fn test_analyze_insufficient_data() { function test_analyze_stable_signal (line 412) | fn test_analyze_stable_signal() { function test_analyze_periodic_signal (line 436) | fn test_analyze_periodic_signal() { function test_regime_change_detection (line 458) | fn test_regime_change_detection() { function test_biophysical_attractor_labels (line 485) | fn test_biophysical_attractor_labels() { function test_biophysical_attractor_is_concerning (line 505) | fn test_biophysical_attractor_is_concerning() { function test_default_config (line 516) | fn test_default_config() { function test_metric_buffer_eviction (line 525) | fn test_metric_buffer_eviction() { function test_all_metrics_have_buffers (line 535) | fn test_all_metrics_have_buffers() { function test_transitioning_attractor (line 543) | fn test_transitioning_attractor() { function test_error_display (line 555) | fn test_error_display() { function test_debug_impl (line 568) | fn test_debug_impl() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/coherence.rs type CoherenceError (line 23) | pub enum CoherenceError { type DriftProfile (line 43) | pub enum DriftProfile { type CoherenceState (line 57) | pub struct CoherenceState { method new (line 78) | pub fn new(n_subcarriers: usize, accept_threshold: f32) -> Self { method with_decay (line 92) | pub fn with_decay( method score (line 106) | pub fn score(&self) -> f32 { method stale_count (line 111) | pub fn stale_count(&self) -> u64 { method drift_profile (line 116) | pub fn drift_profile(&self) -> DriftProfile { method reference (line 121) | pub fn reference(&self) -> &[f32] { method variance (line 126) | pub fn variance(&self) -> &[f32] { method is_initialized (line 131) | pub fn is_initialized(&self) -> bool { method initialize (line 139) | pub fn initialize(&mut self, calibration: &[f32]) { method update (line 151) | pub fn update( method update_reference (line 191) | fn update_reference(&mut self, observation: &[f32]) { method reset_stale (line 208) | pub fn reset_stale(&mut self) { function coherence_score (line 224) | pub fn coherence_score( function classify_drift (line 255) | fn classify_drift(score: f32, stale_count: u64) -> DriftProfile { function per_subcarrier_zscores (line 270) | pub fn per_subcarrier_zscores( function outlier_subcarriers (line 287) | pub fn outlier_subcarriers( function perfect_coherence (line 307) | fn perfect_coherence() { function zero_coherence_large_deviation (line 316) | fn zero_coherence_large_deviation() { function empty_input_gives_zero (line 325) | fn empty_input_gives_zero() { function state_initialize_and_score (line 330) | fn state_initialize_and_score() { function state_update_accepted (line 339) | fn state_update_accepted() { function state_update_rejected (line 348) | fn state_update_rejected() { function auto_initialize_on_first_update (line 356) | fn auto_initialize_on_first_update() { function length_mismatch_error (line 364) | fn length_mismatch_error() { function empty_update_error (line 372) | fn empty_update_error() { function invalid_decay_error (line 379) | fn invalid_decay_error() { function valid_decay (line 395) | fn valid_decay() { function drift_classification_stable (line 401) | fn drift_classification_stable() { function drift_classification_step_change (line 406) | fn drift_classification_step_change() { function drift_classification_linear (line 411) | fn drift_classification_linear() { function per_subcarrier_zscores_correct (line 416) | fn per_subcarrier_zscores_correct() { function outlier_subcarriers_detected (line 427) | fn outlier_subcarriers_detected() { function reset_stale_counter (line 439) | fn reset_stale_counter() { function reference_and_variance_accessible (line 449) | fn reference_and_variance_accessible() { function coherence_score_with_high_variance (line 456) | fn coherence_score_with_high_variance() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/coherence_gate.rs type GateDecision (line 18) | pub enum GateDecision { method allows_update (line 44) | pub fn allows_update(&self) -> bool { method is_rejected (line 49) | pub fn is_rejected(&self) -> bool { method noise_multiplier (line 54) | pub fn noise_multiplier(&self) -> Option { type GatePolicyConfig (line 64) | pub struct GatePolicyConfig { method default (line 78) | fn default() -> Self { type GatePolicy (line 91) | pub struct GatePolicy { method new (line 108) | pub fn new(accept: f32, reject: f32, max_stale: u64) -> Self { method from_config (line 120) | pub fn from_config(config: &GatePolicyConfig) -> Self { method evaluate (line 132) | pub fn evaluate(&mut self, coherence_score: f32, stale_count: u64) -> ... method last_decision (line 155) | pub fn last_decision(&self) -> Option<&GateDecision> { method consecutive_low_count (line 160) | pub fn consecutive_low_count(&self) -> u64 { method accept_threshold (line 165) | pub fn accept_threshold(&self) -> f32 { method reject_threshold (line 170) | pub fn reject_threshold(&self) -> f32 { method reset (line 175) | pub fn reset(&mut self) { method default (line 182) | fn default() -> Self { function adaptive_noise_multiplier (line 191) | pub fn adaptive_noise_multiplier( function accept_high_coherence (line 216) | fn accept_high_coherence() { function predict_only_moderate_coherence (line 225) | fn predict_only_moderate_coherence() { function reject_low_coherence (line 234) | fn reject_low_coherence() { function recalibrate_after_stale_timeout (line 243) | fn recalibrate_after_stale_timeout() { function recalibrate_overrides_accept (line 251) | fn recalibrate_overrides_accept() { function consecutive_low_counter (line 259) | fn consecutive_low_counter() { function last_decision_tracked (line 270) | fn last_decision_tracked() { function reset_clears_state (line 278) | fn reset_clears_state() { function noise_multiplier_accessor (line 288) | fn noise_multiplier_accessor() { function adaptive_noise_at_boundaries (line 300) | fn adaptive_noise_at_boundaries() { function adaptive_noise_midpoint (line 306) | fn adaptive_noise_midpoint() { function adaptive_noise_tiny_range (line 312) | fn adaptive_noise_tiny_range() { function default_config_values (line 322) | fn default_config_values() { function from_config_construction (line 332) | fn from_config_construction() { function boundary_at_exact_accept_threshold (line 346) | fn boundary_at_exact_accept_threshold() { function boundary_at_exact_reject_threshold (line 353) | fn boundary_at_exact_reject_threshold() { function boundary_just_below_reject_threshold (line 360) | fn boundary_just_below_reject_threshold() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/cross_room.rs type CrossRoomError (line 32) | pub enum CrossRoomError { type CrossRoomConfig (line 56) | pub struct CrossRoomConfig { method default (line 70) | fn default() -> Self { type RoomFingerprint (line 87) | pub struct RoomFingerprint { type ExitEvent (line 100) | pub struct ExitEvent { type EntryEvent (line 115) | pub struct EntryEvent { type TransitionEvent (line 128) | pub struct TransitionEvent { type MatchResult (line 149) | pub struct MatchResult { type CrossRoomTracker (line 170) | pub struct CrossRoomTracker { method new (line 184) | pub fn new(config: CrossRoomConfig) -> Self { method register_room (line 195) | pub fn register_room(&mut self, fingerprint: RoomFingerprint) -> Resul... method record_exit (line 221) | pub fn record_exit(&mut self, event: ExitEvent) -> Result<(), CrossRoo... method match_entry (line 240) | pub fn match_entry(&mut self, entry: &EntryEvent) -> Result usize { method pending_exit_count (line 330) | pub fn pending_exit_count(&self) -> usize { method transition_count (line 335) | pub fn transition_count(&self) -> usize { method transitions_for_person (line 340) | pub fn transitions_for_person(&self, person_id: u64) -> Vec<&Transitio... method transitions_between (line 348) | pub fn transitions_between(&self, from_room: u64, to_room: u64) -> Vec... method room_fingerprint (line 356) | pub fn room_fingerprint(&self, room_id: u64) -> Option<&RoomFingerprin... function cosine_similarity_f32 (line 362) | fn cosine_similarity_f32(a: &[f32], b: &[f32]) -> f32 { function small_config (line 382) | fn small_config() -> CrossRoomConfig { function make_fingerprint (line 392) | fn make_fingerprint(room_id: u64, v: [f32; 4]) -> RoomFingerprint { function make_exit (line 401) | fn make_exit(room_id: u64, track_id: u64, emb: [f32; 4], ts: u64) -> Exi... function make_entry (line 411) | fn make_entry(room_id: u64, track_id: u64, emb: [f32; 4], ts: u64) -> En... function test_tracker_creation (line 421) | fn test_tracker_creation() { function test_register_room (line 429) | fn test_register_room() { function test_max_rooms_exceeded (line 439) | fn test_max_rooms_exceeded() { function test_successful_cross_room_match (line 458) | fn test_successful_cross_room_match() { function test_no_match_different_person (line 481) | fn test_no_match_different_person() { function test_no_match_temporal_gap_exceeded (line 497) | fn test_no_match_temporal_gap_exceeded() { function test_no_match_same_room (line 512) | fn test_no_match_same_room() { function test_expire_exits (line 527) | fn test_expire_exits() { function test_transition_log_immutable (line 545) | fn test_transition_log_immutable() { function test_transitions_between_rooms (line 568) | fn test_transitions_between_rooms() { function test_embedding_dimension_mismatch (line 596) | fn test_embedding_dimension_mismatch() { function test_cosine_similarity_identical (line 613) | fn test_cosine_similarity_identical() { function test_cosine_similarity_orthogonal (line 620) | fn test_cosine_similarity_orthogonal() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/field_model.rs type FieldModelError (line 26) | pub enum FieldModelError { type WelfordStats (line 65) | pub struct WelfordStats { method new (line 76) | pub fn new() -> Self { method update (line 85) | pub fn update(&mut self, value: f64) { method variance (line 94) | pub fn variance(&self) -> f64 { method std_dev (line 103) | pub fn std_dev(&self) -> f64 { method sample_variance (line 108) | pub fn sample_variance(&self) -> f64 { method z_score (line 118) | pub fn z_score(&self, value: f64) -> f64 { method merge (line 128) | pub fn merge(&mut self, other: &WelfordStats) { method default (line 149) | fn default() -> Self { type LinkBaselineStats (line 163) | pub struct LinkBaselineStats { method new (line 170) | pub fn new(n_subcarriers: usize) -> Self { method n_subcarriers (line 177) | pub fn n_subcarriers(&self) -> usize { method update (line 183) | pub fn update(&mut self, amplitudes: &[f64]) -> Result<(), FieldModelE... method mean_vector (line 197) | pub fn mean_vector(&self) -> Vec { method variance_vector (line 202) | pub fn variance_vector(&self) -> Vec { method observation_count (line 207) | pub fn observation_count(&self) -> u64 { type FieldModelConfig (line 218) | pub struct FieldModelConfig { method default (line 232) | fn default() -> Self { type FieldNormalMode (line 249) | pub struct FieldNormalMode { type BodyPerturbation (line 271) | pub struct BodyPerturbation { type CalibrationStatus (line 284) | pub enum CalibrationStatus { type FieldModel (line 303) | pub struct FieldModel { method new (line 317) | pub fn new(config: FieldModelConfig) -> Result { method status (line 346) | pub fn status(&self) -> CalibrationStatus { method modes (line 351) | pub fn modes(&self) -> Option<&FieldNormalMode> { method calibration_frame_count (line 356) | pub fn calibration_frame_count(&self) -> u64 { method feed_calibration (line 365) | pub fn feed_calibration(&mut self, observations: &[Vec]) -> Resul... method finalize_calibration (line 386) | pub fn finalize_calibration( method extract_perturbation (line 475) | pub fn extract_perturbation( method check_freshness (line 545) | pub fn check_freshness(&self, current_us: u64) -> CalibrationStatus { method reset_calibration (line 560) | pub fn reset_calibration(&mut self) { function make_config (line 577) | fn make_config(n_links: usize, n_sc: usize, min_frames: usize) -> FieldM... function make_observations (line 587) | fn make_observations(n_links: usize, n_sc: usize, base: f64) -> Vec &'static str { type GestureTemplate (line 83) | pub struct GestureTemplate { type GestureResult (line 96) | pub struct GestureResult { type GestureConfig (line 119) | pub struct GestureConfig { method default (line 131) | fn default() -> Self { type GestureClassifier (line 150) | pub struct GestureClassifier { method new (line 157) | pub fn new(config: GestureConfig) -> Self { method add_template (line 165) | pub fn add_template(&mut self, template: GestureTemplate) -> Result<()... method template_count (line 188) | pub fn template_count(&self) -> usize { method classify (line 195) | pub fn classify( function dtw_distance (line 288) | fn dtw_distance(seq_a: &[Vec], seq_b: &[Vec], band_width: usiz... function euclidean_distance (line 331) | fn euclidean_distance(a: &[f64], b: &[f64]) -> f64 { function make_template (line 347) | fn make_template( function wave_pattern (line 365) | fn wave_pattern(t: usize, d: usize) -> f64 { function push_pattern (line 373) | fn push_pattern(t: usize, d: usize) -> f64 { function small_config (line 381) | fn small_config() -> GestureConfig { function test_classifier_creation (line 391) | fn test_classifier_creation() { function test_add_template (line 397) | fn test_add_template() { function test_add_template_empty_name (line 405) | fn test_add_template_empty_name() { function test_add_template_wrong_dim (line 415) | fn test_add_template_wrong_dim() { function test_add_template_too_short (line 425) | fn test_add_template_too_short() { function test_classify_no_templates (line 435) | fn test_classify_no_templates() { function test_classify_exact_match (line 445) | fn test_classify_exact_match() { function test_classify_best_of_two (line 465) | fn test_classify_best_of_two() { function test_classify_no_match_high_distance (line 500) | fn test_classify_no_match_high_distance() { function test_dtw_identical_sequences (line 526) | fn test_dtw_identical_sequences() { function test_dtw_different_sequences (line 536) | fn test_dtw_different_sequences() { function test_dtw_time_warped (line 547) | fn test_dtw_time_warped() { function test_euclidean_distance (line 565) | fn test_euclidean_distance() { function test_gesture_type_names (line 573) | fn test_gesture_type_names() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/intention.rs type IntentionError (line 30) | pub enum IntentionError { type IntentionConfig (line 50) | pub struct IntentionConfig { method default (line 68) | fn default() -> Self { type LeadSignal (line 87) | pub struct LeadSignal { type TrajectoryPoint (line 108) | struct TrajectoryPoint { type IntentionDetector (line 123) | pub struct IntentionDetector { method new (line 135) | pub fn new(config: IntentionConfig) -> Result { method update (line 158) | pub fn update( method reset (line 271) | pub fn reset(&mut self) { method history_len (line 277) | pub fn history_len(&self) -> usize { method total_frames (line 282) | pub fn total_frames(&self) -> u64 { function embedding_diff (line 292) | fn embedding_diff(a: &[f64], b: &[f64], dt: f64) -> Vec { function embedding_second_diff (line 300) | fn embedding_second_diff(a: &[f64], b: &[f64], c: &[f64], dt: f64) -> Ve... function l2_norm_f64 (line 310) | fn l2_norm_f64(v: &[f64]) -> f64 { function make_config (line 322) | fn make_config() -> IntentionConfig { function static_embedding (line 334) | fn static_embedding() -> Vec { function test_creation (line 339) | fn test_creation() { function test_invalid_config_zero_dim (line 347) | fn test_invalid_config_zero_dim() { function test_invalid_config_small_window (line 359) | fn test_invalid_config_small_window() { function test_dimension_mismatch (line 371) | fn test_dimension_mismatch() { function test_static_scene_no_detection (line 382) | fn test_static_scene_no_detection() { function test_gradual_acceleration_detected (line 398) | fn test_gradual_acceleration_detected() { function test_constant_velocity_no_detection (line 424) | fn test_constant_velocity_no_detection() { function test_reset (line 441) | fn test_reset() { function test_lead_signal_fields (line 457) | fn test_lead_signal_fields() { function test_window_size_limit (line 476) | fn test_window_size_limit() { function test_embedding_diff (line 492) | fn test_embedding_diff() { function test_embedding_second_diff (line 501) | fn test_embedding_second_diff() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/longitudinal.rs type LongitudinalError (line 27) | pub enum LongitudinalError { type DriftMetric (line 51) | pub enum DriftMetric { method all (line 66) | pub fn all() -> &'static [DriftMetric] { method name (line 77) | pub fn name(&self) -> &'static str { type DriftDirection (line 90) | pub enum DriftDirection { type MonitoringLevel (line 99) | pub enum MonitoringLevel { type DriftReport (line 110) | pub struct DriftReport { type DailyMetricSummary (line 135) | pub struct DailyMetricSummary { type PersonalBaseline (line 156) | pub struct PersonalBaseline { method new (line 179) | pub fn new(person_id: u64, embedding_dim: usize) -> Self { method stats_for (line 195) | pub fn stats_for(&self, metric: DriftMetric) -> &WelfordStats { method stats_for_mut (line 206) | fn stats_for_mut(&mut self, metric: DriftMetric) -> &mut WelfordStats { method metric_index (line 217) | fn metric_index(metric: DriftMetric) -> usize { method is_ready (line 228) | pub fn is_ready(&self) -> bool { method update_daily (line 235) | pub fn update_daily( method is_ready_at (line 312) | fn is_ready_at(&self, days: u32) -> bool { method drift_days (line 317) | pub fn drift_days(&self, metric: DriftMetric) -> u32 { type EmbeddingEntry (line 328) | pub struct EmbeddingEntry { type EmbeddingHistory (line 343) | pub struct EmbeddingHistory { method new (line 351) | pub fn new(embedding_dim: usize, max_entries: usize) -> Self { method push (line 360) | pub fn push(&mut self, entry: EmbeddingEntry) -> Result<(), Longitudin... method search (line 375) | pub fn search(&self, query: &[f32], k: usize) -> Vec<(usize, f32)> { method len (line 389) | pub fn len(&self) -> usize { method is_empty (line 394) | pub fn is_empty(&self) -> bool { method get (line 399) | pub fn get(&self, index: usize) -> Option<&EmbeddingEntry> { method entries_for_person (line 404) | pub fn entries_for_person(&self, person_id: u64) -> Vec<&EmbeddingEntr... function cosine_similarity (line 413) | fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 { function make_daily_summary (line 433) | fn make_daily_summary(person_id: u64, day: u64, values: [f64; 5]) -> Dai... function test_personal_baseline_creation (line 449) | fn test_personal_baseline_creation() { function test_baseline_not_ready_before_7_days (line 458) | fn test_baseline_not_ready_before_7_days() { function test_baseline_ready_after_7_days (line 469) | fn test_baseline_ready_after_7_days() { function test_stable_metrics_no_drift (line 480) | fn test_stable_metrics_no_drift() { function test_drift_detected_after_sustained_deviation (line 495) | fn test_drift_detected_after_sustained_deviation() { function test_drift_resolves_when_metric_returns (line 526) | fn test_drift_resolves_when_metric_returns() { function test_monitoring_level_escalation (line 554) | fn test_monitoring_level_escalation() { function test_embedding_history_push_and_search (line 585) | fn test_embedding_history_push_and_search() { function test_embedding_history_dimension_mismatch (line 617) | fn test_embedding_history_dimension_mismatch() { function test_embedding_history_fifo_eviction (line 631) | fn test_embedding_history_fifo_eviction() { function test_entries_for_person (line 648) | fn test_entries_for_person() { function test_drift_metric_names (line 677) | fn test_drift_metric_names() { function test_cosine_similarity_unit_vectors (line 684) | fn test_cosine_similarity_unit_vectors() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/mod.rs constant NUM_KEYPOINTS (line 70) | pub const NUM_KEYPOINTS: usize = 17; constant NOSE (line 74) | pub const NOSE: usize = 0; constant LEFT_EYE (line 75) | pub const LEFT_EYE: usize = 1; constant RIGHT_EYE (line 76) | pub const RIGHT_EYE: usize = 2; constant LEFT_EAR (line 77) | pub const LEFT_EAR: usize = 3; constant RIGHT_EAR (line 78) | pub const RIGHT_EAR: usize = 4; constant LEFT_SHOULDER (line 79) | pub const LEFT_SHOULDER: usize = 5; constant RIGHT_SHOULDER (line 80) | pub const RIGHT_SHOULDER: usize = 6; constant LEFT_ELBOW (line 81) | pub const LEFT_ELBOW: usize = 7; constant RIGHT_ELBOW (line 82) | pub const RIGHT_ELBOW: usize = 8; constant LEFT_WRIST (line 83) | pub const LEFT_WRIST: usize = 9; constant RIGHT_WRIST (line 84) | pub const RIGHT_WRIST: usize = 10; constant LEFT_HIP (line 85) | pub const LEFT_HIP: usize = 11; constant RIGHT_HIP (line 86) | pub const RIGHT_HIP: usize = 12; constant LEFT_KNEE (line 87) | pub const LEFT_KNEE: usize = 13; constant RIGHT_KNEE (line 88) | pub const RIGHT_KNEE: usize = 14; constant LEFT_ANKLE (line 89) | pub const LEFT_ANKLE: usize = 15; constant RIGHT_ANKLE (line 90) | pub const RIGHT_ANKLE: usize = 16; constant TORSO_INDICES (line 93) | pub const TORSO_INDICES: &[usize] = &[ type TrackId (line 103) | pub struct TrackId(pub u64); method new (line 107) | pub fn new(id: u64) -> Self { method fmt (line 113) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type RuvSenseError (line 120) | pub enum RuvSenseError { type Result (line 143) | pub type Result = std::result::Result; type RuvSenseConfig (line 147) | pub struct RuvSenseConfig { method default (line 165) | fn default() -> Self { type RuvSensePipeline (line 183) | pub struct RuvSensePipeline { method new (line 193) | pub fn new() -> Self { method with_config (line 198) | pub fn with_config(config: RuvSenseConfig) -> Self { method config (line 214) | pub fn config(&self) -> &RuvSenseConfig { method frame_count (line 219) | pub fn frame_count(&self) -> u64 { method coherence_state (line 224) | pub fn coherence_state(&self) -> &CoherenceState { method tick (line 229) | pub fn tick(&mut self) { method default (line 235) | fn default() -> Self { function default_config_values (line 245) | fn default_config_values() { function pipeline_creation_defaults (line 257) | fn pipeline_creation_defaults() { function pipeline_tick_increments (line 264) | fn pipeline_tick_increments() { function track_id_display (line 273) | fn track_id_display() { function track_id_equality (line 280) | fn track_id_equality() { function keypoint_constants (line 286) | fn keypoint_constants() { function num_keypoints_is_17 (line 294) | fn num_keypoints_is_17() { function custom_config_pipeline (line 299) | fn custom_config_pipeline() { function error_display (line 315) | fn error_display() { function pipeline_coherence_state_accessible (line 322) | fn pipeline_coherence_state_accessible() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/multiband.rs type MultiBandError (line 17) | pub enum MultiBandError { type MultiBandCsiFrame (line 44) | pub struct MultiBandCsiFrame { type MultiBandConfig (line 59) | pub struct MultiBandConfig { method default (line 70) | fn default() -> Self { type MultiBandBuilder (line 81) | pub struct MultiBandBuilder { method new (line 90) | pub fn new(node_id: u8, timestamp_us: u64) -> Self { method add_channel (line 100) | pub fn add_channel( method build (line 113) | pub fn build(mut self) -> std::result::Result f32 { function pearson_correlation_f32 (line 207) | fn pearson_correlation_f32(a: &[f32], b: &[f32]) -> f32 { function concatenate_amplitudes (line 240) | pub fn concatenate_amplitudes(frame: &MultiBandCsiFrame) -> Vec { function mean_amplitude (line 251) | pub fn mean_amplitude(frame: &MultiBandCsiFrame) -> Vec { function make_canonical (line 280) | fn make_canonical(amplitude: Vec, phase: Vec) -> CanonicalCsiF... function make_frame (line 288) | fn make_frame(n_sub: usize, scale: f32) -> CanonicalCsiFrame { function build_single_channel (line 295) | fn build_single_channel() { function build_three_channels_sorted_by_freq (line 308) | fn build_three_channels_sorted_by_freq() { function empty_frames_error (line 320) | fn empty_frames_error() { function subcarrier_mismatch_error (line 326) | fn subcarrier_mismatch_error() { function duplicate_frequency_error (line 335) | fn duplicate_frequency_error() { function coherence_identical_channels (line 344) | fn coherence_identical_channels() { function coherence_orthogonal_channels (line 356) | fn coherence_orthogonal_channels() { function concatenate_amplitudes_correct_length (line 372) | fn concatenate_amplitudes_correct_length() { function mean_amplitude_correct (line 384) | fn mean_amplitude_correct() { function mean_amplitude_empty (line 402) | fn mean_amplitude_empty() { function pearson_correlation_perfect (line 414) | fn pearson_correlation_perfect() { function pearson_correlation_negative (line 422) | fn pearson_correlation_negative() { function pearson_correlation_empty (line 430) | fn pearson_correlation_empty() { function default_config (line 435) | fn default_config() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/multistatic.rs type MultistaticError (line 25) | pub enum MultistaticError { type FusedSensingFrame (line 52) | pub struct FusedSensingFrame { type MultistaticConfig (line 74) | pub struct MultistaticConfig { method default (line 89) | fn default() -> Self { type MultistaticFuser (line 104) | pub struct MultistaticFuser { method new (line 112) | pub fn new() -> Self { method with_config (line 120) | pub fn with_config(config: MultistaticConfig) -> Self { method set_node_positions (line 128) | pub fn set_node_positions(&mut self, positions: Vec<[f32; 3]>) { method node_positions (line 133) | pub fn node_positions(&self) -> &[[f32; 3]] { method fuse (line 142) | pub fn fuse( method default (line 231) | fn default() -> Self { function attention_weighted_fusion (line 240) | fn attention_weighted_fusion( function compute_weight_coherence (line 317) | fn compute_weight_coherence(weights: &[f32]) -> f32 { function geometric_diversity (line 343) | pub fn geometric_diversity(positions: &[[f32; 3]]) -> f32 { type PersonCluster (line 388) | pub struct PersonCluster { function make_node_frame (line 402) | fn make_node_frame( function fuse_single_node_fallback (line 424) | fn fuse_single_node_fallback() { function fuse_two_identical_nodes (line 434) | fn fuse_two_identical_nodes() { function fuse_four_nodes (line 446) | fn fuse_four_nodes() { function empty_frames_error (line 456) | fn empty_frames_error() { function timestamp_mismatch_error (line 462) | fn timestamp_mismatch_error() { function dimension_mismatch_error (line 477) | fn dimension_mismatch_error() { function node_positions_set_and_retrieved (line 488) | fn node_positions_set_and_retrieved() { function fused_positions_filled (line 496) | fn fused_positions_filled() { function geometric_diversity_single_node (line 509) | fn geometric_diversity_single_node() { function geometric_diversity_two_opposite (line 514) | fn geometric_diversity_two_opposite() { function geometric_diversity_four_corners (line 520) | fn geometric_diversity_four_corners() { function weight_coherence_uniform (line 531) | fn weight_coherence_uniform() { function weight_coherence_single_dominant (line 538) | fn weight_coherence_single_dominant() { function default_config (line 545) | fn default_config() { function person_cluster_creation (line 554) | fn person_cluster_creation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/phase_align.rs type PhaseAlignError (line 23) | pub enum PhaseAlignError { type PhaseAlignConfig (line 43) | pub struct PhaseAlignConfig { method default (line 55) | fn default() -> Self { type PhaseAligner (line 70) | pub struct PhaseAligner { method new (line 81) | pub fn new(num_channels: usize) -> Self { method with_config (line 90) | pub fn with_config(num_channels: usize, config: PhaseAlignConfig) -> S... method last_offsets (line 99) | pub fn last_offsets(&self) -> &[f32] { method align (line 116) | pub fn align( function find_static_subcarriers (line 155) | fn find_static_subcarriers( function estimate_phase_offsets (line 204) | fn estimate_phase_offsets( function apply_phase_correction (line 252) | fn apply_phase_correction( function mean_phase_on_indices (line 275) | fn mean_phase_on_indices(phase: &[f32], indices: &[usize]) -> f32 { function wrap_phase (line 295) | fn wrap_phase(phase: f32) -> f32 { function make_frame_with_phase (line 311) | fn make_frame_with_phase(n: usize, base_phase: f32, offset: f32) -> Cano... function single_channel_no_change (line 322) | fn single_channel_no_change() { function empty_frames_error (line 331) | fn empty_frames_error() { function phase_length_mismatch_error (line 338) | fn phase_length_mismatch_error() { function identical_channels_zero_offset (line 347) | fn identical_channels_zero_offset() { function known_offset_corrected (line 359) | fn known_offset_corrected() { function wrap_phase_within_range (line 383) | fn wrap_phase_within_range() { function mean_phase_circular (line 392) | fn mean_phase_circular() { function mean_phase_empty_indices (line 400) | fn mean_phase_empty_indices() { function last_offsets_accessible (line 405) | fn last_offsets_accessible() { function custom_config (line 412) | fn custom_config() { function three_channel_alignment (line 424) | fn three_channel_alignment() { function default_config_values (line 438) | fn default_config_values() { function phase_correction_preserves_amplitude (line 447) | fn phase_correction_preserves_amplitude() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/pose_tracker.rs type PoseTrackerError (line 35) | pub enum PoseTrackerError { type KeypointState (line 62) | pub struct KeypointState { method new (line 79) | pub fn new(x: f32, y: f32, z: f32) -> Self { method position (line 99) | pub fn position(&self) -> [f32; 3] { method velocity (line 104) | pub fn velocity(&self) -> [f32; 3] { method predict (line 112) | pub fn predict(&mut self, dt: f32, process_noise_accel: f32) { method update (line 145) | pub fn update( method mahalanobis_distance (line 193) | pub fn mahalanobis_distance(&self, measurement: &[f32; 3]) -> f32 { method default (line 213) | fn default() -> Self { type TrackLifecycleState (line 223) | pub enum TrackLifecycleState { method is_alive (line 236) | pub fn is_alive(&self) -> bool { method accepts_updates (line 241) | pub fn accepts_updates(&self) -> bool { method is_lost (line 246) | pub fn is_lost(&self) -> bool { type PoseTrack (line 255) | pub struct PoseTrack { method new (line 278) | pub fn new( method predict (line 303) | pub fn predict(&mut self, dt: f32, process_noise: f32) { method update_keypoints (line 314) | pub fn update_keypoints( method update_embedding (line 334) | pub fn update_embedding(&mut self, new_embedding: &[f32], decay: f32) { method centroid (line 346) | pub fn centroid(&self) -> [f32; 3] { method torso_jitter_rms (line 365) | pub fn torso_jitter_rms(&self) -> f32 { method mark_lost (line 385) | pub fn mark_lost(&mut self) { method terminate (line 392) | pub fn terminate(&mut self) { method update_lifecycle (line 397) | fn update_lifecycle(&mut self) { type TrackerConfig (line 417) | pub struct TrackerConfig { method default (line 441) | fn default() -> Self { type PoseTracker (line 462) | pub struct PoseTracker { method new (line 470) | pub fn new() -> Self { method with_config (line 479) | pub fn with_config(config: TrackerConfig) -> Self { method active_tracks (line 488) | pub fn active_tracks(&self) -> Vec<&PoseTrack> { method all_tracks (line 496) | pub fn all_tracks(&self) -> &[PoseTrack] { method active_count (line 501) | pub fn active_count(&self) -> usize { method predict_all (line 506) | pub fn predict_all(&mut self, dt: f32) { method create_track (line 532) | pub fn create_track( method find_track (line 546) | pub fn find_track(&self, id: TrackId) -> Option<&PoseTrack> { method find_track_mut (line 551) | pub fn find_track_mut(&mut self, id: TrackId) -> Option<&mut PoseTrack> { method prune_terminated (line 556) | pub fn prune_terminated(&mut self) { method assignment_cost (line 565) | pub fn assignment_cost( method default (line 584) | fn default() -> Self { function cosine_similarity (line 592) | pub fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 { type PoseDetection (line 618) | pub struct PoseDetection { method positions (line 627) | pub fn positions(&self) -> [[f32; 3]; NUM_KEYPOINTS] { method centroid (line 632) | pub fn centroid(&self) -> [f32; 3] { method mean_confidence (line 647) | pub fn mean_confidence(&self) -> f32 { constant BONE_LENGTHS (line 662) | const BONE_LENGTHS: &[(usize, usize, f32)] = &[ type SkeletonConstraints (line 683) | pub struct SkeletonConstraints; constant TOLERANCE (line 687) | const TOLERANCE: f32 = 0.30; constant ITERATIONS (line 690) | const ITERATIONS: usize = 3; method enforce_constraints (line 697) | pub fn enforce_constraints(keypoints: &mut [[f32; 3]; 17]) { type CompressedPoseHistory (line 740) | pub struct CompressedPoseHistory { method new (line 757) | pub fn new(max_hot: usize, max_warm: usize, scale: f32) -> Self { method push (line 772) | pub fn push(&mut self, pose: &[[f32; 3]; 17]) { method similarity (line 790) | pub fn similarity(&self, pose: &[[f32; 3]; 17]) -> f32 { method len (line 818) | pub fn len(&self) -> usize { method is_empty (line 823) | pub fn is_empty(&self) -> bool { method quantise (line 829) | fn quantise(&self, pose: &[[f32; 3]; 17]) -> [[i16; 3]; 17] { method default (line 845) | fn default() -> Self { type TemporalKeypointAttention (line 863) | pub struct TemporalKeypointAttention { constant DEFAULT_WINDOW (line 875) | pub const DEFAULT_WINDOW: usize = 10; constant DEFAULT_DECAY (line 877) | pub const DEFAULT_DECAY: f32 = 0.7; constant MAX_BONE_CHANGE (line 879) | pub const MAX_BONE_CHANGE: f32 = 0.20; method new (line 882) | pub fn new() -> Self { method with_params (line 891) | pub fn with_params(window_size: usize, decay: f32) -> Self { method smooth_keypoints (line 904) | pub fn smooth_keypoints( method clamp_bone_lengths (line 952) | fn clamp_bone_lengths( method bone_len (line 983) | fn bone_len(pose: &[[f32; 3]; NUM_KEYPOINTS], a: usize, b: usize) -> f... method len (line 991) | pub fn len(&self) -> usize { method is_empty (line 996) | pub fn is_empty(&self) -> bool { method clear (line 1001) | pub fn clear(&mut self) { method default (line 1007) | fn default() -> Self { function zero_positions (line 1016) | fn zero_positions() -> [[f32; 3]; NUM_KEYPOINTS] { function offset_positions (line 1021) | fn offset_positions(offset: f32) -> [[f32; 3]; NUM_KEYPOINTS] { function keypoint_state_creation (line 1026) | fn keypoint_state_creation() { function keypoint_predict_moves_position (line 1034) | fn keypoint_predict_moves_position() { function keypoint_predict_increases_uncertainty (line 1042) | fn keypoint_predict_increases_uncertainty() { function keypoint_update_reduces_uncertainty (line 1050) | fn keypoint_update_reduces_uncertainty() { function mahalanobis_zero_distance (line 1059) | fn mahalanobis_zero_distance() { function mahalanobis_positive_for_offset (line 1066) | fn mahalanobis_positive_for_offset() { function lifecycle_transitions (line 1073) | fn lifecycle_transitions() { function track_creation (line 1089) | fn track_creation() { function track_birth_gate (line 1100) | fn track_birth_gate() { function track_loss_gate (line 1111) | fn track_loss_gate() { function track_centroid (line 1128) | fn track_centroid() { function track_embedding_update (line 1139) | fn track_embedding_update() { function tracker_create_and_find (line 1151) | fn tracker_create_and_find() { function tracker_predict_marks_lost (line 1160) | fn tracker_predict_marks_lost() { function tracker_prune_terminated (line 1184) | fn tracker_prune_terminated() { function cosine_similarity_identical (line 1197) | fn cosine_similarity_identical() { function cosine_similarity_orthogonal (line 1204) | fn cosine_similarity_orthogonal() { function cosine_similarity_opposite (line 1211) | fn cosine_similarity_opposite() { function cosine_similarity_empty (line 1218) | fn cosine_similarity_empty() { function pose_detection_centroid (line 1223) | fn pose_detection_centroid() { function pose_detection_mean_confidence (line 1235) | fn pose_detection_mean_confidence() { function pose_detection_positions (line 1246) | fn pose_detection_positions() { function assignment_cost_computation (line 1259) | fn assignment_cost_computation() { function torso_jitter_rms_stationary (line 1273) | fn torso_jitter_rms_stationary() { function default_tracker_config (line 1281) | fn default_tracker_config() { function track_terminate_prevents_lost (line 1296) | fn track_terminate_prevents_lost() { function valid_skeleton (line 1310) | fn valid_skeleton() -> [[f32; 3]; 17] { function test_valid_skeleton_unchanged (line 1335) | fn test_valid_skeleton_unchanged() { function test_stretched_bone_corrected (line 1357) | fn test_stretched_bone_corrected() { function test_zero_skeleton_handled (line 1395) | fn test_zero_skeleton_handled() { function compressed_history_push_and_len (line 1413) | fn compressed_history_push_and_len() { function compressed_history_warm_overflow (line 1434) | fn compressed_history_warm_overflow() { function compressed_history_similarity_identical (line 1447) | fn compressed_history_similarity_identical() { function compressed_history_similarity_empty (line 1461) | fn compressed_history_similarity_empty() { function compressed_history_default (line 1468) | fn compressed_history_default() { function temporal_attention_empty_returns_input (line 1478) | fn temporal_attention_empty_returns_input() { function temporal_attention_smooths_jitter (line 1489) | fn temporal_attention_smooths_jitter() { function temporal_attention_window_size_capped (line 1505) | fn temporal_attention_window_size_capped() { function temporal_attention_clear (line 1515) | fn temporal_attention_clear() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/temporal_gesture.rs type GestureAlgorithm (line 29) | pub enum GestureAlgorithm { method to_comparison_algorithm (line 40) | pub fn to_comparison_algorithm(&self) -> ComparisonAlgorithm { type TemporalGestureConfig (line 51) | pub struct TemporalGestureConfig { method default (line 67) | fn default() -> Self { type TemporalGestureClassifier (line 88) | pub struct TemporalGestureClassifier { method new (line 101) | pub fn new(config: TemporalGestureConfig) -> Self { method add_template (line 115) | pub fn add_template( method template_count (line 144) | pub fn template_count(&self) -> usize { method classify (line 152) | pub fn classify( method cache_stats (line 246) | pub fn cache_stats(&self) -> midstreamer_temporal_compare::CacheStats { method algorithm (line 251) | pub fn algorithm(&self) -> GestureAlgorithm { method to_sequence (line 259) | fn to_sequence(frames: &[Vec]) -> Sequence { method fmt (line 272) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { function make_template (line 289) | fn make_template( function wave_pattern (line 307) | fn wave_pattern(t: usize, d: usize) -> f64 { function push_pattern (line 315) | fn push_pattern(t: usize, d: usize) -> f64 { function small_config (line 323) | fn small_config() -> TemporalGestureConfig { function test_temporal_classifier_creation (line 340) | fn test_temporal_classifier_creation() { function test_temporal_add_template (line 347) | fn test_temporal_add_template() { function test_temporal_add_template_empty_name (line 355) | fn test_temporal_add_template_empty_name() { function test_temporal_add_template_wrong_dim (line 365) | fn test_temporal_add_template_wrong_dim() { function test_temporal_classify_no_templates (line 375) | fn test_temporal_classify_no_templates() { function test_temporal_classify_too_short (line 385) | fn test_temporal_classify_too_short() { function test_temporal_classify_exact_match (line 398) | fn test_temporal_classify_exact_match() { function test_temporal_classify_best_of_two (line 414) | fn test_temporal_classify_best_of_two() { function test_temporal_algorithm_selection (line 432) | fn test_temporal_algorithm_selection() { function test_temporal_lcs_algorithm (line 448) | fn test_temporal_lcs_algorithm() { function test_temporal_edit_distance_algorithm (line 467) | fn test_temporal_edit_distance_algorithm() { function test_temporal_default_config (line 486) | fn test_temporal_default_config() { function test_temporal_cache_stats (line 495) | fn test_temporal_cache_stats() { function test_to_sequence_conversion (line 503) | fn test_to_sequence_conversion() { function test_debug_impl (line 512) | fn test_debug_impl() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/ruvsense/tomography.rs type TomographyError (line 24) | pub enum TomographyError { type TomographyConfig (line 48) | pub struct TomographyConfig { method default (line 68) | fn default() -> Self { type Position3D (line 88) | pub struct Position3D { type LinkGeometry (line 96) | pub struct LinkGeometry { method distance (line 107) | pub fn distance(&self) -> f64 { type OccupancyVolume (line 121) | pub struct OccupancyVolume { method get (line 142) | pub fn get(&self, ix: usize, iy: usize, iz: usize) -> Option { method voxel_size (line 151) | pub fn voxel_size(&self) -> [f64; 3] { method voxel_center (line 160) | pub fn voxel_center(&self, ix: usize, iy: usize, iz: usize) -> Positio... type RfTomographer (line 178) | pub struct RfTomographer { method new (line 189) | pub fn new(config: TomographyConfig, links: &[LinkGeometry]) -> Result... method reconstruct (line 236) | pub fn reconstruct(&self, attenuations: &[f64]) -> Result usize { method n_voxels (line 331) | pub fn n_voxels(&self) -> usize { function compute_link_weights (line 345) | fn compute_link_weights(link: &LinkGeometry, config: &TomographyConfig) ... function point_to_segment_distance (line 388) | fn point_to_segment_distance( function make_square_links (line 423) | fn make_square_links() -> Vec { function test_tomographer_creation (line 465) | fn test_tomographer_creation() { function test_insufficient_links (line 477) | fn test_insufficient_links() { function test_invalid_grid (line 502) | fn test_invalid_grid() { function test_zero_attenuation_empty_room (line 515) | fn test_zero_attenuation_empty_room() { function test_nonzero_attenuation_produces_density (line 537) | fn test_nonzero_attenuation_produces_density() { function test_observation_mismatch (line 561) | fn test_observation_mismatch() { function test_voxel_access (line 577) | fn test_voxel_access() { function test_voxel_center (line 598) | fn test_voxel_center() { function test_voxel_size (line 619) | fn test_voxel_size() { function test_point_to_segment_distance (line 641) | fn test_point_to_segment_distance() { function test_link_distance (line 652) | fn test_link_distance() { function test_solver_convergence (line 670) | fn test_solver_convergence() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/spectrogram.rs type SpectrogramConfig (line 18) | pub struct SpectrogramConfig { method default (line 30) | fn default() -> Self { type WindowFunction (line 42) | pub enum WindowFunction { type Spectrogram (line 55) | pub struct Spectrogram { function compute_spectrogram (line 72) | pub fn compute_spectrogram( function compute_multi_subcarrier_spectrogram (line 132) | pub fn compute_multi_subcarrier_spectrogram( function make_window (line 149) | fn make_window(kind: WindowFunction, size: usize) -> Vec { function gate_spectrogram (line 182) | pub fn gate_spectrogram( type SpectrogramError (line 211) | pub enum SpectrogramError { function test_spectrogram_dimensions (line 227) | fn test_spectrogram_dimensions() { function test_single_frequency_peak (line 247) | fn test_single_frequency_peak() { function test_window_functions_symmetric (line 283) | fn test_window_functions_symmetric() { function test_rectangular_window_all_ones (line 302) | fn test_rectangular_window_all_ones() { function test_signal_too_short (line 308) | fn test_signal_too_short() { function test_multi_subcarrier (line 321) | fn test_multi_subcarrier() { function gate_spectrogram_preserves_shape (line 348) | fn gate_spectrogram_preserves_shape() { function gate_spectrogram_zero_lambda_is_identity_ish (line 357) | fn gate_spectrogram_zero_lambda_is_identity_ish() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/src/subcarrier_selection.rs type SubcarrierSelectionConfig (line 16) | pub struct SubcarrierSelectionConfig { method default (line 24) | fn default() -> Self { type SubcarrierSelection (line 34) | pub struct SubcarrierSelection { function select_sensitive_subcarriers (line 49) | pub fn select_sensitive_subcarriers( function extract_selected (line 102) | pub fn extract_selected( function select_by_variance (line 134) | pub fn select_by_variance( function column_variance (line 162) | fn column_variance(data: &Array2, col: usize) -> f64 { function mincut_subcarrier_partition (line 183) | pub fn mincut_subcarrier_partition(sensitivity: &[f32]) -> (Vec, ... type SelectionError (line 244) | pub enum SelectionError { function test_sensitive_subcarriers_ranked (line 263) | fn test_sensitive_subcarriers_ranked() { function test_top_k_limits_output (line 288) | fn test_top_k_limits_output() { function test_min_sensitivity_filter (line 303) | fn test_min_sensitivity_filter() { function test_extract_selected_columns (line 317) | fn test_extract_selected_columns() { function test_variance_based_selection (line 337) | fn test_variance_based_selection() { function test_mismatch_error (line 354) | fn test_mismatch_error() { function mincut_partition_separates_high_low (line 370) | fn mincut_partition_separates_high_low() { function mincut_partition_small_input (line 383) | fn mincut_partition_small_input() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-signal/tests/validation_test.rs function validate_phase_unwrapping_correctness (line 17) | fn validate_phase_unwrapping_correctness() { function validate_amplitude_rms (line 58) | fn validate_amplitude_rms() { function validate_doppler_calculation (line 89) | fn validate_doppler_calculation() { function validate_spectral_analysis (line 137) | fn validate_spectral_analysis() { function validate_complex_conversion (line 172) | fn validate_complex_conversion() { function validate_motion_detection_sensitivity (line 217) | fn validate_motion_detection_sensitivity() { function validate_correlation_features (line 246) | fn validate_correlation_features() { function validate_phase_coherence (line 277) | fn validate_phase_coherence() { function validate_feature_extraction_complete (line 307) | fn validate_feature_extraction_complete() { function validate_dynamic_range (line 330) | fn validate_dynamic_range() { function create_test_csi (line 362) | fn create_test_csi(antennas: usize, subcarriers: usize) -> CsiData { function create_static_features (line 380) | fn create_static_features() -> CsiFeatures { function create_motion_features (line 391) | fn create_motion_features(variation: f64) -> CsiFeatures { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/benches/training_bench.rs function bench_interp_114_to_56_batch32 (line 31) | fn bench_interp_114_to_56_batch32(c: &mut Criterion) { function bench_interp_scaling (line 54) | fn bench_interp_scaling(c: &mut Criterion) { function bench_compute_interp_weights (line 87) | fn bench_compute_interp_weights(c: &mut Criterion) { function bench_synthetic_get (line 100) | fn bench_synthetic_get(c: &mut Criterion) { function bench_synthetic_epoch (line 111) | fn bench_synthetic_epoch(c: &mut Criterion) { function bench_config_validate (line 138) | fn bench_config_validate(c: &mut Criterion) { function compute_pck (line 153) | fn compute_pck(pred: &[[f32; 2]], gt: &[[f32; 2]], threshold: f32) -> f32 { function bench_pck_100_samples (line 171) | fn bench_pck_100_samples(c: &mut Criterion) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/bin/train.rs type Args (line 47) | struct Args { function main (line 85) | fn main() { function run_training (line 229) | fn run_training( function run_training (line 262) | fn run_training( function log_config_summary (line 284) | fn log_config_summary(config: &TrainingConfig) { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/bin/verify_training.rs type Args (line 52) | struct Args { function main (line 77) | fn main() { function print_banner (line 260) | fn print_banner() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/config.rs type TrainingConfig (line 35) | pub struct TrainingConfig { method from_json (line 207) | pub fn from_json(path: &Path) -> Result { method to_json (line 225) | pub fn to_json(&self, path: &Path) -> Result<(), ConfigError> { method needs_subcarrier_interp (line 243) | pub fn needs_subcarrier_interp(&self) -> bool { method validate (line 264) | pub fn validate(&self) -> Result<(), ConfigError> { method default (line 158) | fn default() -> Self { function default_config_is_valid (line 410) | fn default_config_is_valid() { function json_round_trip (line 416) | fn json_round_trip() { function zero_subcarriers_is_invalid (line 431) | fn zero_subcarriers_is_invalid() { function negative_learning_rate_is_invalid (line 438) | fn negative_learning_rate_is_invalid() { function warmup_equal_to_epochs_is_invalid (line 445) | fn warmup_equal_to_epochs_is_invalid() { function non_increasing_milestones_are_invalid (line 452) | fn non_increasing_milestones_are_invalid() { function milestone_beyond_epochs_is_invalid (line 459) | fn milestone_beyond_epochs_is_invalid() { function all_zero_loss_weights_are_invalid (line 466) | fn all_zero_loss_weights_are_invalid() { function needs_subcarrier_interp_when_counts_differ (line 475) | fn needs_subcarrier_interp_when_counts_differ() { function config_fields_have_expected_defaults (line 486) | fn config_fields_have_expected_defaults() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/dataset.rs type CsiSample (line 61) | pub struct CsiSample { type CsiDataset (line 103) | pub trait CsiDataset: Send + Sync { method len (line 105) | fn len(&self) -> usize; method get (line 113) | fn get(&self, idx: usize) -> Result; method is_empty (line 116) | fn is_empty(&self) -> bool { method name (line 121) | fn name(&self) -> &str; method len (line 428) | fn len(&self) -> usize { method get (line 432) | fn get(&self, idx: usize) -> Result { method name (line 503) | fn name(&self) -> &str { method len (line 898) | fn len(&self) -> usize { method get (line 902) | fn get(&self, idx: usize) -> Result { method name (line 944) | fn name(&self) -> &str { type DataLoader (line 133) | pub struct DataLoader<'a> { function new (line 151) | pub fn new( function num_batches (line 162) | pub fn num_batches(&self) -> usize { function iter (line 174) | pub fn iter(&self) -> DataLoaderIter<'_> { type DataLoaderIter (line 191) | pub struct DataLoaderIter<'a> { type Item (line 199) | type Item = Vec; method next (line 201) | fn next(&mut self) -> Option { function xorshift_shuffle (line 229) | fn xorshift_shuffle(indices: &mut [usize], seed: u64) { type MmFiEntry (line 251) | struct MmFiEntry { method num_windows (line 268) | fn num_windows(&self) -> usize { type MmFiDataset (line 288) | pub struct MmFiDataset { method discover (line 312) | pub fn discover( method locate (line 412) | fn locate(&self, idx: usize) -> Option<(usize, usize)> { type CompressedCsiBuffer (line 522) | pub struct CompressedCsiBuffer { method from_array4 (line 545) | pub fn from_array4(data: &Array4, tensor_id: u64) -> Self { method get_frame (line 629) | pub fn get_frame(&self, t: usize) -> Option> { method to_array4 (line 652) | pub fn to_array4(&self, n_tx: usize, n_rx: usize, n_sc: usize) -> Arra... method len (line 675) | pub fn len(&self) -> usize { method is_empty (line 680) | pub fn is_empty(&self) -> bool { method compressed_size_bytes (line 685) | pub fn compressed_size_bytes(&self) -> usize { method uncompressed_size_bytes (line 690) | pub fn uncompressed_size_bytes(&self) -> usize { function load_npy_f32 (line 700) | fn load_npy_f32(path: &Path) -> Result, DatasetError> { function load_npy_kp (line 716) | fn load_npy_kp(path: &Path, _num_keypoints: usize) -> Result Result { function parse_id_suffix (line 787) | fn parse_id_suffix(name: &str) -> Option { type SyntheticConfig (line 803) | pub struct SyntheticConfig { method default (line 819) | fn default() -> Self { type SyntheticCsiDataset (line 859) | pub struct SyntheticCsiDataset { method new (line 866) | pub fn new(num_samples: usize, config: SyntheticConfig) -> Self { method amp_value (line 872) | fn amp_value(&self, idx: usize, t: usize, _tx: usize, _rx: usize, k: u... method phase_value (line 880) | fn phase_value(&self, _idx: usize, _t: usize, tx: usize, rx: usize, k:... method keypoint_xy (line 889) | fn keypoint_xy(&self, idx: usize, j: usize) -> (f32, f32) { function synthetic_sample_shapes (line 961) | fn synthetic_sample_shapes() { function synthetic_is_deterministic (line 979) | fn synthetic_is_deterministic() { function synthetic_different_indices_differ (line 993) | fn synthetic_different_indices_differ() { function synthetic_out_of_bounds (line 1003) | fn synthetic_out_of_bounds() { function synthetic_amplitude_in_valid_range (line 1012) | fn synthetic_amplitude_in_valid_range() { function synthetic_keypoints_in_unit_square (line 1025) | fn synthetic_keypoints_in_unit_square() { function synthetic_all_joints_visible (line 1038) | fn synthetic_all_joints_visible() { function dataloader_num_batches (line 1048) | fn dataloader_num_batches() { function dataloader_iterates_all_samples_no_shuffle (line 1057) | fn dataloader_iterates_all_samples_no_shuffle() { function dataloader_iterates_all_samples_shuffle (line 1066) | fn dataloader_iterates_all_samples_shuffle() { function dataloader_shuffle_is_deterministic (line 1075) | fn dataloader_shuffle_is_deterministic() { function dataloader_different_seeds_differ (line 1086) | fn dataloader_different_seeds_differ() { function dataloader_empty_dataset (line 1097) | fn dataloader_empty_dataset() { function parse_id_suffix_works (line 1108) | fn parse_id_suffix_works() { function xorshift_shuffle_is_permutation (line 1116) | fn xorshift_shuffle_is_permutation() { function xorshift_shuffle_is_deterministic (line 1125) | fn xorshift_shuffle_is_deterministic() { function compressed_csi_buffer_roundtrip (line 1136) | fn compressed_csi_buffer_roundtrip() { function compressed_csi_buffer_empty (line 1157) | fn compressed_csi_buffer_empty() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/domain.rs function gelu (line 14) | pub fn gelu(x: f32) -> f32 { function layer_norm (line 20) | pub fn layer_norm(x: &[f32]) -> Vec { function global_mean_pool (line 30) | pub fn global_mean_pool(features: &[f32], n_items: usize, dim: usize) ->... function relu_vec (line 43) | fn relu_vec(x: &[f32]) -> Vec { type Linear (line 53) | pub struct Linear { method new (line 72) | pub fn new(in_features: usize, out_features: usize) -> Self { method forward (line 90) | pub fn forward(&self, x: &[f32]) -> Vec { type GradientReversalLayer (line 109) | pub struct GradientReversalLayer { method new (line 116) | pub fn new(lambda: f32) -> Self { Self { lambda } } method forward (line 119) | pub fn forward(&self, x: &[f32]) -> Vec { x.to_vec() } method backward (line 122) | pub fn backward(&self, grad: &[f32]) -> Vec { type DomainFactorizer (line 137) | pub struct DomainFactorizer { method new (line 152) | pub fn new(n_parts: usize, part_dim: usize) -> Self { method factorize (line 162) | pub fn factorize(&self, body_part_features: &[f32]) -> (Vec, Vec<... type DomainClassifier (line 191) | pub struct DomainClassifier { method new (line 206) | pub fn new(n_parts: usize, part_dim: usize, n_domains: usize) -> Self { method classify (line 215) | pub fn classify(&self, h_pose: &[f32]) -> Vec { type AdversarialSchedule (line 229) | pub struct AdversarialSchedule { method new (line 236) | pub fn new(max_epochs: usize) -> Self { method lambda (line 242) | pub fn lambda(&self, epoch: usize) -> f32 { function grl_forward_is_identity (line 257) | fn grl_forward_is_identity() { function grl_backward_negates_with_lambda (line 264) | fn grl_backward_negates_with_lambda() { function grl_lambda_zero_gives_zero_grad (line 274) | fn grl_lambda_zero_gives_zero_grad() { function factorizer_output_dimensions (line 280) | fn factorizer_output_dimensions() { function factorizer_values_finite (line 288) | fn factorizer_values_finite() { function classifier_output_equals_n_domains (line 296) | fn classifier_output_equals_n_domains() { function schedule_lambda_zero_approx_zero (line 306) | fn schedule_lambda_zero_approx_zero() { function schedule_lambda_at_half (line 312) | fn schedule_lambda_at_half() { function schedule_lambda_one_approx_one (line 320) | fn schedule_lambda_one_approx_one() { function schedule_monotonically_increasing (line 326) | fn schedule_monotonically_increasing() { function gelu_reference_values (line 337) | fn gelu_reference_values() { function layer_norm_zero_mean_unit_var (line 346) | fn layer_norm_zero_mean_unit_var() { function layer_norm_constant_gives_zeros (line 356) | fn layer_norm_constant_gives_zeros() { function layer_norm_empty (line 362) | fn layer_norm_empty() { function mean_pool_simple (line 367) | fn mean_pool_simple() { function linear_dimensions_and_finite (line 375) | fn linear_dimensions_and_finite() { function full_pipeline (line 383) | fn full_pipeline() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/error.rs type TrainResult (line 25) | pub type TrainResult = Result; type TrainError (line 38) | pub enum TrainError { method training_step (line 93) | pub fn training_step>(msg: S) -> Self { method checkpoint (line 98) | pub fn checkpoint>(msg: S, path: impl Into) -... method not_implemented (line 103) | pub fn not_implemented>(msg: S) -> Self { method shape_mismatch (line 108) | pub fn shape_mismatch(expected: Vec, actual: Vec) -> Self { type ConfigError (line 121) | pub enum ConfigError { method invalid_value (line 161) | pub fn invalid_value>(field: &'static str, reason: S) ... type DatasetError (line 179) | pub enum DatasetError { method not_found (line 280) | pub fn not_found>(path: impl Into, msg: S) ->... method invalid_format (line 285) | pub fn invalid_format>(path: impl Into, msg: ... method io_error (line 290) | pub fn io_error(path: impl Into, source: std::io::Error) -> S... method subcarrier_mismatch (line 295) | pub fn subcarrier_mismatch(path: impl Into, found: usize, exp... method npy_read (line 300) | pub fn npy_read>(path: impl Into, msg: S) -> ... type SubcarrierError (line 311) | pub enum SubcarrierError { method numerical (line 354) | pub fn numerical>(msg: S) -> Self { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/eval.rs type CrossDomainMetrics (line 10) | pub struct CrossDomainMetrics { type CrossDomainEvaluator (line 36) | pub struct CrossDomainEvaluator { method new (line 42) | pub fn new(n_joints: usize) -> Self { Self { n_joints } } method evaluate (line 46) | pub fn evaluate(&self, predictions: &[(Vec, Vec)], domain_la... function mpjpe (line 67) | pub fn mpjpe(pred: &[f32], gt: &[f32], n_joints: usize) -> f32 { function mean_of (line 77) | fn mean_of(v: Option<&Vec>) -> f32 { function mpjpe_known_value (line 86) | fn mpjpe_known_value() { function mpjpe_two_joints (line 91) | fn mpjpe_two_joints() { function mpjpe_zero_when_identical (line 97) | fn mpjpe_zero_when_identical() { function mpjpe_zero_joints (line 103) | fn mpjpe_zero_joints() { assert_eq!(mpjpe(&[], &[], 0), 0.0); } function domain_gap_ratio_computed (line 106) | fn domain_gap_ratio_computed() { function evaluate_groups_by_domain (line 119) | fn evaluate_groups_by_domain() { function domain_gap_perfect (line 132) | fn domain_gap_perfect() { function evaluate_multiple_cross_domains (line 139) | fn evaluate_multiple_cross_domains() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/geometry.rs constant GEOMETRY_DIM (line 9) | const GEOMETRY_DIM: usize = 64; constant NUM_COORDS (line 10) | const NUM_COORDS: usize = 3; type Linear (line 18) | struct Linear { method new (line 27) | fn new(in_f: usize, out_f: usize, seed: u64) -> Self { method forward (line 37) | fn forward(&self, x: &[f32]) -> Vec { function det_uniform (line 54) | fn det_uniform(n: usize, lo: f32, hi: f32, seed: u64) -> Vec { function relu (line 67) | fn relu(v: &mut [f32]) { type MeridianGeometryConfig (line 79) | pub struct MeridianGeometryConfig { method default (line 91) | fn default() -> Self { type FourierPositionalEncoding (line 104) | pub struct FourierPositionalEncoding { method new (line 112) | pub fn new(cfg: &MeridianGeometryConfig) -> Self { method encode (line 117) | pub fn encode(&self, coords: &[f32; 3]) -> Vec { type DeepSets (line 138) | pub struct DeepSets { method new (line 146) | pub fn new(cfg: &MeridianGeometryConfig) -> Self { method encode (line 152) | pub fn encode(&self, ap_embeddings: &[Vec]) -> Vec { type GeometryEncoder (line 174) | pub struct GeometryEncoder { method new (line 181) | pub fn new(cfg: &MeridianGeometryConfig) -> Self { method encode (line 186) | pub fn encode(&self, ap_positions: &[[f32; 3]]) -> Vec { type FilmLayer (line 197) | pub struct FilmLayer { method new (line 204) | pub fn new(cfg: &MeridianGeometryConfig) -> Self { method modulate (line 212) | pub fn modulate(&self, features: &[f32], geometry: &[f32]) -> Vec { function cfg (line 227) | fn cfg() -> MeridianGeometryConfig { MeridianGeometryConfig::default() } function fourier_output_dimension_is_64 (line 230) | fn fourier_output_dimension_is_64() { function fourier_different_coords_different_outputs (line 237) | fn fourier_different_coords_different_outputs() { function fourier_values_bounded (line 247) | fn fourier_values_bounded() { function deepsets_permutation_invariant (line 253) | fn deepsets_permutation_invariant() { function deepsets_variable_ap_count (line 268) | fn deepsets_variable_ap_count() { function geometry_encoder_end_to_end (line 285) | fn geometry_encoder_end_to_end() { function geometry_encoder_single_ap (line 293) | fn geometry_encoder_single_ap() { function film_identity_when_geometry_zero (line 299) | fn film_identity_when_geometry_zero() { function film_nontrivial_modulation (line 312) | fn film_nontrivial_modulation() { function film_explicit_gamma_beta (line 324) | fn film_explicit_gamma_beta() { function config_defaults (line 337) | fn config_defaults() { function config_serde_round_trip (line 346) | fn config_serde_round_trip() { function linear_forward_dim (line 355) | fn linear_forward_dim() { function linear_zero_input_gives_bias (line 360) | fn linear_zero_input_gives_bias() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/lib.rs constant VERSION (line 91) | pub const VERSION: &str = env!("CARGO_PKG_VERSION"); FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/losses.rs type WiFiLossComponents (line 34) | pub struct WiFiLossComponents { type LossWeights (line 49) | pub struct LossWeights { method default (line 59) | fn default() -> Self { type WiFiDensePoseLoss (line 78) | pub struct WiFiDensePoseLoss { method new (line 84) | pub fn new(weights: LossWeights) -> Self { method keypoint_loss (line 104) | pub fn keypoint_loss( method densepose_loss (line 144) | pub fn densepose_loss( method transfer_loss (line 194) | pub fn transfer_loss(&self, student_features: &Tensor, teacher_feature... method forward (line 213) | pub fn forward( function generate_gaussian_heatmap (line 324) | pub fn generate_gaussian_heatmap( function generate_target_heatmaps (line 363) | pub fn generate_target_heatmaps( type LossOutput (line 398) | pub struct LossOutput { function compute_losses (line 426) | pub fn compute_losses( function keypoint_heatmap_loss (line 519) | pub fn keypoint_heatmap_loss(pred: &Tensor, target: &Tensor) -> Tensor { function generate_gaussian_heatmaps (line 536) | pub fn generate_gaussian_heatmaps( function densepose_part_loss (line 594) | pub fn densepose_part_loss(pred_logits: &Tensor, gt_labels: &Tensor) -> ... function densepose_uv_loss (line 616) | pub fn densepose_uv_loss(pred_uv: &Tensor, gt_uv: &Tensor, gt_labels: &T... function fn_transfer_loss (line 647) | pub fn fn_transfer_loss(student_features: &Tensor, teacher_features: &Te... function test_gaussian_heatmap_peak_location (line 699) | fn test_gaussian_heatmap_peak_location() { function test_gaussian_heatmap_reasonable_sum (line 728) | fn test_gaussian_heatmap_reasonable_sum() { function test_generate_target_heatmaps_invisible_joints_are_zero (line 740) | fn test_generate_target_heatmaps_invisible_joints_are_zero() { function device (line 781) | fn device() -> tch::Device { function test_keypoint_loss_identical_predictions_is_zero (line 786) | fn test_keypoint_loss_identical_predictions_is_zero() { function test_keypoint_loss_large_error_is_positive (line 805) | fn test_keypoint_loss_large_error_is_positive() { function test_keypoint_loss_invisible_joints_ignored (line 820) | fn test_keypoint_loss_invisible_joints_ignored() { function test_transfer_loss_identical_features_is_zero (line 839) | fn test_transfer_loss_identical_features_is_zero() { function test_forward_keypoint_only_returns_weighted_loss (line 854) | fn test_forward_keypoint_only_returns_weighted_loss() { function test_densepose_loss_identical_inputs_part_loss_near_zero_uv (line 881) | fn test_densepose_loss_identical_inputs_part_loss_near_zero_uv() { function test_fn_keypoint_heatmap_loss_identical_zero (line 916) | fn test_fn_keypoint_heatmap_loss_identical_zero() { function test_fn_generate_gaussian_heatmaps_shape (line 925) | fn test_fn_generate_gaussian_heatmaps_shape() { function test_fn_generate_gaussian_heatmaps_invisible_zero (line 934) | fn test_fn_generate_gaussian_heatmaps_invisible_zero() { function test_fn_generate_gaussian_heatmaps_peak_near_one (line 944) | fn test_fn_generate_gaussian_heatmaps_peak_near_one() { function test_fn_densepose_part_loss_returns_finite (line 955) | fn test_fn_densepose_part_loss_returns_finite() { function test_fn_densepose_uv_loss_no_annotated_pixels_zero (line 965) | fn test_fn_densepose_uv_loss_no_annotated_pixels_zero() { function test_fn_densepose_uv_loss_identical_zero (line 976) | fn test_fn_densepose_uv_loss_identical_zero() { function test_fn_transfer_loss_identical_zero (line 986) | fn test_fn_transfer_loss_identical_zero() { function test_fn_transfer_loss_spatial_mismatch (line 995) | fn test_fn_transfer_loss_spatial_mismatch() { function test_fn_transfer_loss_channel_mismatch_divisible (line 1005) | fn test_fn_transfer_loss_channel_mismatch_divisible() { function test_compute_losses_keypoint_only (line 1015) | fn test_compute_losses_keypoint_only() { function test_compute_losses_all_components_finite (line 1029) | fn test_compute_losses_all_components_finite() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/metrics.rs constant COCO_KP_SIGMAS (line 33) | pub const COCO_KP_SIGMAS: [f32; 17] = [ type MetricsResult (line 61) | pub struct MetricsResult { method is_better_than (line 85) | pub fn is_better_than(&self, other: &MetricsResult) -> bool { method summary (line 90) | pub fn summary(&self) -> String { method default (line 99) | fn default() -> Self { type MetricsAccumulator (line 123) | pub struct MetricsAccumulator { method new (line 141) | pub fn new(pck_threshold: f32) -> Self { method default_threshold (line 152) | pub fn default_threshold() -> Self { method update (line 165) | pub fn update( method finalize (line 236) | pub fn finalize(&self) -> Option { method num_samples (line 250) | pub fn num_samples(&self) -> usize { method reset (line 255) | pub fn reset(&mut self) { function bounding_box_diagonal (line 272) | fn bounding_box_diagonal( constant IDX_LEFT_HIP (line 309) | const IDX_LEFT_HIP: usize = 11; constant IDX_RIGHT_SHOULDER (line 310) | const IDX_RIGHT_SHOULDER: usize = 6; function torso_diameter_pck (line 317) | fn torso_diameter_pck(gt_kpts: &Array2, visibility: &Array1) -... function compute_pck (line 338) | pub fn compute_pck( function compute_per_joint_pck (line 376) | pub fn compute_per_joint_pck( function compute_oks (line 434) | pub fn compute_oks( type AggregatedMetrics (line 469) | pub struct AggregatedMetrics { function aggregate_metrics (line 490) | pub fn aggregate_metrics( type AssignmentEntry (line 539) | pub struct AssignmentEntry { function hungarian_assignment (line 563) | pub fn hungarian_assignment(cost_matrix: &[Vec]) -> Vec<(usize, usi... type DynamicPersonMatcher (line 685) | pub struct DynamicPersonMatcher { method new (line 699) | pub fn new(cost_matrix: &[Vec]) -> Self { method add_person (line 738) | pub fn add_person(&mut self, pred_idx: usize, gt_idx: usize, oks_cost:... method remove_person (line 746) | pub fn remove_person(&mut self, pred_idx: usize, gt_idx: usize) { method assign (line 756) | pub fn assign(&self) -> Vec<(usize, usize)> { method min_cut_value (line 788) | pub fn min_cut_value(&self) -> f64 { constant LARGE_CAP (line 691) | const LARGE_CAP: f64 = 1e6; constant SOURCE (line 692) | const SOURCE: u64 = 0; function assignment_mincut (line 799) | pub fn assignment_mincut(cost_matrix: &[Vec]) -> Vec<(usize, usize)> { function build_oks_cost_matrix (line 813) | pub fn build_oks_cost_matrix( function find_augmenting_path (line 839) | pub fn find_augmenting_path( constant COCO_KPT_SIGMAS (line 870) | pub const COCO_KPT_SIGMAS: [f32; 17] = COCO_KP_SIGMAS; constant KPT_LEFT_HIP (line 873) | const KPT_LEFT_HIP: usize = 11; constant KPT_RIGHT_HIP (line 874) | const KPT_RIGHT_HIP: usize = 12; type MetricsResultDetailed (line 883) | pub struct MetricsResultDetailed { function compute_pck_v2 (line 918) | pub fn compute_pck_v2( function compute_oks_v2 (line 977) | pub fn compute_oks_v2( function hungarian_assignment_v2 (line 1017) | pub fn hungarian_assignment_v2(cost_matrix: &Array2) -> Vec { function build_mcf_graph (line 1035) | fn build_mcf_graph(cost_matrix: &Array2) -> (DiGraph<(), f32>, Node... function run_spfa_mcf (line 1069) | fn run_spfa_mcf( function evaluate_dataset_v2 (line 1150) | pub fn evaluate_dataset_v2( type MetricsAccumulatorV2 (line 1169) | pub struct MetricsAccumulatorV2 { method new (line 1178) | pub fn new() -> Self { method update (line 1194) | pub fn update( method finalize (line 1214) | pub fn finalize(self) -> MetricsResultDetailed { method default (line 1242) | fn default() -> Self { function kpt_bbox_area_v2 (line 1248) | fn kpt_bbox_area_v2( function perfect_prediction (line 1286) | fn perfect_prediction(n_joints: usize) -> (Array2, Array2, Arr... function perfect_pck_is_one (line 1295) | fn perfect_pck_is_one() { function perfect_oks_is_one (line 1304) | fn perfect_oks_is_one() { function all_invisible_gives_trivial_pck (line 1313) | fn all_invisible_gives_trivial_pck() { function far_predictions_reduce_pck (line 1325) | fn far_predictions_reduce_pck() { function accumulator_averages_over_samples (line 1339) | fn accumulator_averages_over_samples() { function empty_accumulator_returns_none (line 1351) | fn empty_accumulator_returns_none() { function reset_clears_state (line 1357) | fn reset_clears_state() { function bbox_diagonal_unit_square (line 1367) | fn bbox_diagonal_unit_square() { function metrics_result_is_better_than (line 1375) | fn metrics_result_is_better_than() { function all_visible_17 (line 1384) | fn all_visible_17() -> Array1 { function uniform_kpts_17 (line 1388) | fn uniform_kpts_17(x: f32, y: f32) -> Array2 { function compute_pck_perfect_is_one (line 1398) | fn compute_pck_perfect_is_one() { function compute_pck_no_visible_is_zero (line 1408) | fn compute_pck_no_visible_is_zero() { function compute_oks_identical_is_one (line 1420) | fn compute_oks_identical_is_one() { function compute_oks_no_visible_is_zero (line 1428) | fn compute_oks_no_visible_is_zero() { function compute_oks_in_unit_interval (line 1436) | fn compute_oks_in_unit_interval() { function aggregate_metrics_perfect (line 1447) | fn aggregate_metrics_perfect() { function aggregate_metrics_empty_is_default (line 1457) | fn aggregate_metrics_empty_is_default() { function hungarian_identity_2x2_assigns_diagonal (line 1466) | fn hungarian_identity_2x2_assigns_diagonal() { function hungarian_swapped_2x2 (line 1475) | fn hungarian_swapped_2x2() { function hungarian_3x3_identity (line 1484) | fn hungarian_3x3_identity() { function hungarian_empty_matrix (line 1496) | fn hungarian_empty_matrix() { function hungarian_single_element (line 1501) | fn hungarian_single_element() { function hungarian_rectangular_fewer_gt_than_pred (line 1507) | fn hungarian_rectangular_fewer_gt_than_pred() { function oks_cost_matrix_diagonal_near_zero (line 1525) | fn oks_cost_matrix_diagonal_near_zero() { function find_augmenting_path_basic (line 1539) | fn find_augmenting_path_basic() { function spec_pck_v2_perfect (line 1554) | fn spec_pck_v2_perfect() { function spec_pck_v2_no_visible (line 1569) | fn spec_pck_v2_no_visible() { function spec_oks_v2_perfect (line 1577) | fn spec_oks_v2_perfect() { function spec_oks_v2_zero_area (line 1589) | fn spec_oks_v2_zero_area() { function spec_hungarian_v2_single (line 1597) | fn spec_hungarian_v2_single() { function spec_hungarian_v2_2x2 (line 1605) | fn spec_hungarian_v2_2x2() { function spec_hungarian_v2_empty (line 1618) | fn spec_hungarian_v2_empty() { function spec_accumulator_v2_perfect (line 1625) | fn spec_accumulator_v2_perfect() { function spec_accumulator_v2_empty (line 1642) | fn spec_accumulator_v2_empty() { function spec_evaluate_dataset_v2_perfect (line 1651) | fn spec_evaluate_dataset_v2_perfect() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/model.rs type ModelOutput (line 46) | pub struct ModelOutput { type WiFiDensePoseModel (line 66) | pub struct WiFiDensePoseModel { method new (line 80) | pub fn new(config: &TrainingConfig, device: Device) -> Self { method forward_t (line 123) | pub fn forward_t(&self, amplitude: &Tensor, phase: &Tensor) -> ModelOu... method forward_inference (line 128) | pub fn forward_inference(&self, amplitude: &Tensor, phase: &Tensor) ->... method save (line 137) | pub fn save(&self, path: &Path) -> Result<(), TrainError> { method load (line 149) | pub fn load(&mut self, path: &Path) -> Result<(), TrainError> { method varstore (line 157) | pub fn varstore(&self) -> &nn::VarStore { method varstore_mut (line 162) | pub fn varstore_mut(&mut self) -> &mut nn::VarStore { method var_store (line 168) | pub fn var_store(&self) -> &nn::VarStore { method var_store_mut (line 173) | pub fn var_store_mut(&mut self) -> &mut nn::VarStore { method forward_train (line 179) | pub fn forward_train(&self, amplitude: &Tensor, phase: &Tensor) -> Mod... method num_parameters (line 184) | pub fn num_parameters(&self) -> i64 { method forward_impl (line 196) | fn forward_impl(&self, amplitude: &Tensor, phase: &Tensor, train: bool... function phase_sanitize (line 242) | fn phase_sanitize(phase: &Tensor) -> Tensor { function apply_antenna_attention (line 278) | fn apply_antenna_attention(x: &Tensor, lambda: f32) -> Tensor { function apply_spatial_attention (line 341) | fn apply_spatial_attention(x: &Tensor) -> Tensor { type ModalityTranslator (line 408) | struct ModalityTranslator { method new (line 425) | fn new(vs: nn::Path, flat_csi: i64, n_ant: i64, n_sc: i64) -> Self { method forward_t (line 471) | fn forward_t(&self, amp: &Tensor, ph: &Tensor, train: bool) -> Tensor { type Backbone (line 536) | struct Backbone { method new (line 551) | fn new(vs: nn::Path, out_channels: i64) -> Self { method forward_t (line 577) | fn forward_t(&self, x: &Tensor, train: bool) -> Tensor { type BasicBlock (line 603) | struct BasicBlock { method new (line 612) | fn new(vs: nn::Path, in_ch: i64, out_ch: i64, stride: i64) -> Self { method forward_t (line 667) | fn forward_t(&self, x: &Tensor, train: bool) -> Tensor { type KeypointHead (line 697) | struct KeypointHead { method new (line 706) | fn new(vs: nn::Path, in_ch: i64, num_kp: i64) -> Self { method forward_t (line 744) | fn forward_t(&self, x: &Tensor, heatmap_size: i64, train: bool) -> Ten... type DensePoseHead (line 775) | struct DensePoseHead { method new (line 785) | fn new(vs: nn::Path, in_ch: i64, num_parts: i64) -> Self { method forward_t (line 840) | fn forward_t(&self, x: &Tensor, out_size: i64, train: bool) -> (Tensor... function tiny_config (line 870) | fn tiny_config() -> TrainingConfig { function model_forward_output_shapes (line 884) | fn model_forward_output_shapes() { function model_has_nonzero_parameters (line 916) | fn model_has_nonzero_parameters() { function inference_mode_gives_same_shapes (line 925) | fn inference_mode_gives_same_shapes() { function uv_coords_bounded_zero_one (line 944) | fn uv_coords_bounded_zero_one() { function phase_sanitize_zeros_first_column (line 971) | fn phase_sanitize_zeros_first_column() { function phase_sanitize_captures_ramp (line 980) | fn phase_sanitize_captures_ramp() { function save_and_load_roundtrip (line 1000) | fn save_and_load_roundtrip() { function varstore_accessible (line 1025) | fn varstore_accessible() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/proof.rs constant N_PROOF_STEPS (line 38) | pub const N_PROOF_STEPS: usize = 50; constant PROOF_SEED (line 41) | pub const PROOF_SEED: u64 = 42; constant MODEL_SEED (line 44) | pub const MODEL_SEED: i64 = 0; constant PROOF_BATCH_SIZE (line 47) | pub const PROOF_BATCH_SIZE: usize = 4; constant PROOF_DATASET_SIZE (line 50) | pub const PROOF_DATASET_SIZE: usize = 200; constant EXPECTED_HASH_FILE (line 53) | const EXPECTED_HASH_FILE: &str = "expected_proof.sha256"; type ProofResult (line 61) | pub struct ProofResult { method is_pass (line 84) | pub fn is_pass(&self) -> bool { method is_fail (line 89) | pub fn is_fail(&self) -> bool { method is_skip (line 94) | pub fn is_skip(&self) -> bool { function run_proof (line 112) | pub fn run_proof(proof_dir: &Path) -> Result Result String { function load_expected_hash (line 271) | pub fn load_expected_hash(proof_dir: &Path) -> Result, st... function save_expected_hash (line 291) | pub fn save_expected_hash(hash: &str, proof_dir: &Path) -> Result<(), st... function proof_config (line 303) | pub fn proof_config() -> TrainingConfig { function build_proof_dataset (line 351) | fn build_proof_dataset(cfg: &TrainingConfig) -> SyntheticCsiDataset { function proof_config_is_valid (line 375) | fn proof_config_is_valid() { function proof_dataset_is_nonempty (line 381) | fn proof_dataset_is_nonempty() { function save_and_load_expected_hash (line 388) | fn save_and_load_expected_hash() { function missing_hash_file_returns_none (line 397) | fn missing_hash_file_returns_none() { function hash_model_weights_is_deterministic (line 404) | fn hash_model_weights_is_deterministic() { function proof_run_produces_valid_result (line 427) | fn proof_run_produces_valid_result() { function generate_and_verify_hash_matches (line 442) | fn generate_and_verify_hash_matches() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/rapid_adapt.rs type AdaptationLoss (line 8) | pub enum AdaptationLoss { method epochs (line 26) | pub fn epochs(&self) -> usize { method lr (line 32) | pub fn lr(&self) -> f32 { type AdaptationResult (line 41) | pub struct AdaptationResult { type AdaptError (line 54) | pub enum AdaptError { method fmt (line 67) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type RapidAdaptation (line 93) | pub struct RapidAdaptation { method new (line 110) | pub fn new(min_calibration_frames: usize, lora_rank: usize, adaptation... method push_frame (line 114) | pub fn push_frame(&mut self, frame: &[f32]) { method is_ready (line 121) | pub fn is_ready(&self) -> bool { self.calibration_buffer.len() >= self... method buffer_len (line 123) | pub fn buffer_len(&self) -> usize { self.calibration_buffer.len() } method adapt (line 128) | pub fn adapt(&self) -> Result { method contrastive_step (line 159) | fn contrastive_step(&self, w: &[f32], fdim: usize, grad: &mut [f32]) -... method entropy_step (line 180) | fn entropy_step(&self, w: &[f32], fdim: usize, grad: &mut [f32]) -> f32 { method project (line 202) | fn project(&self, frame: &[f32], w: &[f32], fdim: usize) -> Vec { constant DEFAULT_MAX_BUFFER (line 106) | const DEFAULT_MAX_BUFFER: usize = 10_000; function l2_dist (line 222) | fn l2_dist(a: &[f32], b: &[f32]) -> f32 { function push_frame_accumulates (line 231) | fn push_frame_accumulates() { function is_ready_threshold (line 239) | fn is_ready_threshold() { function adapt_lora_weight_dimension (line 247) | fn adapt_lora_weight_dimension() { function contrastive_loss_decreases (line 258) | fn contrastive_loss_decreases() { function combined_loss_adaptation (line 269) | fn combined_loss_adaptation() { function adapt_empty_buffer_returns_error (line 282) | fn adapt_empty_buffer_returns_error() { function adapt_zero_rank_returns_error (line 288) | fn adapt_zero_rank_returns_error() { function buffer_cap_evicts_oldest (line 295) | fn buffer_cap_evicts_oldest() { function l2_distance_tests (line 303) | fn l2_distance_tests() { function loss_accessors (line 309) | fn loss_accessors() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/ruview_metrics.rs type RuViewTier (line 31) | pub enum RuViewTier { method fmt (line 43) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { type JointErrorThresholds (line 59) | pub struct JointErrorThresholds { method default (line 73) | fn default() -> Self { type JointErrorResult (line 86) | pub struct JointErrorResult { constant COCO_SIGMAS (line 102) | const COCO_SIGMAS: [f32; 17] = [ constant TORSO_INDICES (line 109) | const TORSO_INDICES: [usize; 4] = [5, 6, 11, 12]; function evaluate_joint_error (line 124) | pub fn evaluate_joint_error( type TrackingThresholds (line 218) | pub struct TrackingThresholds { method default (line 228) | fn default() -> Self { type TrackingFrame (line 239) | pub struct TrackingFrame { type TrackingResult (line 252) | pub struct TrackingResult { function evaluate_tracking (line 277) | pub fn evaluate_tracking( type VitalSignThresholds (line 398) | pub struct VitalSignThresholds { method default (line 414) | fn default() -> Self { type VitalSignMeasurement (line 428) | pub struct VitalSignMeasurement { type VitalSignResult (line 445) | pub struct VitalSignResult { function evaluate_vital_signs (line 466) | pub fn evaluate_vital_signs( type RuViewAcceptanceResult (line 544) | pub struct RuViewAcceptanceResult { method summary (line 557) | pub fn summary(&self) -> String { function determine_tier (line 571) | pub fn determine_tier( function compute_bbox_diag (line 595) | fn compute_bbox_diag(kp: &Array2, vis: &Array1) -> f32 { function compute_single_oks (line 621) | fn compute_single_oks(pred: &Array2, gt: &Array2, vis: &Array1... function compute_torso_jitter (line 639) | fn compute_torso_jitter(pred_kpts: &[Array2], visibility: &[Array1<... function compute_p95_max_error (line 685) | fn compute_p95_max_error(per_kp_errors: &[Vec]) -> f32 { function make_perfect_kpts (line 705) | fn make_perfect_kpts() -> (Array2, Array2, Array1) { function make_noisy_kpts (line 713) | fn make_noisy_kpts(noise: f32) -> (Array2, Array2, Array1) { function joint_error_perfect_predictions_pass (line 727) | fn joint_error_perfect_predictions_pass() { function joint_error_empty_returns_fail (line 741) | fn joint_error_empty_returns_fail() { function joint_error_noisy_predictions_lower_pck (line 753) | fn joint_error_noisy_predictions_lower_pck() { function tracking_no_id_switches_pass (line 766) | fn tracking_no_id_switches_pass() { function tracking_id_switches_detected (line 781) | fn tracking_id_switches_detected() { function tracking_empty_returns_fail (line 798) | fn tracking_empty_returns_fail() { function vital_signs_accurate_breathing_passes (line 804) | fn vital_signs_accurate_breathing_passes() { function vital_signs_inaccurate_breathing_fails (line 829) | fn vital_signs_inaccurate_breathing_fails() { function vital_signs_empty_returns_fail (line 843) | fn vital_signs_empty_returns_fail() { function tier_determination_gold (line 849) | fn tier_determination_gold() { function tier_determination_silver (line 878) | fn tier_determination_silver() { function tier_determination_bronze (line 886) | fn tier_determination_bronze() { function tier_determination_fail (line 894) | fn tier_determination_fail() { function tier_ordering (line 902) | fn tier_ordering() { method default (line 910) | fn default() -> Self { method default (line 923) | fn default() -> Self { method default (line 936) | fn default() -> Self { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/subcarrier.rs function interpolate_subcarriers (line 42) | pub fn interpolate_subcarriers(arr: &Array4, target_sc: usize) -> A... function compute_interp_weights (line 97) | pub fn compute_interp_weights(src_sc: usize, target_sc: usize) -> Vec<(u... function interpolate_subcarriers_sparse (line 146) | pub fn interpolate_subcarriers_sparse(arr: &Array4, target_sc: usiz... function select_subcarriers_by_variance (line 274) | pub fn select_subcarriers_by_variance(arr: &Array4, k: usize) -> Ve... function identity_resample (line 321) | fn identity_resample() { function upsample_endpoints_preserved (line 334) | fn upsample_endpoints_preserved() { function downsample_endpoints_preserved (line 344) | fn downsample_endpoints_preserved() { function compute_interp_weights_identity (line 355) | fn compute_interp_weights_identity() { function select_subcarriers_returns_correct_count (line 366) | fn select_subcarriers_returns_correct_count() { function select_subcarriers_sorted_ascending (line 375) | fn select_subcarriers_sorted_ascending() { function select_subcarriers_all_same_returns_all (line 386) | fn select_subcarriers_all_same_returns_all() { function sparse_interpolation_114_to_56_shape (line 399) | fn sparse_interpolation_114_to_56_shape() { function sparse_interpolation_identity (line 408) | fn sparse_interpolation_identity() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/trainer.rs type EpochLog (line 41) | pub struct EpochLog { type TrainResult (line 60) | pub struct TrainResult { type Trainer (line 81) | pub struct Trainer { method new (line 91) | pub fn new(config: TrainingConfig) -> Self { method train (line 111) | pub fn train( method evaluate (line 353) | pub fn evaluate(&self, dataset: &dyn CsiDataset) -> Result Result (Tensor, Tensor... function kp_to_heatmap_tensor (line 568) | fn kp_to_heatmap_tensor( function heatmap_to_keypoints (line 608) | fn heatmap_to_keypoints(heatmaps: &Tensor) -> Tensor { function extract_kp_ndarray (line 632) | fn extract_kp_ndarray(kp_tensor: &Tensor, batch_idx: usize) -> Array2 Array1<... function tiny_config (line 661) | fn tiny_config() -> TrainingConfig { function tiny_synthetic_dataset (line 678) | fn tiny_synthetic_dataset(n: usize) -> SyntheticCsiDataset { function collate_produces_correct_shapes (line 691) | fn collate_produces_correct_shapes() { function make_batches_covers_all_samples (line 705) | fn make_batches_covers_all_samples() { function make_batches_shuffle_reproducible (line 713) | fn make_batches_shuffle_reproducible() { function lcg_shuffle_is_permutation (line 724) | fn lcg_shuffle_is_permutation() { function lcg_shuffle_different_seeds_differ (line 733) | fn lcg_shuffle_different_seeds_differ() { function heatmap_to_keypoints_shape (line 742) | fn heatmap_to_keypoints_shape() { function heatmap_to_keypoints_center_peak (line 749) | fn heatmap_to_keypoints_center_peak() { function trainer_train_completes (line 762) | fn trainer_train_completes() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/src/virtual_aug.rs type Xorshift64 (line 25) | pub struct Xorshift64 { method new (line 31) | pub fn new(seed: u64) -> Self { method next_u64 (line 37) | pub fn next_u64(&mut self) -> u64 { method next_f32 (line 46) | pub fn next_f32(&mut self) -> f32 { method next_f32_range (line 52) | pub fn next_f32_range(&mut self, lo: f32, hi: f32) -> f32 { method next_usize_range (line 58) | pub fn next_usize_range(&mut self, lo: usize, hi: usize) -> usize { method next_gaussian (line 65) | pub fn next_gaussian(&mut self) -> f32 { type VirtualDomain (line 78) | pub struct VirtualDomain { type VirtualDomainAugmentor (line 101) | pub struct VirtualDomainAugmentor { method generate_domain (line 127) | pub fn generate_domain(&mut self, rng: &mut Xorshift64) -> VirtualDoma... method augment_frame (line 143) | pub fn augment_frame(&self, frame: &[f32], domain: &VirtualDomain) -> ... method augment_batch (line 172) | pub fn augment_batch( method default (line 114) | fn default() -> Self { function make_domain (line 195) | fn make_domain(scale: f32, coeff: f32, scatter: usize, noise: f32, id: u... function domain_within_configured_ranges (line 200) | fn domain_within_configured_ranges() { function augment_frame_preserves_length (line 213) | fn augment_frame_preserves_length() { function augment_frame_identity_domain_approx_input (line 220) | fn augment_frame_identity_domain_approx_input() { function augment_batch_produces_correct_count (line 230) | fn augment_batch_produces_correct_count() { function different_seeds_produce_different_augmentations (line 240) | fn different_seeds_produce_different_augmentations() { function deterministic_same_seed_same_output (line 252) | fn deterministic_same_seed_same_output() { function domain_ids_are_sequential (line 268) | fn domain_ids_are_sequential() { function xorshift64_deterministic (line 275) | fn xorshift64_deterministic() { function xorshift64_f32_in_unit_interval (line 282) | fn xorshift64_f32_in_unit_interval() { function augment_frame_empty_and_batch_k_zero (line 291) | fn augment_frame_empty_and_batch_k_zero() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/tests/test_config.rs function default_config_is_valid (line 15) | fn default_config_is_valid() { function default_config_all_positive_fields (line 24) | fn default_config_all_positive_fields() { function default_config_loss_weights_sum_positive (line 46) | fn default_config_loss_weights_sum_positive() { function default_config_loss_weights_sum_to_one (line 63) | fn default_config_loss_weights_sum_to_one() { function default_num_subcarriers_is_56 (line 79) | fn default_num_subcarriers_is_56() { function default_native_subcarriers_is_114 (line 90) | fn default_native_subcarriers_is_114() { function default_num_keypoints_is_17 (line 101) | fn default_num_keypoints_is_17() { function default_antenna_counts_are_3x3 (line 112) | fn default_antenna_counts_are_3x3() { function default_window_frames_is_100 (line 120) | fn default_window_frames_is_100() { function default_seed_is_42 (line 131) | fn default_seed_is_42() { function default_config_needs_interpolation (line 143) | fn default_config_needs_interpolation() { function equal_subcarrier_counts_means_no_interpolation_needed (line 155) | fn equal_subcarrier_counts_means_no_interpolation_needed() { function csi_flat_size_matches_expected (line 174) | fn csi_flat_size_matches_expected() { function csi_flat_size_positive_for_valid_config (line 189) | fn csi_flat_size_positive_for_valid_config() { function config_json_roundtrip_identical (line 208) | fn config_json_roundtrip_identical() { function config_json_roundtrip_modified_values (line 331) | fn config_json_roundtrip_modified_values() { function zero_num_subcarriers_is_invalid (line 371) | fn zero_num_subcarriers_is_invalid() { function zero_native_subcarriers_is_invalid (line 382) | fn zero_native_subcarriers_is_invalid() { function zero_batch_size_is_invalid (line 393) | fn zero_batch_size_is_invalid() { function negative_learning_rate_is_invalid (line 404) | fn negative_learning_rate_is_invalid() { function warmup_exceeding_epochs_is_invalid (line 415) | fn warmup_exceeding_epochs_is_invalid() { function all_zero_loss_weights_are_invalid (line 426) | fn all_zero_loss_weights_are_invalid() { function non_increasing_milestones_are_invalid (line 439) | fn non_increasing_milestones_are_invalid() { function milestone_beyond_num_epochs_is_invalid (line 450) | fn milestone_beyond_num_epochs_is_invalid() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/tests/test_dataset.rs function default_cfg (line 17) | fn default_cfg() -> SyntheticConfig { function len_returns_constructor_count (line 27) | fn len_returns_constructor_count() { function is_empty_true_for_zero_length (line 40) | fn is_empty_true_for_zero_length() { function is_empty_false_for_non_empty (line 50) | fn is_empty_false_for_non_empty() { function get_sample_amplitude_shape (line 65) | fn get_sample_amplitude_shape() { function get_sample_phase_shape (line 78) | fn get_sample_phase_shape() { function get_sample_keypoints_shape (line 92) | fn get_sample_keypoints_shape() { function get_sample_visibility_shape (line 107) | fn get_sample_visibility_shape() { function keypoints_in_unit_square (line 126) | fn keypoints_in_unit_square() { function visibility_all_visible_in_synthetic (line 147) | fn visibility_all_visible_in_synthetic() { function amplitude_values_in_physics_range (line 164) | fn amplitude_values_in_physics_range() { function get_is_deterministic_same_index (line 183) | fn get_is_deterministic_same_index() { function different_indices_produce_different_samples (line 213) | fn different_indices_produce_different_samples() { function two_datasets_same_config_same_samples (line 235) | fn two_datasets_same_config_same_samples() { function different_config_produces_different_data (line 259) | fn different_config_produces_different_data() { function get_out_of_bounds_returns_error (line 283) | fn get_out_of_bounds_returns_error() { function get_large_index_returns_error (line 294) | fn get_large_index_returns_error() { function mmfi_dataset_nonexistent_directory_returns_error (line 310) | fn mmfi_dataset_nonexistent_directory_returns_error() { function mmfi_dataset_empty_directory_produces_empty_dataset (line 339) | fn mmfi_dataset_empty_directory_produces_empty_dataset() { function dataloader_yields_all_samples_no_shuffle (line 364) | fn dataloader_yields_all_samples_no_shuffle() { function dataloader_yields_all_samples_with_shuffle (line 380) | fn dataloader_yields_all_samples_with_shuffle() { function dataloader_shuffle_is_deterministic_same_seed (line 396) | fn dataloader_shuffle_is_deterministic_same_seed() { function dataloader_shuffle_different_seeds_differ (line 414) | fn dataloader_shuffle_different_seeds_differ() { function dataloader_num_batches_ceiling_division (line 429) | fn dataloader_num_batches_ceiling_division() { function dataloader_empty_dataset_zero_batches (line 445) | fn dataloader_empty_dataset_zero_batches() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/tests/test_losses.rs function cpu (line 21) | fn cpu() -> tch::Device { function gaussian_heatmap_has_correct_shape (line 31) | fn gaussian_heatmap_has_correct_shape() { function gaussian_heatmap_values_in_unit_interval (line 43) | fn gaussian_heatmap_values_in_unit_interval() { function gaussian_heatmap_peak_at_keypoint_location (line 55) | fn gaussian_heatmap_peak_at_keypoint_location() { function gaussian_heatmap_zero_outside_3sigma_radius (line 84) | fn gaussian_heatmap_zero_outside_3sigma_radius() { function target_heatmaps_output_shape (line 119) | fn target_heatmaps_output_shape() { function target_heatmaps_invisible_joints_are_zero (line 140) | fn target_heatmaps_invisible_joints_are_zero() { function target_heatmaps_visible_joints_are_nonzero (line 169) | fn target_heatmaps_visible_joints_are_nonzero() { function keypoint_heatmap_loss_identical_tensors_is_zero (line 192) | fn keypoint_heatmap_loss_identical_tensors_is_zero() { function keypoint_heatmap_loss_zero_pred_vs_ones_target_is_positive (line 211) | fn keypoint_heatmap_loss_zero_pred_vs_ones_target_is_positive() { function keypoint_heatmap_loss_invisible_joints_contribute_nothing (line 230) | fn keypoint_heatmap_loss_invisible_joints_contribute_nothing() { function densepose_part_loss_no_nan (line 254) | fn densepose_part_loss_no_nan() { function compute_losses_total_positive_for_nonzero_error (line 286) | fn compute_losses_total_positive_for_nonzero_error() { function compute_losses_total_zero_for_perfect_prediction (line 310) | fn compute_losses_total_zero_for_perfect_prediction() { function compute_losses_optional_components_are_none (line 337) | fn compute_losses_optional_components_are_none() { function compute_losses_with_all_components_populates_all_fields (line 362) | fn compute_losses_with_all_components_populates_all_fields() { function transfer_loss_identical_features_is_zero (line 412) | fn transfer_loss_identical_features_is_zero() { function transfer_loss_different_features_is_positive (line 428) | fn transfer_loss_different_features_is_positive() { function tch_backend_not_enabled (line 448) | fn tch_backend_not_enabled() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/tests/test_metrics.rs function eval_metrics_stores_correct_values (line 25) | fn eval_metrics_stores_correct_values() { function pck_perfect_prediction_is_one (line 51) | fn pck_perfect_prediction_is_one() { function pck_completely_wrong_prediction_is_zero (line 66) | fn pck_completely_wrong_prediction_is_zero() { function mpjpe_perfect_prediction_is_zero (line 81) | fn mpjpe_perfect_prediction_is_zero() { function mpjpe_is_monotone_with_distance (line 96) | fn mpjpe_is_monotone_with_distance() { function gps_perfect_prediction_is_zero (line 113) | fn gps_perfect_prediction_is_zero() { function gps_monotone_with_distance (line 128) | fn gps_monotone_with_distance() { function compute_pck (line 149) | fn compute_pck(pred: &[[f64; 2]], gt: &[[f64; 2]], threshold: f64) -> f64 { function pck_computation_perfect_prediction (line 168) | fn pck_computation_perfect_prediction() { function pck_computation_completely_wrong_prediction (line 185) | fn pck_computation_completely_wrong_prediction() { function pck_monotone_with_accuracy (line 201) | fn pck_monotone_with_accuracy() { function compute_oks (line 227) | fn compute_oks(pred: &[[f64; 2]], gt: &[[f64; 2]], sigma: f64, scale: f6... function oks_perfect_prediction_is_one (line 247) | fn oks_perfect_prediction_is_one() { function oks_decreases_with_distance (line 265) | fn oks_decreases_with_distance() { function greedy_assignment (line 293) | fn greedy_assignment(cost: &[Vec]) -> Vec { function hungarian_identity_cost_matrix_assigns_diagonal (line 307) | fn hungarian_identity_cost_matrix_assigns_diagonal() { function hungarian_permuted_cost_matrix_finds_optimal (line 324) | fn hungarian_permuted_cost_matrix_finds_optimal() { function hungarian_5x5_identity_matrix (line 342) | fn hungarian_5x5_identity_matrix() { function metrics_accumulator_perfect_batch_pck (line 363) | fn metrics_accumulator_perfect_batch_pck() { function metrics_accumulator_is_additive_half_correct (line 389) | fn metrics_accumulator_is_additive_half_correct() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/tests/test_proof.rs function verify_checkpoint_dir_returns_true_for_existing_dir (line 26) | fn verify_checkpoint_dir_returns_true_for_existing_dir() { function verify_checkpoint_dir_returns_false_for_nonexistent_path (line 38) | fn verify_checkpoint_dir_returns_false_for_nonexistent_path() { function verify_checkpoint_dir_returns_false_for_file (line 57) | fn verify_checkpoint_dir_returns_false_for_file() { function verify_checkpoint_dir_is_idempotent (line 73) | fn verify_checkpoint_dir_is_idempotent() { function verify_checkpoint_dir_works_for_nested_directory (line 87) | fn verify_checkpoint_dir_works_for_nested_directory() { function proof_runs_without_panic (line 111) | fn proof_runs_without_panic() { function proof_is_deterministic (line 139) | fn proof_is_deterministic() { function hash_generation_and_verification_roundtrip (line 157) | fn hash_generation_and_verification_roundtrip() { function checkpoint_dir_creation_and_verification_workflow (line 177) | fn checkpoint_dir_creation_and_verification_workflow() { function multiple_checkpoint_dirs_are_independent (line 200) | fn multiple_checkpoint_dirs_are_independent() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-train/tests/test_subcarrier.rs function resample_114_to_56_output_shape (line 18) | fn resample_114_to_56_output_shape() { function resample_56_to_114_output_shape (line 42) | fn resample_56_to_114_output_shape() { function identity_resample_56_to_56_preserves_values (line 64) | fn identity_resample_56_to_56_preserves_values() { function monotone_input_interpolates_linearly (line 95) | fn monotone_input_interpolates_linearly() { function monotone_downsample_interpolates_linearly (line 115) | fn monotone_downsample_interpolates_linearly() { function boundary_first_subcarrier_preserved_on_downsample (line 138) | fn boundary_first_subcarrier_preserved_on_downsample() { function boundary_last_subcarrier_preserved_on_downsample (line 157) | fn boundary_last_subcarrier_preserved_on_downsample() { function boundary_endpoints_preserved_on_upsample (line 175) | fn boundary_endpoints_preserved_on_upsample() { function resample_is_deterministic (line 206) | fn resample_is_deterministic() { function compute_interp_weights_is_deterministic (line 234) | fn compute_interp_weights_is_deterministic() { function compute_interp_weights_identity_case (line 254) | fn compute_interp_weights_identity_case() { function compute_interp_weights_correct_length (line 272) | fn compute_interp_weights_correct_length() { function compute_interp_weights_frac_in_unit_interval (line 284) | fn compute_interp_weights_frac_in_unit_interval() { function compute_interp_weights_indices_in_bounds (line 296) | fn compute_interp_weights_indices_in_bounds() { function select_subcarriers_returns_k_indices (line 317) | fn select_subcarriers_returns_k_indices() { function select_subcarriers_indices_are_sorted_ascending (line 332) | fn select_subcarriers_indices_are_sorted_ascending() { function select_subcarriers_indices_are_valid (line 348) | fn select_subcarriers_indices_are_valid() { function select_subcarriers_prefers_high_variance (line 366) | fn select_subcarriers_prefers_high_variance() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-vitals/src/anomaly.rs type AnomalyAlert (line 19) | pub struct AnomalyAlert { type WelfordStats (line 33) | struct WelfordStats { method new (line 40) | fn new() -> Self { method update (line 48) | fn update(&mut self, value: f64) { method variance (line 56) | fn variance(&self) -> f64 { method std_dev (line 63) | fn std_dev(&self) -> f64 { method z_score (line 67) | fn z_score(&self, value: f64) -> f64 { type VitalAnomalyDetector (line 78) | pub struct VitalAnomalyDetector { method new (line 99) | pub fn new(window: usize, z_threshold: f64) -> Self { method default_config (line 112) | pub fn default_config() -> Self { method check (line 120) | pub fn check(&mut self, reading: &VitalReading) -> Vec { method reset (line 219) | pub fn reset(&mut self) { method reading_count (line 228) | pub fn reading_count(&self) -> u64 { method rr_mean (line 234) | pub fn rr_mean(&self) -> f64 { method hr_mean (line 240) | pub fn hr_mean(&self) -> f64 { function make_reading (line 250) | fn make_reading(rr_bpm: f64, hr_bpm: f64) -> VitalReading { function no_alerts_for_normal_readings (line 269) | fn no_alerts_for_normal_readings() { function detects_tachycardia (line 282) | fn detects_tachycardia() { function detects_bradycardia (line 297) | fn detects_bradycardia() { function detects_apnea (line 308) | fn detects_apnea() { function detects_tachypnea (line 319) | fn detects_tachypnea() { function detects_sudden_change (line 330) | fn detects_sudden_change() { function reset_clears_state (line 343) | fn reset_clears_state() { function welford_stats_basic (line 354) | fn welford_stats_basic() { function welford_z_score (line 364) | fn welford_z_score() { function running_means_are_tracked (line 375) | fn running_means_are_tracked() { function severity_is_clamped (line 385) | fn severity_is_clamped() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-vitals/src/breathing.rs type IirState (line 15) | struct IirState { method default (line 23) | fn default() -> Self { type BreathingExtractor (line 34) | pub struct BreathingExtractor { method new (line 59) | pub fn new(n_subcarriers: usize, sample_rate: f64, window_secs: f64) -... method esp32_default (line 74) | pub fn esp32_default() -> Self { method extract (line 87) | pub fn extract(&mut self, residuals: &[f64], weights: &[f64]) -> Optio... method bandpass_filter (line 152) | fn bandpass_filter(&mut self, input: f64) -> f64 { method reset (line 175) | pub fn reset(&mut self) { method history_len (line 182) | pub fn history_len(&self) -> usize { method band (line 188) | pub fn band(&self) -> (f64, f64) { function count_zero_crossings (line 194) | fn count_zero_crossings(signal: &[f64]) -> usize { function compute_confidence (line 199) | fn compute_confidence(history: &[f64]) -> f64 { function no_data_returns_none (line 229) | fn no_data_returns_none() { function insufficient_history_returns_none (line 235) | fn insufficient_history_returns_none() { function zero_crossings_count (line 244) | fn zero_crossings_count() { function zero_crossings_constant (line 250) | fn zero_crossings_constant() { function sinusoidal_breathing_detected (line 256) | fn sinusoidal_breathing_detected() { function reset_clears_state (line 281) | fn reset_clears_state() { function band_returns_correct_values (line 290) | fn band_returns_correct_values() { function confidence_zero_for_flat_signal (line 298) | fn confidence_zero_for_flat_signal() { function confidence_positive_for_oscillating_signal (line 305) | fn confidence_positive_for_oscillating_signal() { function esp32_default_creates_correctly (line 314) | fn esp32_default_creates_correctly() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-vitals/src/heartrate.rs type IirState (line 16) | struct IirState { method default (line 24) | fn default() -> Self { type HeartRateExtractor (line 36) | pub struct HeartRateExtractor { method new (line 63) | pub fn new(n_subcarriers: usize, sample_rate: f64, window_secs: f64) -... method esp32_default (line 79) | pub fn esp32_default() -> Self { method extract (line 90) | pub fn extract(&mut self, residuals: &[f64], phases: &[f64]) -> Option... method bandpass_filter (line 157) | fn bandpass_filter(&mut self, input: f64) -> f64 { method reset (line 180) | pub fn reset(&mut self) { method history_len (line 187) | pub fn history_len(&self) -> usize { method band (line 193) | pub fn band(&self) -> (f64, f64) { function compute_phase_coherence_signal (line 203) | fn compute_phase_coherence_signal(residuals: &[f64], phases: &[f64], n: ... function autocorrelation_peak (line 240) | fn autocorrelation_peak( function no_data_returns_none (line 300) | fn no_data_returns_none() { function insufficient_history_returns_none (line 306) | fn insufficient_history_returns_none() { function sinusoidal_heartbeat_detected (line 314) | fn sinusoidal_heartbeat_detected() { function reset_clears_state (line 342) | fn reset_clears_state() { function band_returns_correct_values (line 351) | fn band_returns_correct_values() { function autocorrelation_finds_known_period (line 359) | fn autocorrelation_finds_known_period() { function phase_coherence_single_subcarrier (line 378) | fn phase_coherence_single_subcarrier() { function phase_coherence_multi_subcarrier (line 384) | fn phase_coherence_multi_subcarrier() { function esp32_default_creates_correctly (line 392) | fn esp32_default_creates_correctly() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-vitals/src/preprocessor.rs type CsiVitalPreprocessor (line 16) | pub struct CsiVitalPreprocessor { method new (line 35) | pub fn new(n_subcarriers: usize, alpha: f64) -> Self { method esp32_default (line 47) | pub fn esp32_default() -> Self { method process (line 59) | pub fn process(&mut self, frame: &CsiFrame) -> Option> { method reset (line 87) | pub fn reset(&mut self) { method alpha (line 94) | pub fn alpha(&self) -> f64 { method set_alpha (line 99) | pub fn set_alpha(&mut self, alpha: f64) { method n_subcarriers (line 105) | pub fn n_subcarriers(&self) -> usize { function make_frame (line 115) | fn make_frame(amplitudes: Vec, n: usize) -> CsiFrame { function empty_frame_returns_none (line 127) | fn empty_frame_returns_none() { function first_frame_residuals_are_zero (line 134) | fn first_frame_residuals_are_zero() { function static_signal_residuals_converge_to_zero (line 145) | fn static_signal_residuals_converge_to_zero() { function step_change_produces_large_residual (line 164) | fn step_change_produces_large_residual() { function reset_clears_state (line 181) | fn reset_clears_state() { function alpha_clamped (line 194) | fn alpha_clamped() { function esp32_default_has_correct_subcarriers (line 202) | fn esp32_default_has_correct_subcarriers() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-vitals/src/store.rs type VitalSignStore (line 10) | pub struct VitalSignStore { method new (line 43) | pub fn new(max_readings: usize) -> Self { method default_capacity (line 52) | pub fn default_capacity() -> Self { method push (line 59) | pub fn push(&mut self, reading: VitalReading) { method latest (line 68) | pub fn latest(&self) -> Option<&VitalReading> { method history (line 76) | pub fn history(&self, n: usize) -> &[VitalReading] { method stats (line 85) | pub fn stats(&self) -> Option { method len (line 130) | pub fn len(&self) -> usize { method is_empty (line 136) | pub fn is_empty(&self) -> bool { method capacity (line 142) | pub fn capacity(&self) -> usize { method clear (line 147) | pub fn clear(&mut self) { type VitalStats (line 19) | pub struct VitalStats { function make_reading (line 157) | fn make_reading(rr: f64, hr: f64) -> VitalReading { function empty_store (line 176) | fn empty_store() { function push_and_retrieve (line 185) | fn push_and_retrieve() { function eviction_at_capacity (line 196) | fn eviction_at_capacity() { function history_returns_last_n (line 213) | fn history_returns_last_n() { function history_when_fewer_than_n (line 226) | fn history_when_fewer_than_n() { function stats_computation (line 234) | fn stats_computation() { function stats_valid_fraction (line 252) | fn stats_valid_fraction() { function clear_empties_store (line 276) | fn clear_empties_store() { function default_capacity_is_3600 (line 286) | fn default_capacity_is_3600() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-vitals/src/types.rs type VitalStatus (line 9) | pub enum VitalStatus { type VitalEstimate (line 23) | pub struct VitalEstimate { method unavailable (line 90) | pub fn unavailable() -> Self { type VitalReading (line 35) | pub struct VitalReading { type CsiFrame (line 50) | pub struct CsiFrame { method new (line 68) | pub fn new( function vital_status_equality (line 104) | fn vital_status_equality() { function vital_estimate_unavailable (line 110) | fn vital_estimate_unavailable() { function csi_frame_new_valid (line 118) | fn csi_frame_new_valid() { function csi_frame_new_mismatched_lengths (line 133) | fn csi_frame_new_mismatched_lengths() { function csi_frame_clone (line 145) | fn csi_frame_clone() { function vital_reading_serde_roundtrip (line 154) | fn vital_reading_serde_roundtrip() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/adversarial.rs constant MAX_SC (line 18) | const MAX_SC: usize = 32; constant PHASE_JUMP_THRESHOLD (line 21) | const PHASE_JUMP_THRESHOLD: f32 = 2.5; constant MIN_AMPLITUDE_VARIANCE (line 24) | const MIN_AMPLITUDE_VARIANCE: f32 = 0.001; constant MAX_ENERGY_RATIO (line 27) | const MAX_ENERGY_RATIO: f32 = 50.0; constant BASELINE_FRAMES (line 30) | const BASELINE_FRAMES: u32 = 100; constant ANOMALY_COOLDOWN (line 33) | const ANOMALY_COOLDOWN: u16 = 20; type AnomalyDetector (line 36) | pub struct AnomalyDetector { method new (line 59) | pub const fn new() -> Self { method process_frame (line 75) | pub fn process_frame(&mut self, phases: &[f32], amplitudes: &[f32]) ->... method total_anomalies (line 179) | pub fn total_anomalies(&self) -> u32 { function test_anomaly_detector_init (line 189) | fn test_anomaly_detector_init() { function test_calibration_phase (line 197) | fn test_calibration_phase() { function test_normal_signal_no_anomaly (line 210) | fn test_normal_signal_no_anomaly() { function test_phase_jump_detection (line 232) | fn test_phase_jump_detection() { function test_amplitude_flatline_detection (line 250) | fn test_amplitude_flatline_detection() { function test_energy_spike_detection (line 270) | fn test_energy_spike_detection() { function test_cooldown_prevents_flood (line 287) | fn test_cooldown_prevents_flood() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ais_behavioral_profiler.rs function sqrtf (line 15) | fn sqrtf(x: f32) -> f32 { x.sqrt() } constant N_DIM (line 17) | const N_DIM: usize = 6; constant LEARNING_FRAMES (line 18) | const LEARNING_FRAMES: u32 = 1000; constant ANOMALY_Z (line 19) | const ANOMALY_Z: f32 = 3.0; constant NOVEL_Z (line 20) | const NOVEL_Z: f32 = 2.0; constant NOVEL_MIN (line 21) | const NOVEL_MIN: u32 = 3; constant OBS_WIN (line 22) | const OBS_WIN: usize = 200; constant COOLDOWN (line 23) | const COOLDOWN: u16 = 100; constant MATURITY_INTERVAL (line 24) | const MATURITY_INTERVAL: u32 = 72000; constant VAR_FLOOR (line 25) | const VAR_FLOOR: f32 = 1e-6; constant EVENT_BEHAVIOR_ANOMALY (line 27) | pub const EVENT_BEHAVIOR_ANOMALY: i32 = 825; constant EVENT_PROFILE_DEVIATION (line 28) | pub const EVENT_PROFILE_DEVIATION: i32 = 826; constant EVENT_NOVEL_PATTERN (line 29) | pub const EVENT_NOVEL_PATTERN: i32 = 827; constant EVENT_PROFILE_MATURITY (line 30) | pub const EVENT_PROFILE_MATURITY: i32 = 828; type Welford (line 34) | struct Welford { count: u32, mean: f32, m2: f32 } method new (line 36) | const fn new() -> Self { Self { count: 0, mean: 0.0, m2: 0.0 } } method update (line 37) | fn update(&mut self, x: f32) { method variance (line 43) | fn variance(&self) -> f32 { method z_score (line 46) | fn z_score(&self, x: f32) -> f32 { type ObsWindow (line 55) | struct ObsWindow { method new (line 63) | const fn new() -> Self { method push (line 66) | fn push(&mut self, present: bool, mot: f32, np: u8) { method features (line 74) | fn features(&self) -> [f32; N_DIM] { type BehavioralProfiler (line 106) | pub struct BehavioralProfiler { method new (line 117) | pub const fn new() -> Self { method process_frame (line 125) | pub fn process_frame(&mut self, present: bool, motion: f32, n_persons:... method is_mature (line 182) | pub fn is_mature(&self) -> bool { self.mature } method frame_count (line 183) | pub fn frame_count(&self) -> u32 { self.frame_count } method total_anomalies (line 184) | pub fn total_anomalies(&self) -> u32 { self.anomaly_count } method dim_mean (line 185) | pub fn dim_mean(&self, d: usize) -> f32 { if d < N_DIM { self.stats[d]... method dim_variance (line 186) | pub fn dim_variance(&self, d: usize) -> f32 { if d < N_DIM { self.stat... function test_init (line 194) | fn test_init() { function test_welford (line 202) | fn test_welford() { function test_welford_z_far (line 212) | fn test_welford_z_far() { function test_learning_phase (line 219) | fn test_learning_phase() { function test_normal_no_anomaly (line 226) | fn test_normal_no_anomaly() { function test_anomaly_detection (line 237) | fn test_anomaly_detection() { function test_obs_features (line 264) | fn test_obs_features() { function test_maturity_event (line 276) | fn test_maturity_event() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ais_prompt_shield.rs function sqrtf (line 14) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function log10f (line 16) | fn log10f(x: f32) -> f32 { x.log10() } constant MAX_SC (line 18) | const MAX_SC: usize = 32; constant HASH_RING (line 19) | const HASH_RING: usize = 64; constant FNV_OFFSET (line 20) | const FNV_OFFSET: u32 = 2166136261; constant FNV_PRIME (line 21) | const FNV_PRIME: u32 = 16777619; constant INJECTION_FACTOR (line 22) | const INJECTION_FACTOR: f32 = 10.0; constant INJECTION_FRAC (line 23) | const INJECTION_FRAC: f32 = 0.25; constant JAMMING_SNR_FRAC (line 24) | const JAMMING_SNR_FRAC: f32 = 0.10; constant JAMMING_CONSEC (line 25) | const JAMMING_CONSEC: u8 = 5; constant BASELINE_FRAMES (line 26) | const BASELINE_FRAMES: u32 = 100; constant COOLDOWN (line 27) | const COOLDOWN: u16 = 40; constant EVENT_REPLAY_ATTACK (line 29) | pub const EVENT_REPLAY_ATTACK: i32 = 820; constant EVENT_INJECTION_DETECTED (line 30) | pub const EVENT_INJECTION_DETECTED: i32 = 821; constant EVENT_JAMMING_DETECTED (line 31) | pub const EVENT_JAMMING_DETECTED: i32 = 822; constant EVENT_SIGNAL_INTEGRITY (line 32) | pub const EVENT_SIGNAL_INTEGRITY: i32 = 823; type PromptShield (line 35) | pub struct PromptShield { method new (line 54) | pub const fn new() -> Self { method process_frame (line 65) | pub fn process_frame(&mut self, phases: &[f32], amps: &[f32]) -> &[(i3... method fnv1a (line 157) | fn fnv1a(&self, ph: f32, amp: f32, var: f32) -> u32 { method push_hash (line 164) | fn push_hash(&mut self, h: u32) { method has_hash (line 169) | fn has_hash(&self, h: u32) -> bool { method frame_count (line 173) | pub fn frame_count(&self) -> u32 { self.frame_count } method is_calibrated (line 174) | pub fn is_calibrated(&self) -> bool { self.calibrated } function test_init (line 182) | fn test_init() { function test_calibration (line 189) | fn test_calibration() { function test_normal_no_alerts (line 198) | fn test_normal_no_alerts() { function test_replay_detection (line 214) | fn test_replay_detection() { function test_injection_detection (line 226) | fn test_injection_detection() { function test_jamming_detection (line 237) | fn test_jamming_detection() { function test_integrity_score (line 255) | fn test_integrity_score() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/aut_psycho_symbolic.rs constant MAX_RULES (line 37) | const MAX_RULES: usize = 16; constant CONDS_PER_RULE (line 40) | const CONDS_PER_RULE: usize = 4; constant MAX_EVENTS (line 43) | const MAX_EVENTS: usize = 8; constant EVENT_INFERENCE_RESULT (line 48) | pub const EVENT_INFERENCE_RESULT: i32 = 880; constant EVENT_INFERENCE_CONFIDENCE (line 51) | pub const EVENT_INFERENCE_CONFIDENCE: i32 = 881; constant EVENT_RULE_FIRED (line 54) | pub const EVENT_RULE_FIRED: i32 = 882; constant EVENT_CONTRADICTION (line 58) | pub const EVENT_CONTRADICTION: i32 = 883; constant FEAT_PRESENCE (line 63) | const FEAT_PRESENCE: u8 = 0; constant FEAT_MOTION (line 64) | const FEAT_MOTION: u8 = 1; constant FEAT_BREATHING (line 65) | const FEAT_BREATHING: u8 = 2; constant FEAT_HEARTRATE (line 66) | const FEAT_HEARTRATE: u8 = 3; constant FEAT_N_PERSONS (line 67) | const FEAT_N_PERSONS: u8 = 4; constant FEAT_COHERENCE (line 68) | const FEAT_COHERENCE: u8 = 5; constant FEAT_TIME_BUCKET (line 69) | const FEAT_TIME_BUCKET: u8 = 6; constant FEAT_PREV_MOTION (line 70) | const FEAT_PREV_MOTION: u8 = 7; constant NUM_FEATURES (line 71) | const NUM_FEATURES: usize = 8; constant FEAT_DISABLED (line 74) | const FEAT_DISABLED: u8 = 0xFF; type CmpOp (line 80) | enum CmpOp { constant CONCL_POSSIBLE_INTRUDER (line 94) | const CONCL_POSSIBLE_INTRUDER: u8 = 1; constant CONCL_PERSON_RESTING (line 95) | const CONCL_PERSON_RESTING: u8 = 2; constant CONCL_PET_OR_ENV (line 96) | const CONCL_PET_OR_ENV: u8 = 3; constant CONCL_SOCIAL_ACTIVITY (line 97) | const CONCL_SOCIAL_ACTIVITY: u8 = 4; constant CONCL_EXERCISE (line 98) | const CONCL_EXERCISE: u8 = 5; constant CONCL_POSSIBLE_FALL (line 99) | const CONCL_POSSIBLE_FALL: u8 = 6; constant CONCL_INTERFERENCE (line 100) | const CONCL_INTERFERENCE: u8 = 7; constant CONCL_SLEEPING (line 101) | const CONCL_SLEEPING: u8 = 8; constant CONCL_COOKING_ACTIVITY (line 102) | const CONCL_COOKING_ACTIVITY: u8 = 9; constant CONCL_LEAVING_HOME (line 103) | const CONCL_LEAVING_HOME: u8 = 10; constant CONCL_ARRIVING_HOME (line 104) | const CONCL_ARRIVING_HOME: u8 = 11; constant CONCL_CHILD_PLAYING (line 105) | const CONCL_CHILD_PLAYING: u8 = 12; constant CONCL_WORKING_DESK (line 106) | const CONCL_WORKING_DESK: u8 = 13; constant CONCL_MEDICAL_DISTRESS (line 107) | const CONCL_MEDICAL_DISTRESS: u8 = 14; constant CONCL_ROOM_EMPTY_STABLE (line 108) | const CONCL_ROOM_EMPTY_STABLE: u8 = 15; constant CONCL_CROWD_GATHERING (line 109) | const CONCL_CROWD_GATHERING: u8 = 16; constant CONTRADICTION_PAIRS (line 114) | const CONTRADICTION_PAIRS: [(u8, u8); 4] = [ type Condition (line 125) | struct Condition { method disabled (line 132) | const fn disabled() -> Self { method new (line 136) | const fn new(feature_id: u8, op: CmpOp, threshold: f32) -> Self { method evaluate (line 143) | fn evaluate(&self, features: &[f32; NUM_FEATURES]) -> f32 { type Rule (line 198) | struct Rule { method evaluate (line 207) | fn evaluate(&self, features: &[f32; NUM_FEATURES]) -> f32 { function build_knowledge_base (line 226) | const fn build_knowledge_base() -> [Rule; MAX_RULES] { type PsychoSymbolicEngine (line 292) | pub struct PsychoSymbolicEngine { method new (line 308) | pub const fn new() -> Self { method set_coherence (line 320) | pub fn set_coherence(&mut self, coh: f32) { method process_frame (line 334) | pub fn process_frame( method fired_rules (line 433) | pub fn fired_rules(&self) -> u16 { method fired_count (line 438) | pub fn fired_count(&self) -> u32 { method prev_conclusion (line 443) | pub fn prev_conclusion(&self) -> u8 { method contradiction_count (line 448) | pub fn contradiction_count(&self) -> u32 { method frame_count (line 453) | pub fn frame_count(&self) -> u32 { method reset (line 458) | pub fn reset(&mut self) { function clamp (line 466) | const fn clamp(val: f32, lo: f32, hi: f32) -> f32 { function test_const_constructor (line 477) | fn test_const_constructor() { function test_person_resting (line 485) | fn test_person_resting() { function test_room_empty (line 500) | fn test_room_empty() { function test_exercise (line 511) | fn test_exercise() { function test_possible_intruder_at_night (line 523) | fn test_possible_intruder_at_night() { function test_possible_fall (line 538) | fn test_possible_fall() { function test_contradiction_detection (line 555) | fn test_contradiction_detection() { function test_pet_or_environment (line 569) | fn test_pet_or_environment() { function test_social_activity (line 580) | fn test_social_activity() { function test_rule_fired_events (line 592) | fn test_rule_fired_events() { function test_medical_distress (line 602) | fn test_medical_distress() { function test_interference (line 615) | fn test_interference() { function test_reset (line 628) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/aut_self_healing_mesh.rs constant MAX_NODES (line 13) | const MAX_NODES: usize = 8; constant QUALITY_ALPHA (line 14) | const QUALITY_ALPHA: f32 = 0.15; constant MINCUT_FRAGILE (line 15) | const MINCUT_FRAGILE: f32 = 0.3; constant MINCUT_HEALTHY (line 16) | const MINCUT_HEALTHY: f32 = 0.6; constant NO_NODE (line 17) | const NO_NODE: u8 = 0xFF; constant MAX_EVENTS (line 18) | const MAX_EVENTS: usize = 6; constant EVENT_NODE_DEGRADED (line 22) | pub const EVENT_NODE_DEGRADED: i32 = 885; constant EVENT_MESH_RECONFIGURE (line 23) | pub const EVENT_MESH_RECONFIGURE: i32 = 886; constant EVENT_COVERAGE_SCORE (line 24) | pub const EVENT_COVERAGE_SCORE: i32 = 887; constant EVENT_HEALING_COMPLETE (line 25) | pub const EVENT_HEALING_COMPLETE: i32 = 888; type SelfHealingMesh (line 30) | pub struct SelfHealingMesh { method new (line 50) | pub const fn new() -> Self { method update_node_quality (line 64) | pub fn update_node_quality(&mut self, id: usize, coherence: f32) { method process_frame (line 78) | pub fn process_frame(&mut self, node_qualities: &[f32]) -> &[(i32, f32... method stoer_wagner (line 137) | fn stoer_wagner(&self, n: usize) -> (f32, u8) { method find_weakest (line 208) | fn find_weakest(&self, n: usize) -> u8 { method node_quality (line 219) | pub fn node_quality(&self, node: usize) -> f32 { method active_nodes (line 222) | pub fn active_nodes(&self) -> usize { self.n_active } method prev_mincut (line 223) | pub fn prev_mincut(&self) -> f32 { self.prev_mincut } method is_healing (line 224) | pub fn is_healing(&self) -> bool { self.healing } method weakest_node (line 225) | pub fn weakest_node(&self) -> u8 { self.weakest } method frame_count (line 226) | pub fn frame_count(&self) -> u32 { self.frame_count } method reset (line 227) | pub fn reset(&mut self) { *self = Self::new(); } function min_f32 (line 230) | fn min_f32(a: f32, b: f32) -> f32 { if a < b { a } else { b } } function test_const_constructor (line 239) | fn test_const_constructor() { function test_healthy_mesh (line 248) | fn test_healthy_mesh() { function test_fragile_mesh (line 260) | fn test_fragile_mesh() { function test_healing_recovery (line 272) | fn test_healing_recovery() { function test_two_nodes (line 288) | fn test_two_nodes() { function test_single_node_skipped (line 297) | fn test_single_node_skipped() { function test_eight_nodes (line 303) | fn test_eight_nodes() { function test_adjacency_symmetry (line 311) | fn test_adjacency_symmetry() { function test_stoer_wagner_k3 (line 331) | fn test_stoer_wagner_k3() { function test_stoer_wagner_bottleneck (line 343) | fn test_stoer_wagner_bottleneck() { function test_ema_smoothing (line 355) | fn test_ema_smoothing() { function test_reset (line 365) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/bin/ghost_hunter.rs function log_str (line 32) | fn log_str(s: &str) { function emit (line 37) | fn emit(event_type: i32, value: f32) { function on_init (line 46) | pub extern "C" fn on_init() { function on_frame (line 53) | pub extern "C" fn on_frame(n_subcarriers: i32) { function on_timer (line 93) | pub extern "C" fn on_timer() { function main (line 104) | fn main() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/bld_elevator_count.rs function sqrtf (line 17) | fn sqrtf(x: f32) -> f32 { x.sqrt() } constant MAX_SC (line 20) | const MAX_SC: usize = 32; constant MAX_OCCUPANTS (line 23) | const MAX_OCCUPANTS: usize = 12; constant DEFAULT_OVERLOAD (line 26) | const DEFAULT_OVERLOAD: u8 = 10; constant BASELINE_FRAMES (line 29) | const BASELINE_FRAMES: u32 = 200; constant ALPHA (line 32) | const ALPHA: f32 = 0.15; constant DOOR_VARIANCE_RATIO (line 35) | const DOOR_VARIANCE_RATIO: f32 = 4.0; constant DOOR_DEBOUNCE (line 38) | const DOOR_DEBOUNCE: u8 = 3; constant DOOR_COOLDOWN (line 41) | const DOOR_COOLDOWN: u16 = 40; constant EMIT_INTERVAL (line 44) | const EMIT_INTERVAL: u32 = 10; constant EVENT_ELEVATOR_COUNT (line 48) | pub const EVENT_ELEVATOR_COUNT: i32 = 330; constant EVENT_DOOR_OPEN (line 49) | pub const EVENT_DOOR_OPEN: i32 = 331; constant EVENT_DOOR_CLOSE (line 50) | pub const EVENT_DOOR_CLOSE: i32 = 332; constant EVENT_OVERLOAD_WARNING (line 51) | pub const EVENT_OVERLOAD_WARNING: i32 = 333; type DoorState (line 55) | pub enum DoorState { type ElevatorCounter (line 61) | pub struct ElevatorCounter { method new (line 94) | pub const fn new() -> Self { method process_frame (line 123) | pub fn process_frame( method occupant_count (line 306) | pub fn occupant_count(&self) -> u8 { method door_state (line 311) | pub fn door_state(&self) -> DoorState { method set_overload_threshold (line 316) | pub fn set_overload_threshold(&mut self, thresh: u8) { method is_calibrated (line 321) | pub fn is_calibrated(&self) -> bool { function test_elevator_init (line 331) | fn test_elevator_init() { function test_calibration (line 339) | fn test_calibration() { function test_occupancy_increases_with_variance (line 352) | fn test_occupancy_increases_with_variance() { function test_host_hint_fusion (line 376) | fn test_host_hint_fusion() { function test_overload_event (line 396) | fn test_overload_event() { function test_door_detection (line 421) | fn test_door_detection() { function test_short_input (line 456) | fn test_short_input() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/bld_energy_audit.rs constant HOURS_PER_DAY (line 14) | const HOURS_PER_DAY: usize = 24; constant DAYS_PER_WEEK (line 17) | const DAYS_PER_WEEK: usize = 7; constant FRAMES_PER_HOUR (line 20) | const FRAMES_PER_HOUR: u32 = 72000; constant SUMMARY_INTERVAL (line 23) | const SUMMARY_INTERVAL: u32 = 1200; constant AFTER_HOURS_START (line 26) | const AFTER_HOURS_START: u8 = 22; constant AFTER_HOURS_END (line 27) | const AFTER_HOURS_END: u8 = 6; constant USED_THRESHOLD (line 30) | const USED_THRESHOLD: f32 = 0.1; constant AFTER_HOURS_ALERT_FRAMES (line 33) | const AFTER_HOURS_ALERT_FRAMES: u32 = 600; constant EVENT_SCHEDULE_SUMMARY (line 37) | pub const EVENT_SCHEDULE_SUMMARY: i32 = 350; constant EVENT_AFTER_HOURS_ALERT (line 38) | pub const EVENT_AFTER_HOURS_ALERT: i32 = 351; constant EVENT_UTILIZATION_RATE (line 39) | pub const EVENT_UTILIZATION_RATE: i32 = 352; type HourBin (line 43) | struct HourBin { method new (line 53) | const fn new() -> Self { method occupancy_rate (line 62) | fn occupancy_rate(&self) -> f32 { method avg_headcount (line 70) | fn avg_headcount(&self) -> f32 { type EnergyAuditor (line 79) | pub struct EnergyAuditor { method new (line 97) | pub const fn new() -> Self { method set_time (line 112) | pub fn set_time(&mut self, day: u8, hour: u8) { method process_frame (line 124) | pub fn process_frame( method is_after_hours (line 200) | fn is_after_hours(&self, hour: u8) -> bool { method utilization_rate (line 210) | pub fn utilization_rate(&self) -> f32 { method hourly_rate (line 218) | pub fn hourly_rate(&self, day: usize, hour: usize) -> f32 { method hourly_headcount (line 227) | pub fn hourly_headcount(&self, day: usize, hour: usize) -> f32 { method unoccupied_hours (line 237) | pub fn unoccupied_hours(&self, day: usize) -> u8 { method current_time (line 251) | pub fn current_time(&self) -> (u8, u8) { function test_energy_audit_init (line 261) | fn test_energy_audit_init() { function test_occupancy_recording (line 268) | fn test_occupancy_recording() { function test_partial_occupancy (line 285) | fn test_partial_occupancy() { function test_after_hours_alert (line 302) | fn test_after_hours_alert() { function test_no_after_hours_alert_during_business (line 319) | fn test_no_after_hours_alert_during_business() { function test_unoccupied_hours (line 336) | fn test_unoccupied_hours() { function test_periodic_summary_emission (line 351) | fn test_periodic_summary_emission() { function test_utilization_rate (line 374) | fn test_utilization_rate() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/bld_hvac_presence.rs constant ARRIVAL_DEBOUNCE (line 13) | const ARRIVAL_DEBOUNCE: u32 = 200; constant DEPARTURE_TIMEOUT (line 16) | const DEPARTURE_TIMEOUT: u32 = 6000; constant ACTIVITY_THRESHOLD (line 19) | const ACTIVITY_THRESHOLD: f32 = 0.3; constant MOTION_ALPHA (line 22) | const MOTION_ALPHA: f32 = 0.1; constant PRESENCE_THRESHOLD (line 25) | const PRESENCE_THRESHOLD: f32 = 0.5; constant EMIT_INTERVAL (line 28) | const EMIT_INTERVAL: u32 = 20; constant EVENT_HVAC_OCCUPIED (line 32) | pub const EVENT_HVAC_OCCUPIED: i32 = 310; constant EVENT_ACTIVITY_LEVEL (line 33) | pub const EVENT_ACTIVITY_LEVEL: i32 = 311; constant EVENT_DEPARTURE_COUNTDOWN (line 34) | pub const EVENT_DEPARTURE_COUNTDOWN: i32 = 312; type HvacState (line 38) | pub enum HvacState { type ActivityLevel (line 51) | pub enum ActivityLevel { type HvacPresenceDetector (line 59) | pub struct HvacPresenceDetector { method new (line 74) | pub const fn new() -> Self { method process_frame (line 91) | pub fn process_frame( method state (line 204) | pub fn state(&self) -> HvacState { method activity (line 209) | pub fn activity(&self) -> ActivityLevel { method motion_ema (line 214) | pub fn motion_ema(&self) -> f32 { method is_occupied (line 219) | pub fn is_occupied(&self) -> bool { function test_hvac_init (line 229) | fn test_hvac_init() { function test_arrival_debounce (line 237) | fn test_arrival_debounce() { function test_departure_timeout (line 257) | fn test_departure_timeout() { function test_departure_cancelled_on_return (line 280) | fn test_departure_cancelled_on_return() { function test_activity_level_classification (line 301) | fn test_activity_level_classification() { function test_events_emitted_periodically (line 318) | fn test_events_emitted_periodically() { function test_false_presence_does_not_trigger (line 345) | fn test_false_presence_does_not_trigger() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/bld_lighting_zones.rs constant MAX_ZONES (line 16) | const MAX_ZONES: usize = 4; constant MAX_SC (line 19) | const MAX_SC: usize = 32; constant OCCUPANCY_THRESHOLD (line 22) | const OCCUPANCY_THRESHOLD: f32 = 0.03; constant ACTIVE_THRESHOLD (line 25) | const ACTIVE_THRESHOLD: f32 = 0.25; constant DIM_TIMEOUT (line 28) | const DIM_TIMEOUT: u32 = 12000; constant OFF_TIMEOUT (line 31) | const OFF_TIMEOUT: u32 = 600; constant ALPHA (line 34) | const ALPHA: f32 = 0.12; constant BASELINE_FRAMES (line 37) | const BASELINE_FRAMES: u32 = 200; constant EMIT_INTERVAL (line 40) | const EMIT_INTERVAL: u32 = 20; constant EVENT_LIGHT_ON (line 44) | pub const EVENT_LIGHT_ON: i32 = 320; constant EVENT_LIGHT_DIM (line 45) | pub const EVENT_LIGHT_DIM: i32 = 321; constant EVENT_LIGHT_OFF (line 46) | pub const EVENT_LIGHT_OFF: i32 = 322; type LightState (line 50) | pub enum LightState { type ZoneLight (line 58) | struct ZoneLight { type LightingZoneController (line 78) | pub struct LightingZoneController { method new (line 90) | pub const fn new() -> Self { method process_frame (line 118) | pub fn process_frame( method zone_state (line 274) | pub fn zone_state(&self, zone_id: usize) -> LightState { method n_zones (line 283) | pub fn n_zones(&self) -> usize { method is_calibrated (line 288) | pub fn is_calibrated(&self) -> bool { function test_lighting_init (line 298) | fn test_lighting_init() { function test_calibration (line 305) | fn test_calibration() { function test_light_on_with_occupancy (line 317) | fn test_light_on_with_occupancy() { function test_light_dim_after_sedentary_timeout (line 341) | fn test_light_dim_after_sedentary_timeout() { function test_light_off_after_vacancy (line 370) | fn test_light_off_after_vacancy() { function test_transition_events_emitted (line 398) | fn test_transition_events_emitted() { function test_short_input_returns_empty (line 427) | fn test_short_input_returns_empty() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/bld_meeting_room.rs constant MEETING_MIN_FRAMES (line 17) | const MEETING_MIN_FRAMES: u32 = 6000; constant MEETING_MIN_PERSONS (line 20) | const MEETING_MIN_PERSONS: u8 = 2; constant PRE_MEETING_TIMEOUT (line 24) | const PRE_MEETING_TIMEOUT: u32 = 3600; constant POST_MEETING_TIMEOUT (line 27) | const POST_MEETING_TIMEOUT: u32 = 2400; constant PRESENCE_THRESHOLD (line 30) | const PRESENCE_THRESHOLD: i32 = 1; constant EMIT_INTERVAL (line 33) | const EMIT_INTERVAL: u32 = 20; constant EVENT_MEETING_START (line 37) | pub const EVENT_MEETING_START: i32 = 340; constant EVENT_MEETING_END (line 38) | pub const EVENT_MEETING_END: i32 = 341; constant EVENT_PEAK_HEADCOUNT (line 39) | pub const EVENT_PEAK_HEADCOUNT: i32 = 342; constant EVENT_ROOM_AVAILABLE (line 40) | pub const EVENT_ROOM_AVAILABLE: i32 = 343; type MeetingState (line 44) | pub enum MeetingState { type MeetingRoomTracker (line 56) | pub struct MeetingRoomTracker { method new (line 77) | pub const fn new() -> Self { method process_frame (line 98) | pub fn process_frame( method state (line 230) | pub fn state(&self) -> MeetingState { method peak_headcount (line 235) | pub fn peak_headcount(&self) -> u8 { method meeting_count (line 240) | pub fn meeting_count(&self) -> u32 { method utilization_rate (line 245) | pub fn utilization_rate(&self) -> f32 { function test_meeting_room_init (line 258) | fn test_meeting_room_init() { function test_empty_to_pre_meeting (line 267) | fn test_empty_to_pre_meeting() { function test_pre_meeting_to_active (line 276) | fn test_pre_meeting_to_active() { function test_meeting_end_and_room_available (line 288) | fn test_meeting_end_and_room_available() { function test_transient_occupancy_not_meeting (line 316) | fn test_transient_occupancy_not_meeting() { function test_peak_headcount_tracked (line 331) | fn test_peak_headcount_tracked() { function test_meeting_events_emitted (line 355) | fn test_meeting_events_emitted() { function test_utilization_rate (line 385) | fn test_utilization_rate() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/coherence.rs constant MAX_SC (line 11) | const MAX_SC: usize = 32; constant ALPHA (line 14) | const ALPHA: f32 = 0.1; constant HIGH_THRESHOLD (line 17) | const HIGH_THRESHOLD: f32 = 0.7; constant LOW_THRESHOLD (line 18) | const LOW_THRESHOLD: f32 = 0.4; type GateState (line 22) | pub enum GateState { type CoherenceMonitor (line 32) | pub struct CoherenceMonitor { method new (line 50) | pub const fn new() -> Self { method process_frame (line 68) | pub fn process_frame(&mut self, phases: &[f32]) -> f32 { method gate_state (line 146) | pub fn gate_state(&self) -> GateState { method mean_phasor_angle (line 151) | pub fn mean_phasor_angle(&self) -> f32 { method coherence_score (line 156) | pub fn coherence_score(&self) -> f32 { function test_coherence_monitor_init (line 166) | fn test_coherence_monitor_init() { function test_empty_phases_returns_current_score (line 174) | fn test_empty_phases_returns_current_score() { function test_first_frame_returns_one (line 181) | fn test_first_frame_returns_one() { function test_constant_phases_high_coherence (line 189) | fn test_constant_phases_high_coherence() { function test_incoherent_phases_lower_coherence (line 203) | fn test_incoherent_phases_lower_coherence() { function test_gate_hysteresis (line 228) | fn test_gate_hysteresis() { function test_mean_phasor_angle_zero_for_no_drift (line 245) | fn test_mean_phasor_angle_zero_for_no_drift() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_breathing_sync.rs constant MAX_PERSONS (line 55) | const MAX_PERSONS: usize = 4; constant MAX_PAIRS (line 58) | const MAX_PAIRS: usize = 6; constant N_GROUPS (line 61) | const N_GROUPS: usize = 8; constant MAX_SC (line 64) | const MAX_SC: usize = 32; constant BREATH_BUF_LEN (line 67) | const BREATH_BUF_LEN: usize = 64; constant DC_ALPHA (line 70) | const DC_ALPHA: f32 = 0.005; constant LP_ALPHA (line 73) | const LP_ALPHA: f32 = 0.15; constant SYNC_THRESHOLD (line 76) | const SYNC_THRESHOLD: f32 = 0.6; constant SYNC_ONSET_FRAMES (line 79) | const SYNC_ONSET_FRAMES: u32 = 20; constant SYNC_LOST_FRAMES (line 82) | const SYNC_LOST_FRAMES: u32 = 15; constant MIN_FRAMES (line 85) | const MIN_FRAMES: u32 = BREATH_BUF_LEN as u32; constant EPSILON (line 88) | const EPSILON: f32 = 1e-10; constant EVENT_SYNC_DETECTED (line 92) | pub const EVENT_SYNC_DETECTED: i32 = 670; constant EVENT_SYNC_PAIR_COUNT (line 93) | pub const EVENT_SYNC_PAIR_COUNT: i32 = 671; constant EVENT_GROUP_COHERENCE (line 94) | pub const EVENT_GROUP_COHERENCE: i32 = 672; constant EVENT_SYNC_LOST (line 95) | pub const EVENT_SYNC_LOST: i32 = 673; type BreathingChannel (line 100) | struct BreathingChannel { method new (line 110) | const fn new() -> Self { method feed (line 119) | fn feed(&mut self, raw_phase: f32) { type PairState (line 129) | struct PairState { method new (line 139) | const fn new() -> Self { type BreathingSyncDetector (line 153) | pub struct BreathingSyncDetector { method new (line 171) | pub const fn new() -> Self { method process_frame (line 197) | pub fn process_frame( method cross_correlation (line 368) | fn cross_correlation(&self, person_a: usize, person_b: usize) -> f32 { method is_synced (line 396) | pub fn is_synced(&self) -> bool { method group_coherence (line 401) | pub fn group_coherence(&self) -> f32 { method active_persons (line 406) | pub fn active_persons(&self) -> usize { method frame_count (line 411) | pub fn frame_count(&self) -> u32 { method reset (line 416) | pub fn reset(&mut self) { function test_const_new (line 428) | fn test_const_new() { function test_single_person_no_sync (line 436) | fn test_single_person_no_sync() { function test_two_persons_identical_signal_syncs (line 451) | fn test_two_persons_identical_signal_syncs() { function test_two_persons_opposite_signals_no_sync (line 476) | fn test_two_persons_opposite_signals_no_sync() { function test_insufficient_subcarriers (line 501) | fn test_insufficient_subcarriers() { function test_coherence_range (line 509) | fn test_coherence_range() { function test_sync_lost_on_person_departure (line 524) | fn test_sync_lost_on_person_departure() { function test_reset (line 555) | fn test_reset() { function test_cross_correlation_identical_buffers (line 569) | fn test_cross_correlation_identical_buffers() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_dream_stage.rs constant BREATH_HIST_LEN (line 52) | const BREATH_HIST_LEN: usize = 64; constant HR_HIST_LEN (line 55) | const HR_HIST_LEN: usize = 64; constant PHASE_BUF_LEN (line 58) | const PHASE_BUF_LEN: usize = 128; constant MOTION_ALPHA (line 61) | const MOTION_ALPHA: f32 = 0.1; constant BREATH_REG_ALPHA (line 64) | const BREATH_REG_ALPHA: f32 = 0.15; constant MIN_WARMUP (line 67) | const MIN_WARMUP: u32 = 40; constant MOTION_LOW_THRESH (line 70) | const MOTION_LOW_THRESH: f32 = 0.15; constant MOTION_HIGH_THRESH (line 73) | const MOTION_HIGH_THRESH: f32 = 0.5; constant BREATH_CV_VERY_REG (line 76) | const BREATH_CV_VERY_REG: f32 = 0.08; constant BREATH_CV_MOD_REG (line 79) | const BREATH_CV_MOD_REG: f32 = 0.20; constant HRV_HIGH_THRESH (line 82) | const HRV_HIGH_THRESH: f32 = 8.0; constant HRV_LOW_THRESH (line 85) | const HRV_LOW_THRESH: f32 = 2.0; constant MICRO_MOVEMENT_THRESH (line 88) | const MICRO_MOVEMENT_THRESH: f32 = 0.05; constant STAGE_HYSTERESIS (line 91) | const STAGE_HYSTERESIS: u32 = 10; constant EVENT_SLEEP_STAGE (line 95) | pub const EVENT_SLEEP_STAGE: i32 = 600; constant EVENT_SLEEP_QUALITY (line 96) | pub const EVENT_SLEEP_QUALITY: i32 = 601; constant EVENT_REM_EPISODE (line 97) | pub const EVENT_REM_EPISODE: i32 = 602; constant EVENT_DEEP_SLEEP_RATIO (line 98) | pub const EVENT_DEEP_SLEEP_RATIO: i32 = 603; type SleepStage (line 105) | pub enum SleepStage { type DreamStageDetector (line 115) | pub struct DreamStageDetector { method new (line 153) | pub const fn new() -> Self { method process_frame (line 186) | pub fn process_frame( method classify_stage (line 315) | fn classify_stage( method compute_breath_cv (line 371) | fn compute_breath_cv(&self) -> f32 { method compute_hrv (line 397) | fn compute_hrv(&self) -> f32 { method compute_micro_movement (line 420) | fn compute_micro_movement(&self) -> f32 { method stage (line 435) | pub fn stage(&self) -> SleepStage { method efficiency (line 440) | pub fn efficiency(&self) -> f32 { method deep_ratio (line 448) | pub fn deep_ratio(&self) -> f32 { method rem_ratio (line 456) | pub fn rem_ratio(&self) -> f32 { method frame_count (line 464) | pub fn frame_count(&self) -> u32 { method micro_movement_energy (line 469) | pub fn micro_movement_energy(&self) -> f32 { method reset (line 474) | pub fn reset(&mut self) { function test_const_new (line 487) | fn test_const_new() { function test_warmup_no_events (line 495) | fn test_warmup_no_events() { function test_high_motion_stays_awake (line 504) | fn test_high_motion_stays_awake() { function test_low_motion_regular_breathing_deep_sleep (line 516) | fn test_low_motion_regular_breathing_deep_sleep() { function test_no_presence_stays_awake (line 530) | fn test_no_presence_stays_awake() { function test_rem_detection_high_hrv_micro_movement (line 539) | fn test_rem_detection_high_hrv_micro_movement() { function test_sleep_quality_metrics (line 560) | fn test_sleep_quality_metrics() { function test_event_ids_correct (line 573) | fn test_event_ids_correct() { function test_reset (line 597) | fn test_reset() { function test_breath_cv_constant_signal (line 609) | fn test_breath_cv_constant_signal() { function test_micro_movement_zero_for_constant_phase (line 620) | fn test_micro_movement_zero_for_constant_phase() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_emotion_detect.rs constant BREATH_HIST_LEN (line 48) | const BREATH_HIST_LEN: usize = 32; constant HR_HIST_LEN (line 51) | const HR_HIST_LEN: usize = 32; constant MOTION_HIST_LEN (line 54) | const MOTION_HIST_LEN: usize = 64; constant PHASE_VAR_HIST_LEN (line 57) | const PHASE_VAR_HIST_LEN: usize = 32; constant AROUSAL_ALPHA (line 60) | const AROUSAL_ALPHA: f32 = 0.12; constant STRESS_ALPHA (line 63) | const STRESS_ALPHA: f32 = 0.10; constant FIDGET_ALPHA (line 66) | const FIDGET_ALPHA: f32 = 0.15; constant MIN_WARMUP (line 69) | const MIN_WARMUP: u32 = 20; constant CALM_BREATH_LOW (line 72) | const CALM_BREATH_LOW: f32 = 6.0; constant CALM_BREATH_HIGH (line 73) | const CALM_BREATH_HIGH: f32 = 10.0; constant STRESS_BREATH_THRESH (line 76) | const STRESS_BREATH_THRESH: f32 = 20.0; constant CALM_MOTION_THRESH (line 79) | const CALM_MOTION_THRESH: f32 = 0.08; constant AGITATION_MOTION_THRESH (line 82) | const AGITATION_MOTION_THRESH: f32 = 0.6; constant AGITATION_FIDGET_THRESH (line 85) | const AGITATION_FIDGET_THRESH: f32 = 0.15; constant BASELINE_HR (line 88) | const BASELINE_HR: f32 = 70.0; constant HR_STRESS_SCALE (line 91) | const HR_STRESS_SCALE: f32 = 0.01; constant CALM_BREATH_CV_THRESH (line 94) | const CALM_BREATH_CV_THRESH: f32 = 0.08; constant STRESS_BREATH_CV_THRESH (line 97) | const STRESS_BREATH_CV_THRESH: f32 = 0.25; constant CALM_AROUSAL_THRESH (line 100) | const CALM_AROUSAL_THRESH: f32 = 0.25; constant AGITATION_AROUSAL_THRESH (line 103) | const AGITATION_AROUSAL_THRESH: f32 = 0.75; constant W_BREATH (line 106) | const W_BREATH: f32 = 0.30; constant W_HR (line 109) | const W_HR: f32 = 0.20; constant W_FIDGET (line 112) | const W_FIDGET: f32 = 0.30; constant W_PHASE_VAR (line 115) | const W_PHASE_VAR: f32 = 0.20; constant EVENT_AROUSAL_LEVEL (line 119) | pub const EVENT_AROUSAL_LEVEL: i32 = 610; constant EVENT_STRESS_INDEX (line 120) | pub const EVENT_STRESS_INDEX: i32 = 611; constant EVENT_CALM_DETECTED (line 121) | pub const EVENT_CALM_DETECTED: i32 = 612; constant EVENT_AGITATION_DETECTED (line 122) | pub const EVENT_AGITATION_DETECTED: i32 = 613; type EmotionDetector (line 129) | pub struct EmotionDetector { method new (line 159) | pub const fn new() -> Self { method process_frame (line 187) | pub fn process_frame( method compute_breath_score (line 283) | fn compute_breath_score(&self, bpm: f32) -> f32 { method compute_hr_score (line 297) | fn compute_hr_score(&self, bpm: f32) -> f32 { method compute_fidget_energy (line 306) | fn compute_fidget_energy(&self) -> f32 { method compute_phase_var_score (line 321) | fn compute_phase_var_score(&self) -> f32 { method compute_breath_cv (line 338) | fn compute_breath_cv(&self) -> f32 { method arousal (line 363) | pub fn arousal(&self) -> f32 { method stress_index (line 368) | pub fn stress_index(&self) -> f32 { method is_calm (line 373) | pub fn is_calm(&self) -> bool { method is_agitated (line 378) | pub fn is_agitated(&self) -> bool { method frame_count (line 383) | pub fn frame_count(&self) -> u32 { method reset (line 388) | pub fn reset(&mut self) { function clamp01 (line 394) | fn clamp01(x: f32) -> f32 { function test_const_new (line 412) | fn test_const_new() { function test_warmup_no_events (line 421) | fn test_warmup_no_events() { function test_calm_detection_slow_breathing_low_motion (line 430) | fn test_calm_detection_slow_breathing_low_motion() { function test_stress_high_breathing_high_hr (line 444) | fn test_stress_high_breathing_high_hr() { function test_agitation_high_motion_irregular_breathing (line 459) | fn test_agitation_high_motion_irregular_breathing() { function test_arousal_always_in_range (line 473) | fn test_arousal_always_in_range() { function test_event_ids_emitted (line 486) | fn test_event_ids_emitted() { function test_clamp01 (line 500) | fn test_clamp01() { function test_breath_score_calm_range (line 507) | fn test_breath_score_calm_range() { function test_breath_score_stress_range (line 515) | fn test_breath_score_stress_range() { function test_reset (line 523) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_gesture_language.rs constant MAX_TEMPLATES (line 43) | const MAX_TEMPLATES: usize = 26; constant FEAT_DIM (line 47) | const FEAT_DIM: usize = 6; constant GESTURE_WIN_LEN (line 50) | const GESTURE_WIN_LEN: usize = 32; constant MAX_SC (line 53) | const MAX_SC: usize = 32; constant MIN_GESTURE_FILL (line 56) | const MIN_GESTURE_FILL: usize = 8; constant MATCH_THRESHOLD (line 59) | const MATCH_THRESHOLD: f32 = 0.5; constant DTW_BAND (line 62) | const DTW_BAND: usize = 4; constant WORD_PAUSE_FRAMES (line 65) | const WORD_PAUSE_FRAMES: u32 = 15; constant PAUSE_MOTION_THRESH (line 68) | const PAUSE_MOTION_THRESH: f32 = 0.08; constant MOTION_ALPHA (line 71) | const MOTION_ALPHA: f32 = 0.2; constant DEBOUNCE_FRAMES (line 74) | const DEBOUNCE_FRAMES: u32 = 10; constant EVENT_LETTER_RECOGNIZED (line 78) | pub const EVENT_LETTER_RECOGNIZED: i32 = 620; constant EVENT_LETTER_CONFIDENCE (line 79) | pub const EVENT_LETTER_CONFIDENCE: i32 = 621; constant EVENT_WORD_BOUNDARY (line 80) | pub const EVENT_WORD_BOUNDARY: i32 = 622; constant EVENT_GESTURE_REJECTED (line 81) | pub const EVENT_GESTURE_REJECTED: i32 = 623; type GestureLanguageDetector (line 89) | pub struct GestureLanguageDetector { method new (line 119) | pub const fn new() -> Self { method set_template (line 141) | pub fn set_template(&mut self, index: usize, features: &[[f32; FEAT_DI... method load_synthetic_templates (line 166) | pub fn load_synthetic_templates(&mut self) { method process_frame (line 196) | pub fn process_frame( method match_gesture (line 272) | fn match_gesture(&self) -> (u8, f32) { method dtw_multivariate (line 311) | fn dtw_multivariate(&self, t_idx: usize, t_len: usize) -> f32 { method reset_gesture (line 355) | fn reset_gesture(&mut self) { method last_letter (line 361) | pub fn last_letter(&self) -> u8 { method last_confidence (line 366) | pub fn last_confidence(&self) -> f32 { method template_count (line 371) | pub fn template_count(&self) -> usize { method frame_count (line 376) | pub fn frame_count(&self) -> u32 { method reset (line 381) | pub fn reset(&mut self) { function extract_features (line 387) | fn extract_features( function frame_distance (line 418) | fn frame_distance(a: &[f32; FEAT_DIM], b: &[f32; FEAT_DIM]) -> f32 { function min_usize (line 428) | const fn min_usize(a: usize, b: usize) -> usize { function test_const_new (line 440) | fn test_const_new() { function test_no_templates_no_match (line 448) | fn test_no_templates_no_match() { function test_load_synthetic_templates (line 464) | fn test_load_synthetic_templates() { function test_set_template (line 471) | fn test_set_template() { function test_word_boundary_on_pause (line 479) | fn test_word_boundary_on_pause() { function test_no_presence_resets_gesture (line 501) | fn test_no_presence_resets_gesture() { function test_frame_distance_identity (line 515) | fn test_frame_distance_identity() { function test_frame_distance_positive (line 522) | fn test_frame_distance_positive() { function test_extract_features_basic (line 530) | fn test_extract_features_basic() { function test_gesture_rejected_on_mismatch (line 540) | fn test_gesture_rejected_on_mismatch() { function test_reset (line 566) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_ghost_hunter.rs constant N_GROUPS (line 55) | const N_GROUPS: usize = 8; constant MAX_SC (line 58) | const MAX_SC: usize = 32; constant ANOMALY_BUF_LEN (line 61) | const ANOMALY_BUF_LEN: usize = 64; constant PHASE_BUF_LEN (line 64) | const PHASE_BUF_LEN: usize = 64; constant MAX_LAG (line 67) | const MAX_LAG: usize = 16; constant NOISE_ALPHA (line 70) | const NOISE_ALPHA: f32 = 0.001; constant ANOMALY_SIGMA (line 73) | const ANOMALY_SIGMA: f32 = 3.0; constant IMPULSE_MAX_FRAMES (line 76) | const IMPULSE_MAX_FRAMES: u32 = 5; constant PERIOD_THRESHOLD (line 79) | const PERIOD_THRESHOLD: f32 = 0.4; constant DRIFT_MIN_FRAMES (line 82) | const DRIFT_MIN_FRAMES: u32 = 30; constant BREATHING_LAG_MIN (line 90) | const BREATHING_LAG_MIN: usize = 5; constant BREATHING_LAG_MAX (line 91) | const BREATHING_LAG_MAX: usize = 15; constant HIDDEN_PRESENCE_THRESHOLD (line 94) | const HIDDEN_PRESENCE_THRESHOLD: f32 = 0.3; constant MIN_EMPTY_FRAMES (line 97) | const MIN_EMPTY_FRAMES: u32 = 40; constant ANOMALY_ENERGY_ALPHA (line 100) | const ANOMALY_ENERGY_ALPHA: f32 = 0.1; constant EVENT_ANOMALY_DETECTED (line 104) | pub const EVENT_ANOMALY_DETECTED: i32 = 650; constant EVENT_ANOMALY_CLASS (line 105) | pub const EVENT_ANOMALY_CLASS: i32 = 651; constant EVENT_HIDDEN_PRESENCE (line 106) | pub const EVENT_HIDDEN_PRESENCE: i32 = 652; constant EVENT_ENVIRONMENTAL_DRIFT (line 107) | pub const EVENT_ENVIRONMENTAL_DRIFT: i32 = 653; type AnomalyClass (line 114) | pub enum AnomalyClass { type GhostHunterDetector (line 125) | pub struct GhostHunterDetector { method new (line 159) | pub const fn new() -> Self { method process_frame (line 198) | pub fn process_frame( method check_periodicity (line 371) | fn check_periodicity(&mut self) -> bool { method check_hidden_breathing (line 409) | fn check_hidden_breathing(&self) -> f32 { method anomaly_class (line 446) | pub fn anomaly_class(&self) -> AnomalyClass { method hidden_presence_confidence (line 451) | pub fn hidden_presence_confidence(&self) -> f32 { method anomaly_energy (line 456) | pub fn anomaly_energy(&self) -> f32 { method frame_count (line 461) | pub fn frame_count(&self) -> u32 { method empty_frames (line 466) | pub fn empty_frames(&self) -> u32 { method reset (line 471) | pub fn reset(&mut self) { function test_const_new (line 483) | fn test_const_new() { function test_presence_blocks_detection (line 491) | fn test_presence_blocks_detection() { function test_quiet_room_no_anomaly (line 504) | fn test_quiet_room_no_anomaly() { function test_high_variance_triggers_anomaly (line 519) | fn test_high_variance_triggers_anomaly() { function test_anomaly_class_values (line 545) | fn test_anomaly_class_values() { function test_insufficient_subcarriers (line 554) | fn test_insufficient_subcarriers() { function test_hidden_breathing_detection (line 562) | fn test_hidden_breathing_detection() { function test_reset (line 597) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_happiness_score.rs constant PHASE_ROC_LEN (line 51) | const PHASE_ROC_LEN: usize = 16; constant STEP_INTERVAL_LEN (line 54) | const STEP_INTERVAL_LEN: usize = 16; constant FLUIDITY_BUF_LEN (line 58) | const FLUIDITY_BUF_LEN: usize = 16; constant BREATH_HIST_LEN (line 62) | const BREATH_HIST_LEN: usize = 16; constant AMP_SPREAD_LEN (line 66) | const AMP_SPREAD_LEN: usize = 8; constant DWELL_BUF_LEN (line 70) | const DWELL_BUF_LEN: usize = 32; constant MOTION_TREND_LEN (line 74) | const MOTION_TREND_LEN: usize = 16; constant HAPPINESS_ALPHA (line 77) | const HAPPINESS_ALPHA: f32 = 0.10; constant GAIT_ALPHA (line 80) | const GAIT_ALPHA: f32 = 0.12; constant FLUIDITY_ALPHA (line 83) | const FLUIDITY_ALPHA: f32 = 0.12; constant SOCIAL_ALPHA (line 86) | const SOCIAL_ALPHA: f32 = 0.10; constant MIN_WARMUP (line 89) | const MIN_WARMUP: u32 = 20; constant MAX_SC (line 93) | const MAX_SC: usize = 32; constant EVENT_DECIMATION (line 97) | const EVENT_DECIMATION: u32 = 4; constant BASELINE_GAIT_SPEED (line 101) | const BASELINE_GAIT_SPEED: f32 = 0.5; constant MAX_GAIT_SPEED (line 104) | const MAX_GAIT_SPEED: f32 = 2.0; constant CALM_BREATH_LOW (line 107) | const CALM_BREATH_LOW: f32 = 6.0; constant CALM_BREATH_HIGH (line 108) | const CALM_BREATH_HIGH: f32 = 14.0; constant STRESS_BREATH_THRESH (line 111) | const STRESS_BREATH_THRESH: f32 = 22.0; constant W_GAIT_SPEED (line 115) | const W_GAIT_SPEED: f32 = 0.25; constant W_STRIDE_REG (line 116) | const W_STRIDE_REG: f32 = 0.15; constant W_FLUIDITY (line 117) | const W_FLUIDITY: f32 = 0.20; constant W_BREATH_CALM (line 118) | const W_BREATH_CALM: f32 = 0.20; constant W_POSTURE (line 119) | const W_POSTURE: f32 = 0.10; constant W_DWELL (line 120) | const W_DWELL: f32 = 0.10; constant EVENT_HAPPINESS_SCORE (line 124) | pub const EVENT_HAPPINESS_SCORE: i32 = 690; constant EVENT_GAIT_ENERGY (line 125) | pub const EVENT_GAIT_ENERGY: i32 = 691; constant EVENT_AFFECT_VALENCE (line 126) | pub const EVENT_AFFECT_VALENCE: i32 = 692; constant EVENT_SOCIAL_ENERGY (line 127) | pub const EVENT_SOCIAL_ENERGY: i32 = 693; constant EVENT_TRANSIT_DIRECTION (line 128) | pub const EVENT_TRANSIT_DIRECTION: i32 = 694; constant HAPPINESS_VECTOR_DIM (line 131) | pub const HAPPINESS_VECTOR_DIM: usize = 8; type HappinessScoreDetector (line 139) | pub struct HappinessScoreDetector { method new (line 190) | pub const fn new() -> Self { method process_frame (line 227) | pub fn process_frame( method compute_gait_speed (line 375) | fn compute_gait_speed(&self) -> f32 { method compute_stride_regularity (line 389) | fn compute_stride_regularity(&self) -> f32 { method compute_fluidity (line 404) | fn compute_fluidity(&self) -> f32 { method compute_breath_calm (line 420) | fn compute_breath_calm(&self, bpm: f32) -> f32 { method compute_posture_score (line 435) | fn compute_posture_score(&self) -> f32 { method compute_dwell_factor (line 450) | fn compute_dwell_factor(&self) -> f32 { method compute_transit_direction (line 464) | fn compute_transit_direction(&self) -> f32 { method happiness (line 492) | pub fn happiness(&self) -> f32 { method happiness_vector (line 497) | pub fn happiness_vector(&self) -> &[f32; HAPPINESS_VECTOR_DIM] { method frame_count (line 502) | pub fn frame_count(&self) -> u32 { method reset (line 507) | pub fn reset(&mut self) { function mean_slice (line 516) | fn mean_slice(s: &[f32]) -> f32 { function compute_amplitude_spread (line 533) | fn compute_amplitude_spread(amplitudes: &[f32]) -> f32 { function clamp01 (line 564) | fn clamp01(x: f32) -> f32 { function feed_frames (line 582) | fn feed_frames( function test_const_new (line 607) | fn test_const_new() { function test_no_presence_no_score (line 615) | fn test_no_presence_no_score() { function test_happy_gait (line 629) | fn test_happy_gait() { function test_calm_breathing (line 655) | fn test_calm_breathing() { function test_score_bounds (line 675) | fn test_score_bounds() { function test_happiness_vector_dim (line 703) | fn test_happiness_vector_dim() { function test_event_ids_emitted (line 714) | fn test_event_ids_emitted() { function test_clamp01 (line 749) | fn test_clamp01() { function test_transit_direction (line 756) | fn test_transit_direction() { function test_reset (line 787) | fn test_reset() { function test_amplitude_spread (line 801) | fn test_amplitude_spread() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_hyperbolic_space.rs constant DIM (line 46) | const DIM: usize = 2; constant FEAT_DIM (line 49) | const FEAT_DIM: usize = 8; constant N_REFS (line 52) | const N_REFS: usize = 16; constant MAX_SC (line 55) | const MAX_SC: usize = 32; constant MAX_NORM (line 58) | const MAX_NORM: f32 = 0.95; constant LEVEL_RADIUS_THRESHOLD (line 61) | const LEVEL_RADIUS_THRESHOLD: f32 = 0.5; constant POS_ALPHA (line 64) | const POS_ALPHA: f32 = 0.3; constant LABEL_HYSTERESIS (line 67) | const LABEL_HYSTERESIS: f32 = 0.2; constant ROOM_RADIUS (line 70) | const ROOM_RADIUS: f32 = 0.3; constant ZONE_RADIUS (line 73) | const ZONE_RADIUS: f32 = 0.7; constant EPSILON (line 76) | const EPSILON: f32 = 1e-7; constant EVENT_HIERARCHY_LEVEL (line 80) | pub const EVENT_HIERARCHY_LEVEL: i32 = 685; constant EVENT_HYPERBOLIC_RADIUS (line 81) | pub const EVENT_HYPERBOLIC_RADIUS: i32 = 686; constant EVENT_LOCATION_LABEL (line 82) | pub const EVENT_LOCATION_LABEL: i32 = 687; type HyperbolicEmbedder (line 90) | pub struct HyperbolicEmbedder { method new (line 112) | pub const fn new() -> Self { method default_references (line 127) | const fn default_references() -> [[f32; DIM]; N_REFS] { method default_projection (line 156) | const fn default_projection() -> [[f32; FEAT_DIM]; DIM] { method process_frame (line 168) | pub fn process_frame(&mut self, amplitudes: &[f32]) -> &[(i32, f32)] { method set_reference (line 272) | pub fn set_reference(&mut self, index: usize, coords: [f32; DIM]) { method set_projection_row (line 279) | pub fn set_projection_row(&mut self, dim: usize, weights: [f32; FEAT_D... method position (line 286) | pub fn position(&self) -> &[f32; DIM] { method label (line 291) | pub fn label(&self) -> u8 { method frame_count (line 296) | pub fn frame_count(&self) -> u32 { method reset (line 301) | pub fn reset(&mut self) { function poincare_distance (line 309) | fn poincare_distance(x: &[f32; DIM], y: &[f32; DIM]) -> f32 { function test_const_new (line 341) | fn test_const_new() { function test_poincare_distance_identity (line 348) | fn test_poincare_distance_identity() { function test_poincare_distance_symmetry (line 355) | fn test_poincare_distance_symmetry() { function test_poincare_distance_increases_with_separation (line 365) | fn test_poincare_distance_increases_with_separation() { function test_poincare_distance_boundary_diverges (line 376) | fn test_poincare_distance_boundary_diverges() { function test_insufficient_amplitudes_no_events (line 384) | fn test_insufficient_amplitudes_no_events() { function test_process_frame_emits_three_events (line 392) | fn test_process_frame_emits_three_events() { function test_event_ids_correct (line 400) | fn test_event_ids_correct() { function test_label_in_range (line 410) | fn test_label_in_range() { function test_radius_in_poincare_disk (line 424) | fn test_radius_in_poincare_disk() { function test_default_references_inside_disk (line 438) | fn test_default_references_inside_disk() { function test_normalization_clamps_to_disk (line 448) | fn test_normalization_clamps_to_disk() { function test_reset (line 459) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_music_conductor.rs constant BUF_LEN (line 42) | const BUF_LEN: usize = 128; constant MAX_LAG (line 45) | const MAX_LAG: usize = 64; constant MIN_LAG (line 49) | const MIN_LAG: usize = 4; constant MIN_FILL (line 52) | const MIN_FILL: usize = 32; constant PEAK_THRESHOLD (line 55) | const PEAK_THRESHOLD: f32 = 0.3; constant FRAME_RATE (line 58) | const FRAME_RATE: f32 = 20.0; constant DYNAMIC_ALPHA (line 61) | const DYNAMIC_ALPHA: f32 = 0.15; constant TEMPO_ALPHA (line 64) | const TEMPO_ALPHA: f32 = 0.1; constant PEAK_ALPHA (line 67) | const PEAK_ALPHA: f32 = 0.2; constant CUTOFF_RATIO (line 70) | const CUTOFF_RATIO: f32 = 0.2; constant FERMATA_MOTION_THRESH (line 73) | const FERMATA_MOTION_THRESH: f32 = 0.05; constant FERMATA_MIN_FRAMES (line 76) | const FERMATA_MIN_FRAMES: u32 = 10; constant BEATS_PER_MEASURE (line 79) | const BEATS_PER_MEASURE: u32 = 4; constant MIN_BPM (line 82) | const MIN_BPM: f32 = 30.0; constant MAX_BPM (line 85) | const MAX_BPM: f32 = 240.0; constant EVENT_CONDUCTOR_BPM (line 89) | pub const EVENT_CONDUCTOR_BPM: i32 = 630; constant EVENT_BEAT_POSITION (line 90) | pub const EVENT_BEAT_POSITION: i32 = 631; constant EVENT_DYNAMIC_LEVEL (line 91) | pub const EVENT_DYNAMIC_LEVEL: i32 = 632; constant EVENT_GESTURE_CUTOFF (line 92) | pub const EVENT_GESTURE_CUTOFF: i32 = 633; constant EVENT_GESTURE_FERMATA (line 93) | pub const EVENT_GESTURE_FERMATA: i32 = 634; type MusicConductorDetector (line 101) | pub struct MusicConductorDetector { method new (line 133) | pub const fn new() -> Self { method process_frame (line 161) | pub fn process_frame( method compute_stats (line 314) | fn compute_stats(&mut self, fill: usize) { method compute_autocorrelation (line 329) | fn compute_autocorrelation(&mut self, fill: usize) { method tempo_bpm (line 357) | pub fn tempo_bpm(&self) -> f32 { method period_frames (line 362) | pub fn period_frames(&self) -> u32 { method is_fermata (line 367) | pub fn is_fermata(&self) -> bool { method is_cutoff (line 372) | pub fn is_cutoff(&self) -> bool { method frame_count (line 377) | pub fn frame_count(&self) -> u32 { method autocorrelation (line 382) | pub fn autocorrelation(&self) -> &[f32; MAX_LAG] { method reset (line 387) | pub fn reset(&mut self) { function clamp_f32 (line 393) | fn clamp_f32(x: f32, lo: f32, hi: f32) -> f32 { constant PI (line 410) | const PI: f32 = core::f32::consts::PI; function test_const_new (line 413) | fn test_const_new() { function test_insufficient_data_no_events (line 421) | fn test_insufficient_data_no_events() { function test_periodic_motion_detects_tempo (line 430) | fn test_periodic_motion_detects_tempo() { function test_constant_motion_no_tempo (line 450) | fn test_constant_motion_no_tempo() { function test_fermata_detection (line 461) | fn test_fermata_detection() { function test_cutoff_detection (line 476) | fn test_cutoff_detection() { function test_dynamic_level_range (line 492) | fn test_dynamic_level_range() { function test_beat_position_range (line 507) | fn test_beat_position_range() { function test_clamp_f32 (line 523) | fn test_clamp_f32() { function test_reset (line 530) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_plant_growth.rs constant N_GROUPS (line 48) | const N_GROUPS: usize = 8; constant MAX_SC (line 51) | const MAX_SC: usize = 32; constant BASELINE_ALPHA (line 55) | const BASELINE_ALPHA: f32 = 0.0001; constant SHORT_ALPHA (line 58) | const SHORT_ALPHA: f32 = 0.01; constant MIN_EMPTY_FRAMES (line 61) | const MIN_EMPTY_FRAMES: u32 = 200; constant GROWTH_THRESHOLD (line 64) | const GROWTH_THRESHOLD: f32 = 0.005; constant WATERING_DROP_THRESHOLD (line 67) | const WATERING_DROP_THRESHOLD: f32 = 0.15; constant WILT_RISE_THRESHOLD (line 70) | const WILT_RISE_THRESHOLD: f32 = 0.10; constant WILT_VARIANCE_FACTOR (line 73) | const WILT_VARIANCE_FACTOR: f32 = 0.5; constant DIURNAL_WINDOW (line 77) | const DIURNAL_WINDOW: usize = 50; constant CIRCADIAN_MIN_MAGNITUDE (line 80) | const CIRCADIAN_MIN_MAGNITUDE: f32 = 0.01; constant EVENT_GROWTH_RATE (line 84) | pub const EVENT_GROWTH_RATE: i32 = 640; constant EVENT_CIRCADIAN_PHASE (line 85) | pub const EVENT_CIRCADIAN_PHASE: i32 = 641; constant EVENT_WILT_DETECTED (line 86) | pub const EVENT_WILT_DETECTED: i32 = 642; constant EVENT_WATERING_EVENT (line 87) | pub const EVENT_WATERING_EVENT: i32 = 643; type PlantGrowthDetector (line 97) | pub struct PlantGrowthDetector { method new (line 125) | pub const fn new() -> Self { method process_frame (line 170) | pub fn process_frame( method empty_frames (line 347) | pub fn empty_frames(&self) -> u32 { method frame_count (line 352) | pub fn frame_count(&self) -> u32 { method is_calibrated (line 357) | pub fn is_calibrated(&self) -> bool { method reset (line 362) | pub fn reset(&mut self) { function test_const_new (line 374) | fn test_const_new() { function test_presence_blocks_accumulation (line 382) | fn test_presence_blocks_accumulation() { function test_insufficient_subcarriers_no_events (line 395) | fn test_insufficient_subcarriers_no_events() { function test_empty_room_accumulates (line 405) | fn test_empty_room_accumulates() { function test_calibration_after_min_frames (line 417) | fn test_calibration_after_min_frames() { function test_stable_signal_no_growth_events (line 429) | fn test_stable_signal_no_growth_events() { function test_watering_event_detection (line 446) | fn test_watering_event_detection() { function test_reset (line 475) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_rain_detect.rs constant N_GROUPS (line 45) | const N_GROUPS: usize = 8; constant MAX_SC (line 48) | const MAX_SC: usize = 32; constant BASELINE_ALPHA (line 51) | const BASELINE_ALPHA: f32 = 0.0005; constant SHORT_ALPHA (line 54) | const SHORT_ALPHA: f32 = 0.05; constant ENERGY_ALPHA (line 57) | const ENERGY_ALPHA: f32 = 0.03; constant VARIANCE_RATIO_THRESHOLD (line 61) | const VARIANCE_RATIO_THRESHOLD: f32 = 2.5; constant MIN_GROUP_FRACTION (line 65) | const MIN_GROUP_FRACTION: f32 = 0.75; constant ONSET_FRAMES (line 68) | const ONSET_FRAMES: u32 = 10; constant CESSATION_FRAMES (line 71) | const CESSATION_FRAMES: u32 = 20; constant INTENSITY_LIGHT_MAX (line 74) | const INTENSITY_LIGHT_MAX: f32 = 0.3; constant INTENSITY_MODERATE_MAX (line 75) | const INTENSITY_MODERATE_MAX: f32 = 0.7; constant MIN_EMPTY_FRAMES (line 78) | const MIN_EMPTY_FRAMES: u32 = 40; constant EVENT_RAIN_ONSET (line 82) | pub const EVENT_RAIN_ONSET: i32 = 660; constant EVENT_RAIN_INTENSITY (line 83) | pub const EVENT_RAIN_INTENSITY: i32 = 661; constant EVENT_RAIN_CESSATION (line 84) | pub const EVENT_RAIN_CESSATION: i32 = 662; type RainIntensity (line 91) | pub enum RainIntensity { type RainDetector (line 101) | pub struct RainDetector { method new (line 123) | pub const fn new() -> Self { method process_frame (line 155) | pub fn process_frame( method is_raining (line 290) | pub fn is_raining(&self) -> bool { method intensity (line 295) | pub fn intensity(&self) -> RainIntensity { method energy (line 300) | pub fn energy(&self) -> f32 { method frame_count (line 305) | pub fn frame_count(&self) -> u32 { method empty_frames (line 310) | pub fn empty_frames(&self) -> u32 { method reset (line 315) | pub fn reset(&mut self) { function test_const_new (line 327) | fn test_const_new() { function test_presence_blocks_detection (line 336) | fn test_presence_blocks_detection() { function test_quiet_room_no_rain (line 349) | fn test_quiet_room_no_rain() { function test_broadband_variance_triggers_rain (line 365) | fn test_broadband_variance_triggers_rain() { function test_rain_cessation (line 392) | fn test_rain_cessation() { function test_intensity_levels (line 427) | fn test_intensity_levels() { function test_insufficient_subcarriers (line 435) | fn test_insufficient_subcarriers() { function test_reset (line 443) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/exo_time_crystal.rs constant BUF_LEN (line 40) | const BUF_LEN: usize = 256; constant MAX_LAG (line 43) | const MAX_LAG: usize = 128; constant PEAK_THRESHOLD (line 46) | const PEAK_THRESHOLD: f32 = 0.5; constant MIN_FILL (line 49) | const MIN_FILL: usize = 64; constant HARMONIC_TOLERANCE (line 53) | const HARMONIC_TOLERANCE: f32 = 0.05; constant MAX_PEAKS (line 56) | const MAX_PEAKS: usize = 8; constant STABILITY_WINDOW (line 59) | const STABILITY_WINDOW: u32 = 200; constant STABILITY_ALPHA (line 62) | const STABILITY_ALPHA: f32 = 0.05; constant EVENT_CRYSTAL_DETECTED (line 66) | pub const EVENT_CRYSTAL_DETECTED: i32 = 680; constant EVENT_CRYSTAL_STABILITY (line 67) | pub const EVENT_CRYSTAL_STABILITY: i32 = 681; constant EVENT_COORDINATION_INDEX (line 68) | pub const EVENT_COORDINATION_INDEX: i32 = 682; type TimeCrystalDetector (line 76) | pub struct TimeCrystalDetector { method new (line 102) | pub const fn new() -> Self { method process_frame (line 121) | pub fn process_frame(&mut self, motion_energy: f32) -> &[(i32, f32)] { method compute_stats (line 245) | fn compute_stats(&mut self, fill: usize) { method compute_autocorrelation (line 267) | fn compute_autocorrelation(&mut self, fill: usize) { method count_non_harmonic_peaks (line 300) | fn count_non_harmonic_peaks(&self, lags: &[u16]) -> u8 { method autocorrelation (line 330) | pub fn autocorrelation(&self) -> &[f32; MAX_LAG] { method stability (line 335) | pub fn stability(&self) -> f32 { method multiplier (line 340) | pub fn multiplier(&self) -> u8 { method is_detected (line 345) | pub fn is_detected(&self) -> bool { method coordination_index (line 350) | pub fn coordination_index(&self) -> u8 { method frame_count (line 355) | pub fn frame_count(&self) -> u32 { method reset (line 360) | pub fn reset(&mut self) { function test_const_new (line 372) | fn test_const_new() { function test_insufficient_data_no_events (line 381) | fn test_insufficient_data_no_events() { function test_constant_signal_no_crystal (line 390) | fn test_constant_signal_no_crystal() { function test_periodic_signal_produces_autocorrelation_peak (line 402) | fn test_periodic_signal_produces_autocorrelation_peak() { function test_coordination_single_peak (line 417) | fn test_coordination_single_peak() { function test_coordination_harmonic_peaks (line 425) | fn test_coordination_harmonic_peaks() { function test_coordination_non_harmonic_peaks (line 433) | fn test_coordination_non_harmonic_peaks() { function test_reset (line 441) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/gesture.rs constant MAX_TEMPLATE_LEN (line 10) | const MAX_TEMPLATE_LEN: usize = 40; constant MAX_WINDOW_LEN (line 13) | const MAX_WINDOW_LEN: usize = 60; constant NUM_TEMPLATES (line 16) | const NUM_TEMPLATES: usize = 4; constant DTW_THRESHOLD (line 19) | const DTW_THRESHOLD: f32 = 2.5; constant BAND_WIDTH (line 22) | const BAND_WIDTH: usize = 5; type GestureTemplate (line 25) | struct GestureTemplate { type GestureDetector (line 35) | pub struct GestureDetector { method new (line 50) | pub const fn new() -> Self { method process_frame (line 111) | pub fn process_frame(&mut self, phases: &[f32]) -> Option { function dtw_distance (line 188) | fn dtw_distance(a: &[f32], b: &[f32]) -> f32 { function test_gesture_detector_init (line 242) | fn test_gesture_detector_init() { function test_empty_phases_returns_none (line 250) | fn test_empty_phases_returns_none() { function test_first_frame_initializes (line 256) | fn test_first_frame_initializes() { function test_constant_phase_no_gesture_after_cooldown (line 264) | fn test_constant_phase_no_gesture_after_cooldown() { function test_dtw_identical_sequences (line 281) | fn test_dtw_identical_sequences() { function test_dtw_different_sequences (line 289) | fn test_dtw_different_sequences() { function test_dtw_empty_input (line 298) | fn test_dtw_empty_input() { function test_cooldown_prevents_duplicate_detection (line 305) | fn test_cooldown_prevents_duplicate_detection() { function test_window_ring_buffer_wraps (line 326) | fn test_window_ring_buffer_wraps() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ind_clean_room.rs constant DEFAULT_MAX_OCCUPANCY (line 15) | const DEFAULT_MAX_OCCUPANCY: u8 = 4; constant TURBULENT_MOTION_THRESH (line 19) | const TURBULENT_MOTION_THRESH: f32 = 0.6; constant VIOLATION_DEBOUNCE (line 22) | const VIOLATION_DEBOUNCE: u8 = 10; constant TURBULENT_DEBOUNCE (line 25) | const TURBULENT_DEBOUNCE: u8 = 3; constant COMPLIANCE_REPORT_INTERVAL (line 28) | const COMPLIANCE_REPORT_INTERVAL: u32 = 600; constant VIOLATION_COOLDOWN (line 31) | const VIOLATION_COOLDOWN: u16 = 200; constant TURBULENT_COOLDOWN (line 34) | const TURBULENT_COOLDOWN: u16 = 100; constant EVENT_OCCUPANCY_COUNT (line 37) | pub const EVENT_OCCUPANCY_COUNT: i32 = 520; constant EVENT_OCCUPANCY_VIOLATION (line 38) | pub const EVENT_OCCUPANCY_VIOLATION: i32 = 521; constant EVENT_TURBULENT_MOTION (line 39) | pub const EVENT_TURBULENT_MOTION: i32 = 522; constant EVENT_COMPLIANCE_REPORT (line 40) | pub const EVENT_COMPLIANCE_REPORT: i32 = 523; type CleanRoomMonitor (line 43) | pub struct CleanRoomMonitor { method new (line 71) | pub const fn new() -> Self { method with_max_occupancy (line 89) | pub const fn with_max_occupancy(max: u8) -> Self { method process_frame (line 114) | pub fn process_frame( method current_count (line 207) | pub fn current_count(&self) -> u8 { method max_occupancy (line 212) | pub fn max_occupancy(&self) -> u8 { method is_in_violation (line 217) | pub fn is_in_violation(&self) -> bool { method compliance_percent (line 222) | pub fn compliance_percent(&self) -> f32 { method total_violations (line 230) | pub fn total_violations(&self) -> u32 { function test_init_state (line 240) | fn test_init_state() { function test_custom_max_occupancy (line 249) | fn test_custom_max_occupancy() { function test_occupancy_count_change (line 255) | fn test_occupancy_count_change() { function test_occupancy_violation (line 272) | fn test_occupancy_violation() { function test_no_violation_under_limit (line 292) | fn test_no_violation_under_limit() { function test_turbulent_motion (line 305) | fn test_turbulent_motion() { function test_compliance_report (line 324) | fn test_compliance_report() { function test_compliance_degrades_with_violations (line 343) | fn test_compliance_degrades_with_violations() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ind_confined_space.rs constant BREATHING_CEASE_FRAMES (line 16) | const BREATHING_CEASE_FRAMES: u32 = 300; constant IMMOBILE_FRAMES (line 19) | const IMMOBILE_FRAMES: u32 = 1200; constant MIN_BREATHING_BPM (line 22) | const MIN_BREATHING_BPM: f32 = 4.0; constant MIN_MOTION_ENERGY (line 25) | const MIN_MOTION_ENERGY: f32 = 0.02; constant ENTRY_EXIT_DEBOUNCE (line 28) | const ENTRY_EXIT_DEBOUNCE: u8 = 10; constant BREATHING_REPORT_INTERVAL (line 31) | const BREATHING_REPORT_INTERVAL: u32 = 100; constant MIN_PRESENCE_VAR (line 34) | const MIN_PRESENCE_VAR: f32 = 0.005; constant EVENT_WORKER_ENTRY (line 37) | pub const EVENT_WORKER_ENTRY: i32 = 510; constant EVENT_WORKER_EXIT (line 38) | pub const EVENT_WORKER_EXIT: i32 = 511; constant EVENT_BREATHING_OK (line 39) | pub const EVENT_BREATHING_OK: i32 = 512; constant EVENT_EXTRACTION_ALERT (line 40) | pub const EVENT_EXTRACTION_ALERT: i32 = 513; constant EVENT_IMMOBILE_ALERT (line 41) | pub const EVENT_IMMOBILE_ALERT: i32 = 514; type WorkerState (line 45) | pub enum WorkerState { type ConfinedSpaceMonitor (line 57) | pub struct ConfinedSpaceMonitor { method new (line 80) | pub const fn new() -> Self { method process_frame (line 104) | pub fn process_frame( method state (line 221) | pub fn state(&self) -> WorkerState { method is_worker_inside (line 226) | pub fn is_worker_inside(&self) -> bool { method seconds_since_breathing (line 231) | pub fn seconds_since_breathing(&self) -> f32 { method seconds_since_motion (line 236) | pub fn seconds_since_motion(&self) -> f32 { function test_init_state (line 246) | fn test_init_state() { function test_worker_entry (line 254) | fn test_worker_entry() { function test_worker_exit (line 273) | fn test_worker_exit() { function test_breathing_ok_periodic (line 299) | fn test_breathing_ok_periodic() { function test_extraction_alert_no_breathing (line 318) | fn test_extraction_alert_no_breathing() { function test_immobile_alert (line 343) | fn test_immobile_alert() { function test_no_alert_when_empty (line 367) | fn test_no_alert_when_empty() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ind_forklift_proximity.rs function sqrtf (line 19) | fn sqrtf(x: f32) -> f32 { x.sqrt() } constant MAX_SC (line 22) | const MAX_SC: usize = 32; constant PHASE_HISTORY (line 25) | const PHASE_HISTORY: usize = 20; constant FORKLIFT_AMP_RATIO (line 29) | const FORKLIFT_AMP_RATIO: f32 = 2.5; constant HUMAN_MOTION_THRESH (line 32) | const HUMAN_MOTION_THRESH: f32 = 0.15; constant LOW_FREQ_RATIO_THRESH (line 36) | const LOW_FREQ_RATIO_THRESH: f32 = 0.55; constant VIBRATION_VAR_THRESH (line 39) | const VIBRATION_VAR_THRESH: f32 = 0.08; constant VEHICLE_DEBOUNCE (line 42) | const VEHICLE_DEBOUNCE: u8 = 4; constant PROXIMITY_DEBOUNCE (line 45) | const PROXIMITY_DEBOUNCE: u8 = 2; constant ALERT_COOLDOWN (line 48) | const ALERT_COOLDOWN: u16 = 40; constant DIST_CRITICAL (line 51) | const DIST_CRITICAL: f32 = 4.0; constant DIST_WARNING (line 52) | const DIST_WARNING: f32 = 3.0; constant EVENT_PROXIMITY_WARNING (line 56) | pub const EVENT_PROXIMITY_WARNING: i32 = 500; constant EVENT_VEHICLE_DETECTED (line 57) | pub const EVENT_VEHICLE_DETECTED: i32 = 501; constant EVENT_HUMAN_NEAR_VEHICLE (line 58) | pub const EVENT_HUMAN_NEAR_VEHICLE: i32 = 502; type ForkliftProximityDetector (line 61) | pub struct ForkliftProximityDetector { method new (line 84) | pub const fn new() -> Self { method process_frame (line 113) | pub fn process_frame( method compute_amplitude_ratio (line 232) | fn compute_amplitude_ratio(&self, amplitudes: &[f32], n_sc: usize) -> ... method check_low_frequency_dominance (line 247) | fn check_low_frequency_dominance(&self, n_sc: usize) -> bool { method compute_vibration_signature (line 298) | fn compute_vibration_signature(&self, variance: &[f32], n_sc: usize) -... method is_vehicle_present (line 307) | pub fn is_vehicle_present(&self) -> bool { method amplitude_ratio (line 312) | pub fn amplitude_ratio(&self) -> f32 { function make_detector_calibrated (line 321) | fn make_detector_calibrated() -> ForkliftProximityDetector { function test_init_state (line 334) | fn test_init_state() { function test_calibration (line 342) | fn test_calibration() { function test_no_alert_quiet_scene (line 360) | fn test_no_alert_quiet_scene() { function test_vehicle_detection (line 374) | fn test_vehicle_detection() { function test_proximity_warning (line 396) | fn test_proximity_warning() { function test_cooldown_prevents_flood (line 419) | fn test_cooldown_prevents_flood() { function test_amplitude_ratio_computation (line 440) | fn test_amplitude_ratio_computation() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ind_livestock_monitor.rs constant MIN_MOTION_ACTIVE (line 20) | const MIN_MOTION_ACTIVE: f32 = 0.03; constant STILLNESS_FRAMES (line 25) | const STILLNESS_FRAMES: u32 = 6000; constant MIN_PRESENCE_FOR_ESCAPE (line 29) | const MIN_PRESENCE_FOR_ESCAPE: u32 = 200; constant ESCAPE_ABSENCE_FRAMES (line 32) | const ESCAPE_ABSENCE_FRAMES: u32 = 20; constant LABORED_DEBOUNCE (line 35) | const LABORED_DEBOUNCE: u8 = 20; constant STILLNESS_COOLDOWN (line 38) | const STILLNESS_COOLDOWN: u32 = 6000; constant ESCAPE_COOLDOWN (line 41) | const ESCAPE_COOLDOWN: u16 = 400; constant PRESENCE_REPORT_INTERVAL (line 44) | const PRESENCE_REPORT_INTERVAL: u32 = 200; constant EVENT_ANIMAL_PRESENT (line 47) | pub const EVENT_ANIMAL_PRESENT: i32 = 530; constant EVENT_ABNORMAL_STILLNESS (line 48) | pub const EVENT_ABNORMAL_STILLNESS: i32 = 531; constant EVENT_LABORED_BREATHING (line 49) | pub const EVENT_LABORED_BREATHING: i32 = 532; constant EVENT_ESCAPE_ALERT (line 50) | pub const EVENT_ESCAPE_ALERT: i32 = 533; type Species (line 54) | pub enum Species { method breathing_range (line 63) | pub const fn breathing_range(&self) -> (f32, f32) { type LivestockMonitor (line 74) | pub struct LivestockMonitor { method new (line 98) | pub const fn new() -> Self { method with_species (line 114) | pub const fn with_species(species: Species) -> Self { method process_frame (line 138) | pub fn process_frame( method is_animal_present (line 242) | pub fn is_animal_present(&self) -> bool { method species (line 247) | pub fn species(&self) -> Species { method stillness_minutes (line 252) | pub fn stillness_minutes(&self) -> f32 { method last_breathing_bpm (line 257) | pub fn last_breathing_bpm(&self) -> f32 { function test_init_state (line 267) | fn test_init_state() { function test_species_breathing_ranges (line 275) | fn test_species_breathing_ranges() { function test_animal_presence_detection (line 285) | fn test_animal_presence_detection() { function test_labored_breathing_cattle (line 297) | fn test_labored_breathing_cattle() { function test_normal_breathing_no_alert (line 321) | fn test_normal_breathing_no_alert() { function test_escape_alert (line 334) | fn test_escape_alert() { function test_sheep_low_breathing_labored (line 358) | fn test_sheep_low_breathing_labored() { function test_abnormal_stillness (line 381) | fn test_abnormal_stillness() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ind_structural_vibration.rs function sqrtf (line 23) | fn sqrtf(x: f32) -> f32 { x.sqrt() } constant MAX_SC (line 26) | const MAX_SC: usize = 32; constant PHASE_HISTORY_LEN (line 29) | const PHASE_HISTORY_LEN: usize = 40; constant MAX_LAGS (line 32) | const MAX_LAGS: usize = 20; constant PHASE_NOISE_FLOOR (line 35) | const PHASE_NOISE_FLOOR: f32 = 0.02; constant SEISMIC_THRESH (line 38) | const SEISMIC_THRESH: f32 = 0.15; constant RESONANCE_PEAK_RATIO (line 41) | const RESONANCE_PEAK_RATIO: f32 = 3.0; constant DRIFT_RATE_THRESH (line 44) | const DRIFT_RATE_THRESH: f32 = 0.0005; constant DRIFT_MIN_FRAMES (line 47) | const DRIFT_MIN_FRAMES: u32 = 600; constant SEISMIC_DEBOUNCE (line 50) | const SEISMIC_DEBOUNCE: u8 = 4; constant RESONANCE_DEBOUNCE (line 53) | const RESONANCE_DEBOUNCE: u8 = 6; constant SEISMIC_COOLDOWN (line 56) | const SEISMIC_COOLDOWN: u16 = 200; constant RESONANCE_COOLDOWN (line 59) | const RESONANCE_COOLDOWN: u16 = 200; constant DRIFT_COOLDOWN (line 62) | const DRIFT_COOLDOWN: u16 = 600; constant SPECTRUM_REPORT_INTERVAL (line 65) | const SPECTRUM_REPORT_INTERVAL: u32 = 100; constant EVENT_SEISMIC_DETECTED (line 68) | pub const EVENT_SEISMIC_DETECTED: i32 = 540; constant EVENT_MECHANICAL_RESONANCE (line 69) | pub const EVENT_MECHANICAL_RESONANCE: i32 = 541; constant EVENT_STRUCTURAL_DRIFT (line 70) | pub const EVENT_STRUCTURAL_DRIFT: i32 = 542; constant EVENT_VIBRATION_SPECTRUM (line 71) | pub const EVENT_VIBRATION_SPECTRUM: i32 = 543; type StructuralVibrationMonitor (line 74) | pub struct StructuralVibrationMonitor { method new (line 105) | pub const fn new() -> Self { method process_frame (line 137) | pub fn process_frame( method compute_phase_rms (line 274) | fn compute_phase_rms(&self, phases: &[f32], n_sc: usize) -> f32 { method check_broadband (line 284) | fn check_broadband(&self, phases: &[f32], n_sc: usize) -> bool { method compute_autocorrelation_peak (line 299) | fn compute_autocorrelation_peak(&self, n_sc: usize) -> (f32, usize) { method update_drift_tracking (line 365) | fn update_drift_tracking(&mut self, phases: &[f32], n_sc: usize) { method compute_average_drift (line 395) | fn compute_average_drift(&self, n_sc: usize) -> f32 { method rms_vibration (line 407) | pub fn rms_vibration(&self) -> f32 { method is_calibrated (line 412) | pub fn is_calibrated(&self) -> bool { function make_calibrated_monitor (line 421) | fn make_calibrated_monitor() -> StructuralVibrationMonitor { function test_init_state (line 436) | fn test_init_state() { function test_calibration (line 444) | fn test_calibration() { function test_quiet_no_events (line 462) | fn test_quiet_no_events() { function test_seismic_detection (line 482) | fn test_seismic_detection() { function test_no_events_when_occupied (line 504) | fn test_no_events_when_occupied() { function test_vibration_spectrum_report (line 518) | fn test_vibration_spectrum_report() { function test_phase_rms_computation (line 540) | fn test_phase_rms_computation() { function test_broadband_check (line 549) | fn test_broadband_check() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/intrusion.rs function sqrtf (line 14) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 16) | fn fabsf(x: f32) -> f32 { x.abs() } constant MAX_SC (line 19) | const MAX_SC: usize = 32; constant INTRUSION_VELOCITY_THRESH (line 22) | const INTRUSION_VELOCITY_THRESH: f32 = 1.5; constant AMPLITUDE_CHANGE_THRESH (line 25) | const AMPLITUDE_CHANGE_THRESH: f32 = 3.0; constant ARM_FRAMES (line 28) | const ARM_FRAMES: u32 = 100; constant DETECT_DEBOUNCE (line 31) | const DETECT_DEBOUNCE: u8 = 3; constant ALERT_COOLDOWN (line 34) | const ALERT_COOLDOWN: u16 = 100; constant BASELINE_FRAMES (line 37) | const BASELINE_FRAMES: u32 = 200; constant EVENT_INTRUSION_ALERT (line 40) | pub const EVENT_INTRUSION_ALERT: i32 = 200; constant EVENT_INTRUSION_ZONE (line 41) | pub const EVENT_INTRUSION_ZONE: i32 = 201; constant EVENT_INTRUSION_ARMED (line 42) | pub const EVENT_INTRUSION_ARMED: i32 = 202; constant EVENT_INTRUSION_DISARMED (line 43) | pub const EVENT_INTRUSION_DISARMED: i32 = 203; type DetectorState (line 47) | pub enum DetectorState { type IntrusionDetector (line 59) | pub struct IntrusionDetector { method new (line 87) | pub const fn new() -> Self { method process_frame (line 106) | pub fn process_frame( method compute_disturbance (line 242) | fn compute_disturbance(&self, phases: &[f32], amplitudes: &[f32], n_sc... method find_disturbed_zone (line 267) | fn find_disturbed_zone(&self, amplitudes: &[f32], n_sc: usize) -> usize { method state (line 292) | pub fn state(&self) -> DetectorState { method total_alerts (line 297) | pub fn total_alerts(&self) -> u32 { function test_intrusion_init (line 307) | fn test_intrusion_init() { function test_calibration_phase (line 314) | fn test_calibration_phase() { function test_arm_after_quiet (line 327) | fn test_arm_after_quiet() { function test_intrusion_detection (line 346) | fn test_intrusion_detection() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/lib.rs function host_get_phase (line 150) | pub fn host_get_phase(subcarrier: i32) -> f32; function host_get_amplitude (line 153) | pub fn host_get_amplitude(subcarrier: i32) -> f32; function host_get_variance (line 156) | pub fn host_get_variance(subcarrier: i32) -> f32; function host_get_bpm_breathing (line 159) | pub fn host_get_bpm_breathing() -> f32; function host_get_bpm_heartrate (line 162) | pub fn host_get_bpm_heartrate() -> f32; function host_get_presence (line 165) | pub fn host_get_presence() -> i32; function host_get_motion_energy (line 168) | pub fn host_get_motion_energy() -> f32; function host_get_n_persons (line 171) | pub fn host_get_n_persons() -> i32; function host_get_timestamp (line 174) | pub fn host_get_timestamp() -> i32; function host_emit_event (line 177) | pub fn host_emit_event(event_type: i32, value: f32); function host_log (line 180) | pub fn host_log(ptr: i32, len: i32); function host_get_phase_history (line 183) | pub fn host_get_phase_history(buf_ptr: i32, max_len: i32) -> i32; constant GESTURE_DETECTED (line 208) | pub const GESTURE_DETECTED: i32 = 1; constant COHERENCE_SCORE (line 209) | pub const COHERENCE_SCORE: i32 = 2; constant ANOMALY_DETECTED (line 210) | pub const ANOMALY_DETECTED: i32 = 3; constant CUSTOM_METRIC (line 211) | pub const CUSTOM_METRIC: i32 = 10; constant VITAL_TREND (line 214) | pub const VITAL_TREND: i32 = 100; constant BRADYPNEA (line 215) | pub const BRADYPNEA: i32 = 101; constant TACHYPNEA (line 216) | pub const TACHYPNEA: i32 = 102; constant BRADYCARDIA (line 217) | pub const BRADYCARDIA: i32 = 103; constant TACHYCARDIA (line 218) | pub const TACHYCARDIA: i32 = 104; constant APNEA (line 219) | pub const APNEA: i32 = 105; constant INTRUSION_ALERT (line 222) | pub const INTRUSION_ALERT: i32 = 200; constant INTRUSION_ZONE (line 223) | pub const INTRUSION_ZONE: i32 = 201; constant PERIMETER_BREACH (line 226) | pub const PERIMETER_BREACH: i32 = 210; constant APPROACH_DETECTED (line 227) | pub const APPROACH_DETECTED: i32 = 211; constant DEPARTURE_DETECTED (line 228) | pub const DEPARTURE_DETECTED: i32 = 212; constant SEC_ZONE_TRANSITION (line 229) | pub const SEC_ZONE_TRANSITION: i32 = 213; constant METAL_ANOMALY (line 232) | pub const METAL_ANOMALY: i32 = 220; constant WEAPON_ALERT (line 233) | pub const WEAPON_ALERT: i32 = 221; constant CALIBRATION_NEEDED (line 234) | pub const CALIBRATION_NEEDED: i32 = 222; constant TAILGATE_DETECTED (line 237) | pub const TAILGATE_DETECTED: i32 = 230; constant SINGLE_PASSAGE (line 238) | pub const SINGLE_PASSAGE: i32 = 231; constant MULTI_PASSAGE (line 239) | pub const MULTI_PASSAGE: i32 = 232; constant LOITERING_START (line 242) | pub const LOITERING_START: i32 = 240; constant LOITERING_ONGOING (line 243) | pub const LOITERING_ONGOING: i32 = 241; constant LOITERING_END (line 244) | pub const LOITERING_END: i32 = 242; constant PANIC_DETECTED (line 247) | pub const PANIC_DETECTED: i32 = 250; constant STRUGGLE_PATTERN (line 248) | pub const STRUGGLE_PATTERN: i32 = 251; constant FLEEING_DETECTED (line 249) | pub const FLEEING_DETECTED: i32 = 252; constant ZONE_OCCUPIED (line 252) | pub const ZONE_OCCUPIED: i32 = 300; constant ZONE_COUNT (line 253) | pub const ZONE_COUNT: i32 = 301; constant ZONE_TRANSITION (line 254) | pub const ZONE_TRANSITION: i32 = 302; constant HVAC_OCCUPIED (line 257) | pub const HVAC_OCCUPIED: i32 = 310; constant ACTIVITY_LEVEL (line 258) | pub const ACTIVITY_LEVEL: i32 = 311; constant DEPARTURE_COUNTDOWN (line 259) | pub const DEPARTURE_COUNTDOWN: i32 = 312; constant LIGHT_ON (line 262) | pub const LIGHT_ON: i32 = 320; constant LIGHT_DIM (line 263) | pub const LIGHT_DIM: i32 = 321; constant LIGHT_OFF (line 264) | pub const LIGHT_OFF: i32 = 322; constant ELEVATOR_COUNT (line 267) | pub const ELEVATOR_COUNT: i32 = 330; constant DOOR_OPEN (line 268) | pub const DOOR_OPEN: i32 = 331; constant DOOR_CLOSE (line 269) | pub const DOOR_CLOSE: i32 = 332; constant OVERLOAD_WARNING (line 270) | pub const OVERLOAD_WARNING: i32 = 333; constant MEETING_START (line 273) | pub const MEETING_START: i32 = 340; constant MEETING_END (line 274) | pub const MEETING_END: i32 = 341; constant PEAK_HEADCOUNT (line 275) | pub const PEAK_HEADCOUNT: i32 = 342; constant ROOM_AVAILABLE (line 276) | pub const ROOM_AVAILABLE: i32 = 343; constant SCHEDULE_SUMMARY (line 279) | pub const SCHEDULE_SUMMARY: i32 = 350; constant AFTER_HOURS_ALERT (line 280) | pub const AFTER_HOURS_ALERT: i32 = 351; constant UTILIZATION_RATE (line 281) | pub const UTILIZATION_RATE: i32 = 352; constant QUEUE_LENGTH (line 286) | pub const QUEUE_LENGTH: i32 = 400; constant WAIT_TIME_ESTIMATE (line 287) | pub const WAIT_TIME_ESTIMATE: i32 = 401; constant SERVICE_RATE (line 288) | pub const SERVICE_RATE: i32 = 402; constant QUEUE_ALERT (line 289) | pub const QUEUE_ALERT: i32 = 403; constant DWELL_ZONE_UPDATE (line 292) | pub const DWELL_ZONE_UPDATE: i32 = 410; constant HOT_ZONE (line 293) | pub const HOT_ZONE: i32 = 411; constant COLD_ZONE (line 294) | pub const COLD_ZONE: i32 = 412; constant SESSION_SUMMARY (line 295) | pub const SESSION_SUMMARY: i32 = 413; constant INGRESS (line 298) | pub const INGRESS: i32 = 420; constant EGRESS (line 299) | pub const EGRESS: i32 = 421; constant NET_OCCUPANCY (line 300) | pub const NET_OCCUPANCY: i32 = 422; constant HOURLY_TRAFFIC (line 301) | pub const HOURLY_TRAFFIC: i32 = 423; constant TABLE_SEATED (line 304) | pub const TABLE_SEATED: i32 = 430; constant TABLE_VACATED (line 305) | pub const TABLE_VACATED: i32 = 431; constant TABLE_AVAILABLE (line 306) | pub const TABLE_AVAILABLE: i32 = 432; constant TURNOVER_RATE (line 307) | pub const TURNOVER_RATE: i32 = 433; constant SHELF_BROWSE (line 310) | pub const SHELF_BROWSE: i32 = 440; constant SHELF_CONSIDER (line 311) | pub const SHELF_CONSIDER: i32 = 441; constant SHELF_ENGAGE (line 312) | pub const SHELF_ENGAGE: i32 = 442; constant REACH_DETECTED (line 313) | pub const REACH_DETECTED: i32 = 443; constant PROXIMITY_WARNING (line 318) | pub const PROXIMITY_WARNING: i32 = 500; constant VEHICLE_DETECTED (line 319) | pub const VEHICLE_DETECTED: i32 = 501; constant HUMAN_NEAR_VEHICLE (line 320) | pub const HUMAN_NEAR_VEHICLE: i32 = 502; constant WORKER_ENTRY (line 323) | pub const WORKER_ENTRY: i32 = 510; constant WORKER_EXIT (line 324) | pub const WORKER_EXIT: i32 = 511; constant BREATHING_OK (line 325) | pub const BREATHING_OK: i32 = 512; constant EXTRACTION_ALERT (line 326) | pub const EXTRACTION_ALERT: i32 = 513; constant IMMOBILE_ALERT (line 327) | pub const IMMOBILE_ALERT: i32 = 514; constant OCCUPANCY_COUNT (line 330) | pub const OCCUPANCY_COUNT: i32 = 520; constant OCCUPANCY_VIOLATION (line 331) | pub const OCCUPANCY_VIOLATION: i32 = 521; constant TURBULENT_MOTION (line 332) | pub const TURBULENT_MOTION: i32 = 522; constant COMPLIANCE_REPORT (line 333) | pub const COMPLIANCE_REPORT: i32 = 523; constant ANIMAL_PRESENT (line 336) | pub const ANIMAL_PRESENT: i32 = 530; constant ABNORMAL_STILLNESS (line 337) | pub const ABNORMAL_STILLNESS: i32 = 531; constant LABORED_BREATHING (line 338) | pub const LABORED_BREATHING: i32 = 532; constant ESCAPE_ALERT (line 339) | pub const ESCAPE_ALERT: i32 = 533; constant SEISMIC_DETECTED (line 342) | pub const SEISMIC_DETECTED: i32 = 540; constant MECHANICAL_RESONANCE (line 343) | pub const MECHANICAL_RESONANCE: i32 = 541; constant STRUCTURAL_DRIFT (line 344) | pub const STRUCTURAL_DRIFT: i32 = 542; constant VIBRATION_SPECTRUM (line 345) | pub const VIBRATION_SPECTRUM: i32 = 543; constant SLEEP_STAGE (line 350) | pub const SLEEP_STAGE: i32 = 600; constant SLEEP_QUALITY (line 351) | pub const SLEEP_QUALITY: i32 = 601; constant REM_EPISODE (line 352) | pub const REM_EPISODE: i32 = 602; constant DEEP_SLEEP_RATIO (line 353) | pub const DEEP_SLEEP_RATIO: i32 = 603; constant AROUSAL_LEVEL (line 356) | pub const AROUSAL_LEVEL: i32 = 610; constant STRESS_INDEX (line 357) | pub const STRESS_INDEX: i32 = 611; constant CALM_DETECTED (line 358) | pub const CALM_DETECTED: i32 = 612; constant AGITATION_DETECTED (line 359) | pub const AGITATION_DETECTED: i32 = 613; constant LETTER_RECOGNIZED (line 362) | pub const LETTER_RECOGNIZED: i32 = 620; constant LETTER_CONFIDENCE (line 363) | pub const LETTER_CONFIDENCE: i32 = 621; constant WORD_BOUNDARY (line 364) | pub const WORD_BOUNDARY: i32 = 622; constant GESTURE_REJECTED (line 365) | pub const GESTURE_REJECTED: i32 = 623; constant CONDUCTOR_BPM (line 368) | pub const CONDUCTOR_BPM: i32 = 630; constant BEAT_POSITION (line 369) | pub const BEAT_POSITION: i32 = 631; constant DYNAMIC_LEVEL (line 370) | pub const DYNAMIC_LEVEL: i32 = 632; constant GESTURE_CUTOFF (line 371) | pub const GESTURE_CUTOFF: i32 = 633; constant GESTURE_FERMATA (line 372) | pub const GESTURE_FERMATA: i32 = 634; constant GROWTH_RATE (line 375) | pub const GROWTH_RATE: i32 = 640; constant CIRCADIAN_PHASE (line 376) | pub const CIRCADIAN_PHASE: i32 = 641; constant WILT_DETECTED (line 377) | pub const WILT_DETECTED: i32 = 642; constant WATERING_EVENT (line 378) | pub const WATERING_EVENT: i32 = 643; constant EXO_ANOMALY_DETECTED (line 381) | pub const EXO_ANOMALY_DETECTED: i32 = 650; constant EXO_ANOMALY_CLASS (line 382) | pub const EXO_ANOMALY_CLASS: i32 = 651; constant HIDDEN_PRESENCE (line 383) | pub const HIDDEN_PRESENCE: i32 = 652; constant ENVIRONMENTAL_DRIFT (line 384) | pub const ENVIRONMENTAL_DRIFT: i32 = 653; constant HAPPINESS_SCORE (line 387) | pub const HAPPINESS_SCORE: i32 = 690; constant GAIT_ENERGY (line 388) | pub const GAIT_ENERGY: i32 = 691; constant AFFECT_VALENCE (line 389) | pub const AFFECT_VALENCE: i32 = 692; constant SOCIAL_ENERGY (line 390) | pub const SOCIAL_ENERGY: i32 = 693; constant TRANSIT_DIRECTION (line 391) | pub const TRANSIT_DIRECTION: i32 = 694; constant RAIN_ONSET (line 394) | pub const RAIN_ONSET: i32 = 660; constant RAIN_INTENSITY (line 395) | pub const RAIN_INTENSITY: i32 = 661; constant RAIN_CESSATION (line 396) | pub const RAIN_CESSATION: i32 = 662; constant SYNC_DETECTED (line 399) | pub const SYNC_DETECTED: i32 = 670; constant SYNC_PAIR_COUNT (line 400) | pub const SYNC_PAIR_COUNT: i32 = 671; constant GROUP_COHERENCE (line 401) | pub const GROUP_COHERENCE: i32 = 672; constant SYNC_LOST (line 402) | pub const SYNC_LOST: i32 = 673; constant CRYSTAL_DETECTED (line 405) | pub const CRYSTAL_DETECTED: i32 = 680; constant CRYSTAL_STABILITY (line 406) | pub const CRYSTAL_STABILITY: i32 = 681; constant COORDINATION_INDEX (line 407) | pub const COORDINATION_INDEX: i32 = 682; constant HIERARCHY_LEVEL (line 410) | pub const HIERARCHY_LEVEL: i32 = 685; constant HYPERBOLIC_RADIUS (line 411) | pub const HYPERBOLIC_RADIUS: i32 = 686; constant LOCATION_LABEL (line 412) | pub const LOCATION_LABEL: i32 = 687; constant ATTENTION_PEAK_SC (line 417) | pub const ATTENTION_PEAK_SC: i32 = 700; constant ATTENTION_SPREAD (line 418) | pub const ATTENTION_SPREAD: i32 = 701; constant SPATIAL_FOCUS_ZONE (line 419) | pub const SPATIAL_FOCUS_ZONE: i32 = 702; constant COMPRESSION_RATIO (line 422) | pub const COMPRESSION_RATIO: i32 = 705; constant TIER_TRANSITION (line 423) | pub const TIER_TRANSITION: i32 = 706; constant HISTORY_DEPTH_HOURS (line 424) | pub const HISTORY_DEPTH_HOURS: i32 = 707; constant GATE_DECISION (line 427) | pub const GATE_DECISION: i32 = 710; constant SIG_COHERENCE_SCORE (line 428) | pub const SIG_COHERENCE_SCORE: i32 = 711; constant RECALIBRATE_NEEDED (line 429) | pub const RECALIBRATE_NEEDED: i32 = 712; constant RECOVERY_COMPLETE (line 432) | pub const RECOVERY_COMPLETE: i32 = 715; constant RECOVERY_ERROR (line 433) | pub const RECOVERY_ERROR: i32 = 716; constant DROPOUT_RATE (line 434) | pub const DROPOUT_RATE: i32 = 717; constant PERSON_ID_ASSIGNED (line 437) | pub const PERSON_ID_ASSIGNED: i32 = 720; constant PERSON_ID_SWAP (line 438) | pub const PERSON_ID_SWAP: i32 = 721; constant MATCH_CONFIDENCE (line 439) | pub const MATCH_CONFIDENCE: i32 = 722; constant WASSERSTEIN_DISTANCE (line 442) | pub const WASSERSTEIN_DISTANCE: i32 = 725; constant DISTRIBUTION_SHIFT (line 443) | pub const DISTRIBUTION_SHIFT: i32 = 726; constant SUBTLE_MOTION (line 444) | pub const SUBTLE_MOTION: i32 = 727; constant GESTURE_LEARNED (line 449) | pub const GESTURE_LEARNED: i32 = 730; constant GESTURE_MATCHED (line 450) | pub const GESTURE_MATCHED: i32 = 731; constant LRN_MATCH_DISTANCE (line 451) | pub const LRN_MATCH_DISTANCE: i32 = 732; constant TEMPLATE_COUNT (line 452) | pub const TEMPLATE_COUNT: i32 = 733; constant ATTRACTOR_TYPE (line 455) | pub const ATTRACTOR_TYPE: i32 = 735; constant LYAPUNOV_EXPONENT (line 456) | pub const LYAPUNOV_EXPONENT: i32 = 736; constant BASIN_DEPARTURE (line 457) | pub const BASIN_DEPARTURE: i32 = 737; constant LEARNING_COMPLETE (line 458) | pub const LEARNING_COMPLETE: i32 = 738; constant PARAM_ADJUSTED (line 461) | pub const PARAM_ADJUSTED: i32 = 740; constant ADAPTATION_SCORE (line 462) | pub const ADAPTATION_SCORE: i32 = 741; constant ROLLBACK_TRIGGERED (line 463) | pub const ROLLBACK_TRIGGERED: i32 = 742; constant META_LEVEL (line 464) | pub const META_LEVEL: i32 = 743; constant KNOWLEDGE_RETAINED (line 467) | pub const KNOWLEDGE_RETAINED: i32 = 745; constant NEW_TASK_LEARNED (line 468) | pub const NEW_TASK_LEARNED: i32 = 746; constant FISHER_UPDATE (line 469) | pub const FISHER_UPDATE: i32 = 747; constant FORGETTING_RISK (line 470) | pub const FORGETTING_RISK: i32 = 748; constant DOMINANT_PERSON (line 475) | pub const DOMINANT_PERSON: i32 = 760; constant INFLUENCE_SCORE (line 476) | pub const INFLUENCE_SCORE: i32 = 761; constant INFLUENCE_CHANGE (line 477) | pub const INFLUENCE_CHANGE: i32 = 762; constant NEAREST_MATCH_ID (line 480) | pub const NEAREST_MATCH_ID: i32 = 765; constant HNSW_MATCH_DISTANCE (line 481) | pub const HNSW_MATCH_DISTANCE: i32 = 766; constant CLASSIFICATION (line 482) | pub const CLASSIFICATION: i32 = 767; constant LIBRARY_SIZE (line 483) | pub const LIBRARY_SIZE: i32 = 768; constant TRACK_UPDATE (line 486) | pub const TRACK_UPDATE: i32 = 770; constant TRACK_VELOCITY (line 487) | pub const TRACK_VELOCITY: i32 = 771; constant SPIKE_RATE (line 488) | pub const SPIKE_RATE: i32 = 772; constant TRACK_LOST (line 489) | pub const TRACK_LOST: i32 = 773; constant PATTERN_DETECTED (line 494) | pub const PATTERN_DETECTED: i32 = 790; constant PATTERN_CONFIDENCE (line 495) | pub const PATTERN_CONFIDENCE: i32 = 791; constant ROUTINE_DEVIATION (line 496) | pub const ROUTINE_DEVIATION: i32 = 792; constant PREDICTION_NEXT (line 497) | pub const PREDICTION_NEXT: i32 = 793; constant LTL_VIOLATION (line 500) | pub const LTL_VIOLATION: i32 = 795; constant LTL_SATISFACTION (line 501) | pub const LTL_SATISFACTION: i32 = 796; constant COUNTEREXAMPLE (line 502) | pub const COUNTEREXAMPLE: i32 = 797; constant GOAL_SELECTED (line 505) | pub const GOAL_SELECTED: i32 = 800; constant MODULE_ACTIVATED (line 506) | pub const MODULE_ACTIVATED: i32 = 801; constant MODULE_DEACTIVATED (line 507) | pub const MODULE_DEACTIVATED: i32 = 802; constant PLAN_COST (line 508) | pub const PLAN_COST: i32 = 803; constant REPLAY_ATTACK (line 513) | pub const REPLAY_ATTACK: i32 = 820; constant INJECTION_DETECTED (line 514) | pub const INJECTION_DETECTED: i32 = 821; constant JAMMING_DETECTED (line 515) | pub const JAMMING_DETECTED: i32 = 822; constant SIGNAL_INTEGRITY (line 516) | pub const SIGNAL_INTEGRITY: i32 = 823; constant BEHAVIOR_ANOMALY (line 519) | pub const BEHAVIOR_ANOMALY: i32 = 825; constant PROFILE_DEVIATION (line 520) | pub const PROFILE_DEVIATION: i32 = 826; constant NOVEL_PATTERN (line 521) | pub const NOVEL_PATTERN: i32 = 827; constant PROFILE_MATURITY (line 522) | pub const PROFILE_MATURITY: i32 = 828; constant ENTANGLEMENT_ENTROPY (line 527) | pub const ENTANGLEMENT_ENTROPY: i32 = 850; constant DECOHERENCE_EVENT (line 528) | pub const DECOHERENCE_EVENT: i32 = 851; constant BLOCH_DRIFT (line 529) | pub const BLOCH_DRIFT: i32 = 852; constant HYPOTHESIS_WINNER (line 532) | pub const HYPOTHESIS_WINNER: i32 = 855; constant HYPOTHESIS_AMPLITUDE (line 533) | pub const HYPOTHESIS_AMPLITUDE: i32 = 856; constant SEARCH_ITERATIONS (line 534) | pub const SEARCH_ITERATIONS: i32 = 857; constant INFERENCE_RESULT (line 539) | pub const INFERENCE_RESULT: i32 = 880; constant INFERENCE_CONFIDENCE (line 540) | pub const INFERENCE_CONFIDENCE: i32 = 881; constant RULE_FIRED (line 541) | pub const RULE_FIRED: i32 = 882; constant CONTRADICTION (line 542) | pub const CONTRADICTION: i32 = 883; constant NODE_DEGRADED (line 545) | pub const NODE_DEGRADED: i32 = 885; constant MESH_RECONFIGURE (line 546) | pub const MESH_RECONFIGURE: i32 = 886; constant COVERAGE_SCORE (line 547) | pub const COVERAGE_SCORE: i32 = 887; constant HEALING_COMPLETE (line 548) | pub const HEALING_COMPLETE: i32 = 888; function log_msg (line 553) | pub fn log_msg(msg: &str) { function emit (line 561) | pub fn emit(event_type: i32, value: f32) { function panic (line 571) | fn panic(_info: &core::panic::PanicInfo) -> ! { type CombinedState (line 589) | struct CombinedState { method new (line 598) | const fn new() -> Self { function on_init (line 610) | pub extern "C" fn on_init() { function on_frame (line 616) | pub extern "C" fn on_frame(n_subcarriers: i32) { function on_timer (line 653) | pub extern "C" fn on_timer() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/lrn_anomaly_attractor.rs constant TRAJ_LEN (line 24) | const TRAJ_LEN: usize = 128; constant STATE_DIM (line 27) | const STATE_DIM: usize = 4; constant MIN_FRAMES_FOR_CLASSIFICATION (line 30) | const MIN_FRAMES_FOR_CLASSIFICATION: u32 = 200; constant LYAPUNOV_STABLE_UPPER (line 33) | const LYAPUNOV_STABLE_UPPER: f32 = -0.01; constant LYAPUNOV_PERIODIC_UPPER (line 34) | const LYAPUNOV_PERIODIC_UPPER: f32 = 0.01; constant BASIN_DEPARTURE_MULT (line 38) | const BASIN_DEPARTURE_MULT: f32 = 3.0; constant CENTER_ALPHA (line 41) | const CENTER_ALPHA: f32 = 0.01; constant MIN_DELTA (line 44) | const MIN_DELTA: f32 = 1.0e-8; constant DEPARTURE_COOLDOWN (line 47) | const DEPARTURE_COOLDOWN: u16 = 100; constant EVENT_ATTRACTOR_TYPE (line 51) | pub const EVENT_ATTRACTOR_TYPE: i32 = 735; constant EVENT_LYAPUNOV_EXPONENT (line 52) | pub const EVENT_LYAPUNOV_EXPONENT: i32 = 736; constant EVENT_BASIN_DEPARTURE (line 53) | pub const EVENT_BASIN_DEPARTURE: i32 = 737; constant EVENT_LEARNING_COMPLETE (line 54) | pub const EVENT_LEARNING_COMPLETE: i32 = 738; type AttractorType (line 59) | pub enum AttractorType { type StateVec (line 70) | type StateVec = [f32; STATE_DIM]; type AttractorDetector (line 73) | pub struct AttractorDetector { method new (line 109) | pub const fn new() -> Self { method process_frame (line 134) | pub fn process_frame( method lyapunov_exponent (line 250) | pub fn lyapunov_exponent(&self) -> f32 { method attractor_type (line 258) | pub fn attractor_type(&self) -> AttractorType { method is_initialized (line 263) | pub fn is_initialized(&self) -> bool { function build_state (line 269) | fn build_state( function vec_distance (line 298) | fn vec_distance(a: &StateVec, b: &StateVec) -> f32 { function classify_attractor (line 308) | fn classify_attractor(lambda: f32) -> AttractorType { function test_new_state (line 323) | fn test_new_state() { function test_build_state (line 331) | fn test_build_state() { function test_vec_distance (line 343) | fn test_vec_distance() { function test_classify_attractor (line 351) | fn test_classify_attractor() { function test_stable_room_point_attractor (line 358) | fn test_stable_room_point_attractor() { function test_basin_departure (line 382) | fn test_basin_departure() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/lrn_dtw_gesture_learn.rs constant TEMPLATE_LEN (line 21) | const TEMPLATE_LEN: usize = 64; constant MAX_TEMPLATES (line 24) | const MAX_TEMPLATES: usize = 16; constant REHEARSALS_REQUIRED (line 27) | const REHEARSALS_REQUIRED: usize = 3; constant STILLNESS_THRESHOLD (line 30) | const STILLNESS_THRESHOLD: f32 = 0.05; constant STILLNESS_FRAMES (line 33) | const STILLNESS_FRAMES: u16 = 60; constant LEARN_DTW_THRESHOLD (line 36) | const LEARN_DTW_THRESHOLD: f32 = 3.0; constant RECOGNIZE_DTW_THRESHOLD (line 39) | const RECOGNIZE_DTW_THRESHOLD: f32 = 2.5; constant MATCH_COOLDOWN (line 42) | const MATCH_COOLDOWN: u16 = 40; constant BAND_WIDTH (line 45) | const BAND_WIDTH: usize = 8; constant EVENT_GESTURE_LEARNED (line 49) | pub const EVENT_GESTURE_LEARNED: i32 = 730; constant EVENT_GESTURE_MATCHED (line 50) | pub const EVENT_GESTURE_MATCHED: i32 = 731; constant EVENT_MATCH_DISTANCE (line 51) | pub const EVENT_MATCH_DISTANCE: i32 = 732; constant EVENT_TEMPLATE_COUNT (line 52) | pub const EVENT_TEMPLATE_COUNT: i32 = 733; type LearnPhase (line 56) | enum LearnPhase { type Template (line 69) | struct Template { method empty (line 77) | const fn empty() -> Self { type GestureLearner (line 87) | pub struct GestureLearner { method new (line 118) | pub const fn new() -> Self { method process_frame (line 145) | pub fn process_frame(&mut self, phases: &[f32], motion_energy: f32) ->... method rehearsals_are_similar (line 302) | fn rehearsals_are_similar(&self) -> bool { method commit_template (line 324) | fn commit_template(&mut self) -> Option { method template_count (line 370) | pub fn template_count(&self) -> usize { function dtw_distance (line 379) | fn dtw_distance(a: &[f32], b: &[f32]) -> f32 { function test_new_state (line 428) | fn test_new_state() { function test_dtw_identical (line 436) | fn test_dtw_identical() { function test_dtw_different (line 444) | fn test_dtw_different() { function test_dtw_empty (line 452) | fn test_dtw_empty() { function test_learning_protocol (line 459) | fn test_learning_protocol() { function test_template_capacity (line 494) | fn test_template_capacity() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/lrn_ewc_lifelong.rs constant N_PARAMS (line 56) | const N_PARAMS: usize = 32; constant N_INPUT (line 59) | const N_INPUT: usize = 8; constant N_OUTPUT (line 62) | const N_OUTPUT: usize = 4; constant LAMBDA (line 65) | const LAMBDA: f32 = 1000.0; constant EPSILON (line 68) | const EPSILON: f32 = 0.01; constant PARAMS_PER_FRAME (line 71) | const PARAMS_PER_FRAME: usize = 4; constant LEARNING_RATE (line 74) | const LEARNING_RATE: f32 = 0.001; constant STABLE_FRAMES_THRESHOLD (line 77) | const STABLE_FRAMES_THRESHOLD: u32 = 100; constant STABLE_LOSS_THRESHOLD (line 80) | const STABLE_LOSS_THRESHOLD: f32 = 0.1; constant FISHER_ALPHA (line 83) | const FISHER_ALPHA: f32 = 0.01; constant MAX_TASKS (line 86) | const MAX_TASKS: u8 = 32; constant REPORT_INTERVAL (line 89) | const REPORT_INTERVAL: u32 = 20; constant EVENT_KNOWLEDGE_RETAINED (line 93) | pub const EVENT_KNOWLEDGE_RETAINED: i32 = 745; constant EVENT_NEW_TASK_LEARNED (line 94) | pub const EVENT_NEW_TASK_LEARNED: i32 = 746; constant EVENT_FISHER_UPDATE (line 95) | pub const EVENT_FISHER_UPDATE: i32 = 747; constant EVENT_FORGETTING_RISK (line 96) | pub const EVENT_FORGETTING_RISK: i32 = 748; type EwcLifelong (line 101) | pub struct EwcLifelong { method new (line 129) | pub const fn new() -> Self { method default_params (line 148) | const fn default_params() -> [f32; N_PARAMS] { method process_frame (line 171) | pub fn process_frame(&mut self, features: &[f32], target_zone: i32) ->... method forward (line 265) | fn forward(&self, features: &[f32]) -> [f32; N_OUTPUT] { method compute_mse_loss (line 279) | fn compute_mse_loss(&self, predicted: &[f32; N_OUTPUT], target: usize)... method compute_ewc_penalty (line 290) | fn compute_ewc_penalty(&self) -> f32 { method update_gradients (line 302) | fn update_gradients(&mut self, features: &[f32], target: usize) { method gradient_step (line 327) | fn gradient_step(&mut self, features: &[f32], target: usize) { method commit_task (line 355) | fn commit_task(&mut self) { method mean_fisher (line 379) | fn mean_fisher(&self) -> f32 { method predict (line 388) | pub fn predict(&self, features: &[f32]) -> u8 { method parameters (line 405) | pub fn parameters(&self) -> &[f32; N_PARAMS] { method fisher_diagonal (line 410) | pub fn fisher_diagonal(&self) -> &[f32; N_PARAMS] { method task_count (line 415) | pub fn task_count(&self) -> u8 { method last_loss (line 420) | pub fn last_loss(&self) -> f32 { method last_penalty (line 425) | pub fn last_penalty(&self) -> f32 { method frame_count (line 430) | pub fn frame_count(&self) -> u32 { method has_prior_task (line 435) | pub fn has_prior_task(&self) -> bool { method reset (line 440) | pub fn reset(&mut self) { function test_const_new (line 453) | fn test_const_new() { function test_default_params_nonzero (line 461) | fn test_default_params_nonzero() { function test_forward_produces_output (line 471) | fn test_forward_produces_output() { function test_insufficient_features_no_events (line 479) | fn test_insufficient_features_no_events() { function test_inference_only_no_learning (line 487) | fn test_inference_only_no_learning() { function test_learning_reduces_loss (line 497) | fn test_learning_reduces_loss() { function test_ewc_penalty_zero_without_prior (line 513) | fn test_ewc_penalty_zero_without_prior() { function test_task_boundary_detection (line 523) | fn test_task_boundary_detection() { function test_fisher_starts_zero (line 538) | fn test_fisher_starts_zero() { function test_commit_task_sets_prior (line 547) | fn test_commit_task_sets_prior() { function test_ewc_penalty_nonzero_after_drift (line 556) | fn test_ewc_penalty_nonzero_after_drift() { function test_predict_deterministic (line 576) | fn test_predict_deterministic() { function test_reset (line 585) | fn test_reset() { function test_max_tasks_cap (line 599) | fn test_max_tasks_cap() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/lrn_meta_adapt.rs constant NUM_PARAMS (line 22) | const NUM_PARAMS: usize = 8; constant MAX_CONSECUTIVE_FAILURES (line 25) | const MAX_CONSECUTIVE_FAILURES: u8 = 3; constant EVAL_WINDOW (line 28) | const EVAL_WINDOW: u16 = 10; constant DEFAULT_STEP_FRAC (line 31) | const DEFAULT_STEP_FRAC: f32 = 0.05; constant EVENT_PARAM_ADJUSTED (line 35) | pub const EVENT_PARAM_ADJUSTED: i32 = 740; constant EVENT_ADAPTATION_SCORE (line 36) | pub const EVENT_ADAPTATION_SCORE: i32 = 741; constant EVENT_ROLLBACK_TRIGGERED (line 37) | pub const EVENT_ROLLBACK_TRIGGERED: i32 = 742; constant EVENT_META_LEVEL (line 38) | pub const EVENT_META_LEVEL: i32 = 743; type TunableParam (line 42) | struct TunableParam { method new (line 56) | const fn new(value: f32, min_bound: f32, max_bound: f32, step_size: f3... method clamp (line 67) | fn clamp(&mut self) { type OptPhase (line 79) | enum OptPhase { type MetaAdapter (line 87) | pub struct MetaAdapter { method new (line 141) | pub const fn new() -> Self { method report_true_positive (line 172) | pub fn report_true_positive(&mut self) { method report_false_positive (line 178) | pub fn report_false_positive(&mut self) { method report_event (line 184) | pub fn report_event(&mut self) { method get_param (line 189) | pub fn get_param(&self, idx: usize) -> f32 { method on_timer (line 200) | pub fn on_timer(&mut self) -> &[(i32, f32)] { method compute_score (line 277) | fn compute_score(&self) -> f32 { method apply_perturbation (line 288) | fn apply_perturbation(&mut self) { method advance_sweep (line 301) | fn advance_sweep(&mut self) { method reset_accumulators (line 313) | fn reset_accumulators(&mut self) { method snapshot_params (line 321) | fn snapshot_params(&mut self) { method safety_rollback (line 328) | fn safety_rollback(&mut self) { method iteration_count (line 340) | pub fn iteration_count(&self) -> u32 { method success_count (line 345) | pub fn success_count(&self) -> u32 { method meta_level (line 350) | pub fn meta_level(&self) -> u16 { method consecutive_failures (line 355) | pub fn consecutive_failures(&self) -> u8 { function test_new_state (line 365) | fn test_new_state() { function test_default_params (line 374) | fn test_default_params() { function test_score_computation (line 385) | fn test_score_computation() { function test_score_all_false_positives (line 401) | fn test_score_all_false_positives() { function test_score_empty (line 412) | fn test_score_empty() { function test_param_clamping (line 418) | fn test_param_clamping() { function test_optimization_cycle (line 430) | fn test_optimization_cycle() { function test_safety_rollback (line 451) | fn test_safety_rollback() { function test_full_sweep_increments_meta_level (line 464) | fn test_full_sweep_increments_meta_level() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/med_cardiac_arrhythmia.rs function sqrtf (line 23) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 28) | fn fabsf(x: f32) -> f32 { x.abs() } constant TACHY_THRESH (line 33) | const TACHY_THRESH: f32 = 100.0; constant BRADY_THRESH (line 36) | const BRADY_THRESH: f32 = 50.0; constant SUSTAINED_SECS (line 39) | const SUSTAINED_SECS: u8 = 10; constant MISSED_BEAT_DROP (line 42) | const MISSED_BEAT_DROP: f32 = 0.30; constant HRV_WINDOW (line 45) | const HRV_WINDOW: usize = 30; constant RMSSD_LOW (line 49) | const RMSSD_LOW: f32 = 10.0; constant RMSSD_HIGH (line 50) | const RMSSD_HIGH: f32 = 120.0; constant EMA_ALPHA (line 53) | const EMA_ALPHA: f32 = 0.1; constant COOLDOWN_SECS (line 56) | const COOLDOWN_SECS: u16 = 30; constant EVENT_TACHYCARDIA (line 60) | pub const EVENT_TACHYCARDIA: i32 = 110; constant EVENT_BRADYCARDIA (line 61) | pub const EVENT_BRADYCARDIA: i32 = 111; constant EVENT_MISSED_BEAT (line 62) | pub const EVENT_MISSED_BEAT: i32 = 112; constant EVENT_HRV_ANOMALY (line 63) | pub const EVENT_HRV_ANOMALY: i32 = 113; type CardiacArrhythmiaDetector (line 68) | pub struct CardiacArrhythmiaDetector { method new (line 93) | pub const fn new() -> Self { method process_frame (line 116) | pub fn process_frame(&mut self, hr_bpm: f32, _phase: f32) -> &[(i32, f... method compute_rmssd (line 206) | fn compute_rmssd(&self) -> f32 { method hr_ema (line 226) | pub fn hr_ema(&self) -> f32 { method frame_count (line 231) | pub fn frame_count(&self) -> u32 { function test_init (line 243) | fn test_init() { function test_normal_hr_no_events (line 250) | fn test_normal_hr_no_events() { function test_tachycardia_detection (line 264) | fn test_tachycardia_detection() { function test_bradycardia_detection (line 277) | fn test_bradycardia_detection() { function test_missed_beat_detection (line 290) | fn test_missed_beat_detection() { function test_hrv_anomaly_low_variability (line 306) | fn test_hrv_anomaly_low_variability() { function test_cooldown_prevents_flooding (line 321) | fn test_cooldown_prevents_flooding() { function test_ema_tracks_hr (line 335) | fn test_ema_tracks_hr() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/med_gait_analysis.rs function sqrtf (line 27) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 29) | fn fabsf(x: f32) -> f32 { x.abs() } constant GAIT_WINDOW (line 35) | const GAIT_WINDOW: usize = 60; constant STEP_PEAK_RATIO (line 38) | const STEP_PEAK_RATIO: f32 = 1.5; constant NORMAL_CADENCE_LOW (line 41) | const NORMAL_CADENCE_LOW: f32 = 80.0; constant NORMAL_CADENCE_HIGH (line 42) | const NORMAL_CADENCE_HIGH: f32 = 120.0; constant SHUFFLE_CADENCE_HIGH (line 45) | const SHUFFLE_CADENCE_HIGH: f32 = 140.0; constant SHUFFLE_ENERGY_LOW (line 46) | const SHUFFLE_ENERGY_LOW: f32 = 0.3; constant FESTINATION_ACCEL (line 49) | const FESTINATION_ACCEL: f32 = 1.5; constant ASYMMETRY_THRESH (line 52) | const ASYMMETRY_THRESH: f32 = 0.15; constant REPORT_INTERVAL (line 55) | const REPORT_INTERVAL: u32 = 10; constant MIN_MOTION_ENERGY (line 58) | const MIN_MOTION_ENERGY: f32 = 0.1; constant COOLDOWN_SECS (line 61) | const COOLDOWN_SECS: u16 = 15; constant MAX_STEPS (line 64) | const MAX_STEPS: usize = 64; constant EVENT_STEP_CADENCE (line 68) | pub const EVENT_STEP_CADENCE: i32 = 130; constant EVENT_GAIT_ASYMMETRY (line 69) | pub const EVENT_GAIT_ASYMMETRY: i32 = 131; constant EVENT_FALL_RISK_SCORE (line 70) | pub const EVENT_FALL_RISK_SCORE: i32 = 132; constant EVENT_SHUFFLING_DETECTED (line 71) | pub const EVENT_SHUFFLING_DETECTED: i32 = 133; constant EVENT_FESTINATION (line 72) | pub const EVENT_FESTINATION: i32 = 134; type GaitAnalyzer (line 77) | pub struct GaitAnalyzer { method new (line 115) | pub const fn new() -> Self { method process_frame (line 146) | pub fn process_frame( method compute_cadence (line 248) | fn compute_cadence(&self) -> f32 { method compute_asymmetry (line 260) | fn compute_asymmetry(&self) -> f32 { method compute_variability (line 283) | fn compute_variability(&self) -> f32 { method mean_energy (line 299) | fn mean_energy(&self) -> f32 { method detect_festination (line 307) | fn detect_festination(&self) -> bool { method compute_fall_risk (line 321) | fn compute_fall_risk(&self, cadence: f32, asymmetry: f32, variability:... method last_cadence (line 352) | pub fn last_cadence(&self) -> f32 { self.last_cadence } method last_asymmetry (line 355) | pub fn last_asymmetry(&self) -> f32 { self.last_asymmetry } method last_fall_risk (line 358) | pub fn last_fall_risk(&self) -> f32 { self.last_fall_risk } method frame_count (line 361) | pub fn frame_count(&self) -> u32 { self.frame_count } function test_init (line 371) | fn test_init() { function test_no_events_without_steps (line 379) | fn test_no_events_without_steps() { function test_step_cadence_extraction (line 391) | fn test_step_cadence_extraction() { function test_fall_risk_score_range (line 411) | fn test_fall_risk_score_range() { function test_asymmetry_detection (line 426) | fn test_asymmetry_detection() { function test_shuffling_detection (line 450) | fn test_shuffling_detection() { function test_compute_variability_uniform (line 472) | fn test_compute_variability_uniform() { function test_compute_variability_varied (line 484) | fn test_compute_variability_varied() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/med_respiratory_distress.rs function sqrtf (line 24) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 26) | fn fabsf(x: f32) -> f32 { x.abs() } constant TACHYPNEA_THRESH (line 31) | const TACHYPNEA_THRESH: f32 = 25.0; constant SUSTAINED_SECS (line 34) | const SUSTAINED_SECS: u8 = 8; constant VAR_WINDOW (line 37) | const VAR_WINDOW: usize = 60; constant LABORED_VAR_RATIO (line 40) | const LABORED_VAR_RATIO: f32 = 3.0; constant AC_WINDOW (line 44) | const AC_WINDOW: usize = 120; constant CS_PEAK_THRESH (line 47) | const CS_PEAK_THRESH: f32 = 0.35; constant CS_LAG_MIN (line 50) | const CS_LAG_MIN: usize = 30; constant CS_LAG_MAX (line 51) | const CS_LAG_MAX: usize = 90; constant DISTRESS_REPORT_INTERVAL (line 54) | const DISTRESS_REPORT_INTERVAL: u32 = 30; constant COOLDOWN_SECS (line 57) | const COOLDOWN_SECS: u16 = 20; constant BASELINE_SECS (line 60) | const BASELINE_SECS: u32 = 60; constant EVENT_TACHYPNEA (line 64) | pub const EVENT_TACHYPNEA: i32 = 120; constant EVENT_LABORED_BREATHING (line 65) | pub const EVENT_LABORED_BREATHING: i32 = 121; constant EVENT_CHEYNE_STOKES (line 66) | pub const EVENT_CHEYNE_STOKES: i32 = 122; constant EVENT_RESP_DISTRESS_LEVEL (line 67) | pub const EVENT_RESP_DISTRESS_LEVEL: i32 = 123; type RespiratoryDistressDetector (line 72) | pub struct RespiratoryDistressDetector { method new (line 103) | pub const fn new() -> Self { method process_frame (line 129) | pub fn process_frame( method recent_var_mean (line 213) | fn recent_var_mean(&self) -> f32 { method detect_cheyne_stokes (line 226) | fn detect_cheyne_stokes(&self) -> Option { method compute_distress_score (line 277) | fn compute_distress_score(&self, breathing_bpm: f32, variance: f32) ->... method last_distress_score (line 304) | pub fn last_distress_score(&self) -> f32 { method frame_count (line 309) | pub fn frame_count(&self) -> u32 { function test_init (line 321) | fn test_init() { function test_normal_breathing_no_alerts (line 328) | fn test_normal_breathing_no_alerts() { function test_tachypnea_detection (line 342) | fn test_tachypnea_detection() { function test_labored_breathing_detection (line 355) | fn test_labored_breathing_detection() { function test_distress_score_emitted (line 373) | fn test_distress_score_emitted() { function test_cheyne_stokes_detection (line 386) | fn test_cheyne_stokes_detection() { function test_distress_score_range (line 411) | fn test_distress_score_range() { function manual_sin (line 427) | fn manual_sin(x: f32) -> f32 { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/med_seizure_detect.rs function sqrtf (line 27) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 29) | fn fabsf(x: f32) -> f32 { x.abs() } constant ENERGY_WINDOW (line 35) | const ENERGY_WINDOW: usize = 100; constant PHASE_WINDOW (line 38) | const PHASE_WINDOW: usize = 100; constant HIGH_ENERGY_THRESH (line 41) | const HIGH_ENERGY_THRESH: f32 = 2.0; constant TONIC_ENERGY_THRESH (line 44) | const TONIC_ENERGY_THRESH: f32 = 1.5; constant TONIC_VAR_CEIL (line 45) | const TONIC_VAR_CEIL: f32 = 0.5; constant TONIC_MIN_FRAMES (line 46) | const TONIC_MIN_FRAMES: u16 = 20; constant CLONIC_PERIOD_MIN (line 50) | const CLONIC_PERIOD_MIN: usize = 2; constant CLONIC_PERIOD_MAX (line 51) | const CLONIC_PERIOD_MAX: usize = 7; constant CLONIC_AUTOCORR_THRESH (line 52) | const CLONIC_AUTOCORR_THRESH: f32 = 0.30; constant CLONIC_MIN_FRAMES (line 53) | const CLONIC_MIN_FRAMES: u16 = 30; constant POST_ICTAL_ENERGY_THRESH (line 56) | const POST_ICTAL_ENERGY_THRESH: f32 = 0.2; constant POST_ICTAL_MIN_FRAMES (line 57) | const POST_ICTAL_MIN_FRAMES: u16 = 40; constant FALL_MAX_DURATION (line 60) | const FALL_MAX_DURATION: u16 = 10; constant TREMOR_AMPLITUDE_FLOOR (line 63) | const TREMOR_AMPLITUDE_FLOOR: f32 = 0.8; constant COOLDOWN_FRAMES (line 66) | const COOLDOWN_FRAMES: u16 = 200; constant ONSET_MIN_FRAMES (line 69) | const ONSET_MIN_FRAMES: u16 = 10; constant EVENT_SEIZURE_ONSET (line 73) | pub const EVENT_SEIZURE_ONSET: i32 = 140; constant EVENT_SEIZURE_TONIC (line 74) | pub const EVENT_SEIZURE_TONIC: i32 = 141; constant EVENT_SEIZURE_CLONIC (line 75) | pub const EVENT_SEIZURE_CLONIC: i32 = 142; constant EVENT_POST_ICTAL (line 76) | pub const EVENT_POST_ICTAL: i32 = 143; type SeizurePhase (line 81) | pub enum SeizurePhase { type SeizureDetector (line 97) | pub struct SeizureDetector { method new (line 131) | pub const fn new() -> Self { method process_frame (line 157) | pub fn process_frame( method recent_energy_variance (line 344) | fn recent_energy_variance(&self) -> f32 { method detect_rhythm (line 364) | fn detect_rhythm(&self) -> Option { method phase (line 411) | pub fn phase(&self) -> SeizurePhase { method seizure_count (line 416) | pub fn seizure_count(&self) -> u32 { method frame_count (line 421) | pub fn frame_count(&self) -> u32 { function test_init (line 433) | fn test_init() { function test_normal_motion_no_seizure (line 441) | fn test_normal_motion_no_seizure() { function test_fall_discrimination (line 457) | fn test_fall_discrimination() { function test_seizure_onset_with_sustained_high_energy (line 472) | fn test_seizure_onset_with_sustained_high_energy() { function test_post_ictal_detection (line 488) | fn test_post_ictal_detection() { function test_no_detection_without_presence (line 508) | fn test_no_detection_without_presence() { function test_recent_energy_variance (line 520) | fn test_recent_energy_variance() { function test_cooldown_after_episode (line 533) | fn test_cooldown_after_episode() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/med_sleep_apnea.rs function fabsf (line 22) | fn fabsf(x: f32) -> f32 { x.abs() } constant APNEA_BPM_THRESH (line 27) | const APNEA_BPM_THRESH: f32 = 4.0; constant APNEA_ONSET_SECS (line 30) | const APNEA_ONSET_SECS: u32 = 10; constant AHI_REPORT_INTERVAL (line 33) | const AHI_REPORT_INTERVAL: u32 = 300; constant MAX_EPISODES (line 36) | const MAX_EPISODES: usize = 256; constant PRESENCE_ACTIVE (line 39) | const PRESENCE_ACTIVE: i32 = 1; constant EVENT_APNEA_START (line 43) | pub const EVENT_APNEA_START: i32 = 100; constant EVENT_APNEA_END (line 44) | pub const EVENT_APNEA_END: i32 = 101; constant EVENT_AHI_UPDATE (line 45) | pub const EVENT_AHI_UPDATE: i32 = 102; type ApneaEpisode (line 51) | struct ApneaEpisode { method zero (line 57) | const fn zero() -> Self { type SleepApneaDetector (line 63) | pub struct SleepApneaDetector { method new (line 83) | pub const fn new() -> Self { method process_frame (line 99) | pub fn process_frame( method record_episode (line 173) | fn record_episode(&mut self, start: u32, duration: u32) { method ahi (line 184) | pub fn ahi(&self) -> f32 { method episode_count (line 189) | pub fn episode_count(&self) -> usize { method monitoring_seconds (line 194) | pub fn monitoring_seconds(&self) -> u32 { method in_apnea (line 199) | pub fn in_apnea(&self) -> bool { function test_init (line 211) | fn test_init() { function test_normal_breathing_no_apnea (line 219) | fn test_normal_breathing_no_apnea() { function test_apnea_onset_and_end (line 231) | fn test_apnea_onset_and_end() { function test_no_monitoring_without_presence (line 257) | fn test_no_monitoring_without_presence() { function test_ahi_update_emitted (line 270) | fn test_ahi_update_emitted() { function test_multiple_episodes (line 294) | fn test_multiple_episodes() { function test_apnea_ends_on_presence_lost (line 312) | fn test_apnea_ends_on_presence_lost() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/occupancy.rs constant MAX_ZONES (line 12) | const MAX_ZONES: usize = 8; constant MAX_SC (line 15) | const MAX_SC: usize = 32; constant ZONE_THRESHOLD (line 18) | const ZONE_THRESHOLD: f32 = 0.02; constant ALPHA (line 21) | const ALPHA: f32 = 0.15; constant BASELINE_FRAMES (line 24) | const BASELINE_FRAMES: u32 = 200; constant EVENT_ZONE_OCCUPIED (line 27) | pub const EVENT_ZONE_OCCUPIED: i32 = 300; constant EVENT_ZONE_COUNT (line 28) | pub const EVENT_ZONE_COUNT: i32 = 301; constant EVENT_ZONE_TRANSITION (line 29) | pub const EVENT_ZONE_TRANSITION: i32 = 302; type ZoneState (line 32) | struct ZoneState { type OccupancyDetector (line 44) | pub struct OccupancyDetector { method new (line 56) | pub const fn new() -> Self { method process_frame (line 77) | pub fn process_frame( method occupied_count (line 206) | pub fn occupied_count(&self) -> u8 { method is_zone_occupied (line 217) | pub fn is_zone_occupied(&self, zone_id: usize) -> bool { function test_occupancy_detector_init (line 227) | fn test_occupancy_detector_init() { function test_occupancy_calibration (line 235) | fn test_occupancy_calibration() { function test_occupancy_detection (line 250) | fn test_occupancy_detection() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/qnt_interference_search.rs constant N_HYPO (line 25) | const N_HYPO: usize = 16; constant CONVERGENCE_PROB (line 28) | const CONVERGENCE_PROB: f32 = 0.5; constant ORACLE_BOOST (line 31) | const ORACLE_BOOST: f32 = 1.3; constant ORACLE_DAMPEN (line 34) | const ORACLE_DAMPEN: f32 = 0.7; constant WINNER_EMIT_INTERVAL (line 37) | const WINNER_EMIT_INTERVAL: u32 = 10; constant AMPLITUDE_EMIT_INTERVAL (line 40) | const AMPLITUDE_EMIT_INTERVAL: u32 = 20; constant ITERATION_EMIT_INTERVAL (line 43) | const ITERATION_EMIT_INTERVAL: u32 = 50; constant MOTION_HIGH_THRESH (line 46) | const MOTION_HIGH_THRESH: f32 = 0.5; constant MOTION_LOW_THRESH (line 49) | const MOTION_LOW_THRESH: f32 = 0.15; constant EVENT_HYPOTHESIS_WINNER (line 54) | pub const EVENT_HYPOTHESIS_WINNER: i32 = 855; constant EVENT_HYPOTHESIS_AMPLITUDE (line 57) | pub const EVENT_HYPOTHESIS_AMPLITUDE: i32 = 856; constant EVENT_SEARCH_ITERATIONS (line 60) | pub const EVENT_SEARCH_ITERATIONS: i32 = 857; type Hypothesis (line 68) | pub enum Hypothesis { method from_index (line 89) | const fn from_index(i: usize) -> Self { type InterferenceSearch (line 114) | pub struct InterferenceSearch { method new (line 130) | pub const fn new() -> Self { method process_frame (line 149) | pub fn process_frame( method apply_oracle (line 215) | fn apply_oracle( method grover_diffusion (line 286) | fn grover_diffusion(&mut self) { method normalize (line 304) | fn normalize(&mut self) { method find_winner (line 327) | fn find_winner(&self) -> (usize, f32) { method winner (line 345) | pub fn winner(&self) -> Hypothesis { method winner_probability (line 351) | pub fn winner_probability(&self) -> f32 { method is_converged (line 357) | pub fn is_converged(&self) -> bool { method amplitude (line 362) | pub fn amplitude(&self, h: Hypothesis) -> f32 { method probability (line 367) | pub fn probability(&self, h: Hypothesis) -> f32 { method iterations (line 373) | pub fn iterations(&self) -> u32 { method frame_count (line 378) | pub fn frame_count(&self) -> u32 { method reset (line 383) | pub fn reset(&mut self) { function test_init_uniform (line 401) | fn test_init_uniform() { function test_empty_room_convergence (line 422) | fn test_empty_room_convergence() { function test_high_motion_one_person (line 441) | fn test_high_motion_one_person() { function test_low_motion_one_person (line 462) | fn test_low_motion_one_person() { function test_multi_person (line 486) | fn test_multi_person() { function test_normalization_preserved (line 503) | fn test_normalization_preserved() { function test_reset (line 526) | fn test_reset() { function test_event_emission (line 553) | fn test_event_emission() { function test_winner_change_emits_immediately (line 570) | fn test_winner_change_emits_immediately() { function test_hypothesis_from_index_roundtrip (line 598) | fn test_hypothesis_from_index_roundtrip() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/qnt_quantum_coherence.rs constant MAX_SC (line 26) | const MAX_SC: usize = 32; constant ALPHA (line 29) | const ALPHA: f32 = 0.15; constant DECOHERENCE_THRESHOLD (line 32) | const DECOHERENCE_THRESHOLD: f32 = 0.3; constant ENTROPY_EMIT_INTERVAL (line 35) | const ENTROPY_EMIT_INTERVAL: u32 = 10; constant DRIFT_EMIT_INTERVAL (line 38) | const DRIFT_EMIT_INTERVAL: u32 = 5; constant LN2 (line 41) | const LN2: f32 = 0.693_147_2; constant EPS (line 44) | const EPS: f32 = 1.0e-7; constant EVENT_ENTANGLEMENT_ENTROPY (line 49) | pub const EVENT_ENTANGLEMENT_ENTROPY: i32 = 850; constant EVENT_DECOHERENCE_EVENT (line 52) | pub const EVENT_DECOHERENCE_EVENT: i32 = 851; constant EVENT_BLOCH_DRIFT (line 55) | pub const EVENT_BLOCH_DRIFT: i32 = 852; type QuantumCoherenceMonitor (line 60) | pub struct QuantumCoherenceMonitor { method new (line 75) | pub const fn new() -> Self { method process_frame (line 92) | pub fn process_frame(&mut self, phases: &[f32]) -> &[(i32, f32)] { method compute_mean_bloch (line 172) | fn compute_mean_bloch(&self, phases: &[f32], n_sc: usize) -> [f32; 3] { method entropy (line 197) | pub fn entropy(&self) -> f32 { method coherence (line 205) | pub fn coherence(&self) -> f32 { method bloch_vector (line 210) | pub fn bloch_vector(&self) -> [f32; 3] { method normalized_entropy (line 215) | pub fn normalized_entropy(&self) -> f32 { method frame_count (line 220) | pub fn frame_count(&self) -> u32 { function vec3_magnitude (line 229) | fn vec3_magnitude(v: &[f32; 3]) -> f32 { function vec3_distance (line 235) | fn vec3_distance(a: &[f32; 3], b: &[f32; 3]) -> f32 { function clamp (line 244) | fn clamp(x: f32, lo: f32, hi: f32) -> f32 { function test_init (line 261) | fn test_init() { function test_uniform_phases_high_coherence (line 268) | fn test_uniform_phases_high_coherence() { function test_random_phases_low_coherence (line 290) | fn test_random_phases_low_coherence() { function test_decoherence_detection (line 314) | fn test_decoherence_detection() { function test_bloch_drift_emission (line 347) | fn test_bloch_drift_emission() { function test_entropy_bounds (line 372) | fn test_entropy_bounds() { function test_small_input (line 390) | fn test_small_input() { function test_zero_phases_perfect_coherence (line 399) | fn test_zero_phases_perfect_coherence() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ret_customer_flow.rs function fabsf (line 21) | fn fabsf(x: f32) -> f32 { x.abs() } function sqrtf (line 23) | fn sqrtf(x: f32) -> f32 { x.sqrt() } constant EVENT_INGRESS (line 27) | pub const EVENT_INGRESS: i32 = 420; constant EVENT_EGRESS (line 28) | pub const EVENT_EGRESS: i32 = 421; constant EVENT_NET_OCCUPANCY (line 29) | pub const EVENT_NET_OCCUPANCY: i32 = 422; constant EVENT_HOURLY_TRAFFIC (line 30) | pub const EVENT_HOURLY_TRAFFIC: i32 = 423; constant MAX_SC (line 35) | const MAX_SC: usize = 32; constant FRAME_RATE (line 38) | const FRAME_RATE: f32 = 20.0; constant FRAMES_PER_HOUR (line 41) | const FRAMES_PER_HOUR: u32 = 72000; constant NUM_GROUPS (line 45) | const NUM_GROUPS: usize = 2; constant PHASE_GRADIENT_THRESH (line 48) | const PHASE_GRADIENT_THRESH: f32 = 0.15; constant MOTION_THRESH (line 51) | const MOTION_THRESH: f32 = 0.03; constant AMPLITUDE_SPIKE_THRESH (line 54) | const AMPLITUDE_SPIKE_THRESH: f32 = 1.5; constant CROSSING_DEBOUNCE (line 57) | const CROSSING_DEBOUNCE: u8 = 10; constant GRADIENT_EMA_ALPHA (line 60) | const GRADIENT_EMA_ALPHA: f32 = 0.2; constant GRADIENT_HISTORY (line 63) | const GRADIENT_HISTORY: usize = 20; constant OCCUPANCY_REPORT_INTERVAL (line 66) | const OCCUPANCY_REPORT_INTERVAL: u32 = 100; constant MAX_EVENTS (line 69) | const MAX_EVENTS: usize = 4; type CustomerFlowTracker (line 74) | pub struct CustomerFlowTracker { method new (line 102) | pub const fn new() -> Self { method process_frame (line 127) | pub fn process_frame( method net_occupancy (line 275) | pub fn net_occupancy(&self) -> i32 { method total_ingress (line 281) | pub fn total_ingress(&self) -> u32 { method total_egress (line 286) | pub fn total_egress(&self) -> u32 { method current_gradient (line 291) | pub fn current_gradient(&self) -> f32 { function test_init_state (line 302) | fn test_init_state() { function test_too_few_subcarriers (line 311) | fn test_too_few_subcarriers() { function test_ingress_detection (line 321) | fn test_ingress_detection() { function test_egress_detection (line 360) | fn test_egress_detection() { function test_net_occupancy_clamped_to_zero (line 396) | fn test_net_occupancy_clamped_to_zero() { function test_periodic_occupancy_report (line 405) | fn test_periodic_occupancy_report() { function test_debounce_prevents_double_count (line 423) | fn test_debounce_prevents_double_count() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ret_dwell_heatmap.rs function fabsf (line 21) | fn fabsf(x: f32) -> f32 { x.abs() } constant EVENT_DWELL_ZONE_UPDATE (line 25) | pub const EVENT_DWELL_ZONE_UPDATE: i32 = 410; constant EVENT_HOT_ZONE (line 26) | pub const EVENT_HOT_ZONE: i32 = 411; constant EVENT_COLD_ZONE (line 27) | pub const EVENT_COLD_ZONE: i32 = 412; constant EVENT_SESSION_SUMMARY (line 28) | pub const EVENT_SESSION_SUMMARY: i32 = 413; constant NUM_ZONES (line 33) | const NUM_ZONES: usize = 9; constant MAX_SC (line 36) | const MAX_SC: usize = 32; constant FRAME_RATE (line 39) | const FRAME_RATE: f32 = 20.0; constant SECONDS_PER_FRAME (line 42) | const SECONDS_PER_FRAME: f32 = 1.0 / FRAME_RATE; constant REPORT_INTERVAL (line 45) | const REPORT_INTERVAL: u32 = 600; constant ZONE_OCCUPIED_THRESH (line 48) | const ZONE_OCCUPIED_THRESH: f32 = 0.015; constant ZONE_EMA_ALPHA (line 51) | const ZONE_EMA_ALPHA: f32 = 0.12; constant EMPTY_FRAMES_FOR_SUMMARY (line 54) | const EMPTY_FRAMES_FOR_SUMMARY: u32 = 100; constant MAX_EVENTS (line 57) | const MAX_EVENTS: usize = 12; type ZoneState (line 61) | struct ZoneState { constant ZONE_INIT (line 72) | const ZONE_INIT: ZoneState = ZoneState { type DwellHeatmapTracker (line 82) | pub struct DwellHeatmapTracker { method new (line 97) | pub const fn new() -> Self { method process_frame (line 116) | pub fn process_frame( method zone_dwell (line 244) | pub fn zone_dwell(&self, zone_id: usize) -> f32 { method zone_total_dwell (line 253) | pub fn zone_total_dwell(&self, zone_id: usize) -> f32 { method is_zone_occupied (line 262) | pub fn is_zone_occupied(&self, zone_id: usize) -> bool { method is_session_active (line 267) | pub fn is_session_active(&self) -> bool { function test_init_state (line 279) | fn test_init_state() { function test_no_presence_no_dwell (line 291) | fn test_no_presence_no_dwell() { function test_dwell_accumulates_with_presence (line 304) | fn test_dwell_accumulates_with_presence() { function test_session_summary_on_empty (line 324) | fn test_session_summary_on_empty() { function test_periodic_zone_updates (line 350) | fn test_periodic_zone_updates() { function test_hot_cold_zone_identification (line 367) | fn test_hot_cold_zone_identification() { function test_zone_oob_access (line 394) | fn test_zone_oob_access() { function test_empty_variance_slice (line 402) | fn test_empty_variance_slice() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ret_queue_length.rs function fabsf (line 20) | fn fabsf(x: f32) -> f32 { x.abs() } constant EVENT_QUEUE_LENGTH (line 24) | pub const EVENT_QUEUE_LENGTH: i32 = 400; constant EVENT_WAIT_TIME_ESTIMATE (line 25) | pub const EVENT_WAIT_TIME_ESTIMATE: i32 = 401; constant EVENT_SERVICE_RATE (line 26) | pub const EVENT_SERVICE_RATE: i32 = 402; constant EVENT_QUEUE_ALERT (line 27) | pub const EVENT_QUEUE_ALERT: i32 = 403; constant FRAME_RATE (line 32) | const FRAME_RATE: f32 = 20.0; constant REPORT_INTERVAL (line 35) | const REPORT_INTERVAL: u32 = 20; constant SERVICE_WINDOW_FRAMES (line 38) | const SERVICE_WINDOW_FRAMES: u32 = 600; constant QUEUE_EMA_ALPHA (line 41) | const QUEUE_EMA_ALPHA: f32 = 0.1; constant RATE_EMA_ALPHA (line 44) | const RATE_EMA_ALPHA: f32 = 0.05; constant JOIN_VARIANCE_THRESH (line 47) | const JOIN_VARIANCE_THRESH: f32 = 0.05; constant DEPART_MOTION_THRESH (line 50) | const DEPART_MOTION_THRESH: f32 = 0.02; constant QUEUE_ALERT_THRESH (line 53) | const QUEUE_ALERT_THRESH: f32 = 5.0; constant MAX_QUEUE (line 56) | const MAX_QUEUE: usize = 20; constant RATE_HISTORY (line 59) | const RATE_HISTORY: usize = 1200; type QueueLengthEstimator (line 64) | pub struct QueueLengthEstimator { method new (line 92) | pub const fn new() -> Self { method process_frame (line 117) | pub fn process_frame( method queue_length (line 232) | pub fn queue_length(&self) -> u8 { method arrival_rate (line 237) | pub fn arrival_rate(&self) -> f32 { method service_rate (line 242) | pub fn service_rate(&self) -> f32 { function test_init_state (line 254) | fn test_init_state() { function test_empty_queue_no_events_except_periodic (line 262) | fn test_empty_queue_no_events_except_periodic() { function test_queue_grows_with_persons (line 277) | fn test_queue_grows_with_persons() { function test_arrival_detection (line 288) | fn test_arrival_detection() { function test_departure_detection (line 301) | fn test_departure_detection() { function test_queue_alert (line 313) | fn test_queue_alert() { function test_service_rate_computation (line 329) | fn test_service_rate_computation() { function test_negative_inputs_handled (line 347) | fn test_negative_inputs_handled() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ret_shelf_engagement.rs function fabsf (line 25) | fn fabsf(x: f32) -> f32 { x.abs() } function sqrtf (line 27) | fn sqrtf(x: f32) -> f32 { x.sqrt() } constant EVENT_SHELF_BROWSE (line 31) | pub const EVENT_SHELF_BROWSE: i32 = 440; constant EVENT_SHELF_CONSIDER (line 32) | pub const EVENT_SHELF_CONSIDER: i32 = 441; constant EVENT_SHELF_ENGAGE (line 33) | pub const EVENT_SHELF_ENGAGE: i32 = 442; constant EVENT_REACH_DETECTED (line 34) | pub const EVENT_REACH_DETECTED: i32 = 443; constant MAX_SC (line 39) | const MAX_SC: usize = 32; constant FRAME_RATE (line 42) | const FRAME_RATE: f32 = 20.0; constant BROWSE_THRESH_S (line 45) | const BROWSE_THRESH_S: f32 = 5.0; constant CONSIDER_THRESH_S (line 47) | const CONSIDER_THRESH_S: f32 = 30.0; constant BROWSE_THRESH_FRAMES (line 50) | const BROWSE_THRESH_FRAMES: u32 = (BROWSE_THRESH_S * FRAME_RATE) as u32; constant CONSIDER_THRESH_FRAMES (line 52) | const CONSIDER_THRESH_FRAMES: u32 = (CONSIDER_THRESH_S * FRAME_RATE) as ... constant STILL_MOTION_THRESH (line 55) | const STILL_MOTION_THRESH: f32 = 0.08; constant PHASE_PERTURBATION_THRESH (line 58) | const PHASE_PERTURBATION_THRESH: f32 = 0.04; constant REACH_BURST_THRESH (line 61) | const REACH_BURST_THRESH: f32 = 0.15; constant STILL_DEBOUNCE (line 64) | const STILL_DEBOUNCE: u32 = 10; constant ENGAGEMENT_COOLDOWN (line 67) | const ENGAGEMENT_COOLDOWN: u16 = 60; constant PERTURBATION_EMA_ALPHA (line 70) | const PERTURBATION_EMA_ALPHA: f32 = 0.2; constant MOTION_EMA_ALPHA (line 73) | const MOTION_EMA_ALPHA: f32 = 0.15; constant PHASE_HISTORY (line 76) | const PHASE_HISTORY: usize = 10; constant MAX_EVENTS (line 79) | const MAX_EVENTS: usize = 4; type EngagementLevel (line 84) | pub enum EngagementLevel { type ShelfEngagementDetector (line 98) | pub struct ShelfEngagementDetector { method new (line 134) | pub const fn new() -> Self { method process_frame (line 163) | pub fn process_frame( method emit_engagement_end (line 310) | fn emit_engagement_end(&self, ne: usize) -> usize { method engagement_level (line 317) | pub fn engagement_level(&self) -> EngagementLevel { method engagement_duration_s (line 322) | pub fn engagement_duration_s(&self) -> f32 { method total_browse_events (line 327) | pub fn total_browse_events(&self) -> u32 { method total_consider_events (line 332) | pub fn total_consider_events(&self) -> u32 { method total_engage_events (line 337) | pub fn total_engage_events(&self) -> u32 { method total_reach_events (line 342) | pub fn total_reach_events(&self) -> u32 { function test_init_state (line 354) | fn test_init_state() { function test_no_presence_no_engagement (line 365) | fn test_no_presence_no_engagement() { function test_walking_past_no_engagement (line 381) | fn test_walking_past_no_engagement() { function test_browse_detection (line 396) | fn test_browse_detection() { function test_reach_detection (line 426) | fn test_reach_detection() { function test_engagement_resets_on_departure (line 452) | fn test_engagement_resets_on_departure() { function test_empty_phases_no_panic (line 473) | fn test_empty_phases_no_panic() { function test_consider_level_upgrade (line 481) | fn test_consider_level_upgrade() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/ret_table_turnover.rs constant EVENT_TABLE_SEATED (line 19) | pub const EVENT_TABLE_SEATED: i32 = 430; constant EVENT_TABLE_VACATED (line 20) | pub const EVENT_TABLE_VACATED: i32 = 431; constant EVENT_TABLE_AVAILABLE (line 21) | pub const EVENT_TABLE_AVAILABLE: i32 = 432; constant EVENT_TURNOVER_RATE (line 22) | pub const EVENT_TURNOVER_RATE: i32 = 433; constant FRAME_RATE (line 27) | const FRAME_RATE: f32 = 20.0; constant SEATED_DEBOUNCE_FRAMES (line 30) | const SEATED_DEBOUNCE_FRAMES: u32 = 40; constant VACATED_DEBOUNCE_FRAMES (line 33) | const VACATED_DEBOUNCE_FRAMES: u32 = 100; constant AVAILABLE_COOLDOWN_FRAMES (line 36) | const AVAILABLE_COOLDOWN_FRAMES: u32 = 600; constant FRAMES_PER_HOUR (line 39) | const FRAMES_PER_HOUR: u32 = 72000; constant EATING_MOTION_THRESH (line 42) | const EATING_MOTION_THRESH: f32 = 0.1; constant ACTIVE_MOTION_THRESH (line 45) | const ACTIVE_MOTION_THRESH: f32 = 0.3; constant TURNOVER_REPORT_INTERVAL (line 48) | const TURNOVER_REPORT_INTERVAL: u32 = 6000; constant MOTION_EMA_ALPHA (line 51) | const MOTION_EMA_ALPHA: f32 = 0.15; constant TURNOVER_WINDOW_FRAMES (line 54) | const TURNOVER_WINDOW_FRAMES: u32 = 72000; constant MAX_TURNOVERS (line 57) | const MAX_TURNOVERS: usize = 50; constant MAX_EVENTS (line 60) | const MAX_EVENTS: usize = 4; type TableState (line 66) | pub enum TableState { type TableTurnoverTracker (line 82) | pub struct TableTurnoverTracker { method new (line 110) | pub const fn new() -> Self { method process_frame (line 134) | pub fn process_frame( method turnover_rate (line 315) | pub fn turnover_rate(&self) -> f32 { method state (line 346) | pub fn state(&self) -> TableState { method total_turnovers (line 351) | pub fn total_turnovers(&self) -> u32 { method session_duration_s (line 356) | pub fn session_duration_s(&self) -> f32 { function test_init_state (line 373) | fn test_init_state() { function test_seated_after_debounce (line 381) | fn test_seated_after_debounce() { function test_vacated_after_absence (line 399) | fn test_vacated_after_absence() { function test_available_after_cooldown (line 425) | fn test_available_after_cooldown() { function test_brief_absence_doesnt_vacate (line 453) | fn test_brief_absence_doesnt_vacate() { function test_turnover_rate_computation (line 479) | fn test_turnover_rate_computation() { function test_session_duration (line 508) | fn test_session_duration() { function test_negative_inputs (line 527) | fn test_negative_inputs() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/rvf.rs constant RVF_MAGIC (line 15) | pub const RVF_MAGIC: u32 = 0x0146_5652; constant RVF_FORMAT_VERSION (line 18) | pub const RVF_FORMAT_VERSION: u16 = 1; constant RVF_HEADER_SIZE (line 21) | pub const RVF_HEADER_SIZE: usize = 32; constant RVF_MANIFEST_SIZE (line 24) | pub const RVF_MANIFEST_SIZE: usize = 96; constant RVF_SIGNATURE_LEN (line 27) | pub const RVF_SIGNATURE_LEN: usize = 64; constant RVF_HOST_API_V1 (line 30) | pub const RVF_HOST_API_V1: u16 = 1; constant CAP_READ_PHASE (line 34) | pub const CAP_READ_PHASE: u32 = 1 << 0; constant CAP_READ_AMPLITUDE (line 35) | pub const CAP_READ_AMPLITUDE: u32 = 1 << 1; constant CAP_READ_VARIANCE (line 36) | pub const CAP_READ_VARIANCE: u32 = 1 << 2; constant CAP_READ_VITALS (line 37) | pub const CAP_READ_VITALS: u32 = 1 << 3; constant CAP_READ_HISTORY (line 38) | pub const CAP_READ_HISTORY: u32 = 1 << 4; constant CAP_EMIT_EVENTS (line 39) | pub const CAP_EMIT_EVENTS: u32 = 1 << 5; constant CAP_LOG (line 40) | pub const CAP_LOG: u32 = 1 << 6; constant CAP_ALL (line 41) | pub const CAP_ALL: u32 = 0x7F; constant FLAG_HAS_SIGNATURE (line 45) | pub const FLAG_HAS_SIGNATURE: u16 = 1 << 0; constant FLAG_HAS_TEST_VECTORS (line 46) | pub const FLAG_HAS_TEST_VECTORS: u16 = 1 << 1; type RvfHeader (line 53) | pub struct RvfHeader { type RvfManifest (line 68) | pub struct RvfManifest { constant _ (line 84) | const _: () = assert!(core::mem::size_of::() == RVF_HEADER_SI... constant _ (line 85) | const _: () = assert!(core::mem::size_of::() == RVF_MANIFES... function copy_to_fixed (line 96) | fn copy_to_fixed(src: &str) -> [u8; N] { type RvfConfig (line 104) | pub struct RvfConfig { method default (line 117) | fn default() -> Self { function build_rvf (line 137) | pub fn build_rvf(wasm_data: &[u8], config: &RvfConfig) -> Vec { function patch_signature (line 208) | pub fn patch_signature(rvf: &mut [u8], signature: &[u8; RVF_SIGNATURE_LE... function test_build_rvf_roundtrip (line 223) | fn test_build_rvf_roundtrip() { function test_build_hash_integrity (line 256) | fn test_build_hash_integrity() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sec_loitering.rs constant ENTER_CONFIRM_FRAMES (line 18) | const ENTER_CONFIRM_FRAMES: u32 = 60; constant DWELL_THRESHOLD (line 20) | const DWELL_THRESHOLD: u32 = 6000; constant EXIT_COOLDOWN (line 22) | const EXIT_COOLDOWN: u32 = 600; constant STATIONARY_MOTION_THRESH (line 24) | const STATIONARY_MOTION_THRESH: f32 = 0.5; constant ONGOING_REPORT_INTERVAL (line 26) | const ONGOING_REPORT_INTERVAL: u32 = 600; constant POST_END_COOLDOWN (line 28) | const POST_END_COOLDOWN: u32 = 200; constant EVENT_LOITERING_START (line 30) | pub const EVENT_LOITERING_START: i32 = 240; constant EVENT_LOITERING_ONGOING (line 31) | pub const EVENT_LOITERING_ONGOING: i32 = 241; constant EVENT_LOITERING_END (line 32) | pub const EVENT_LOITERING_END: i32 = 242; type LoiterState (line 36) | pub enum LoiterState { type LoiteringDetector (line 48) | pub struct LoiteringDetector { method new (line 66) | pub const fn new() -> Self { method process_frame (line 83) | pub fn process_frame( method state (line 197) | pub fn state(&self) -> LoiterState { self.state } method frame_count (line 198) | pub fn frame_count(&self) -> u32 { self.frame_count } method loiter_count (line 199) | pub fn loiter_count(&self) -> u32 { self.loiter_count } method dwell_frames (line 200) | pub fn dwell_frames(&self) -> u32 { self.dwell_frames } function test_init (line 208) | fn test_init() { function test_entering_confirmation (line 216) | fn test_entering_confirmation() { function test_entering_cancelled_on_absence (line 231) | fn test_entering_cancelled_on_absence() { function test_loitering_start_event (line 246) | fn test_loitering_start_event() { function test_loitering_ongoing_report (line 271) | fn test_loitering_ongoing_report() { function test_loitering_end_with_cooldown (line 297) | fn test_loitering_end_with_cooldown() { function test_brief_absence_does_not_end_loitering (line 325) | fn test_brief_absence_does_not_end_loitering() { function test_moving_person_does_not_accumulate_dwell (line 347) | fn test_moving_person_does_not_accumulate_dwell() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sec_panic_motion.rs function sqrtf (line 22) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 24) | fn fabsf(x: f32) -> f32 { x.abs() } constant MAX_SC (line 26) | const MAX_SC: usize = 32; constant WINDOW (line 28) | const WINDOW: usize = 100; constant JERK_THRESH (line 30) | const JERK_THRESH: f32 = 2.0; constant ENTROPY_THRESH (line 32) | const ENTROPY_THRESH: f32 = 0.35; constant MIN_MOTION (line 34) | const MIN_MOTION: f32 = 1.0; constant MIN_PRESENCE (line 36) | const MIN_PRESENCE: i32 = 1; constant TRIGGER_FRAC (line 38) | const TRIGGER_FRAC: f32 = 0.3; constant COOLDOWN (line 40) | const COOLDOWN: u16 = 100; constant FLEE_ENERGY_THRESH (line 42) | const FLEE_ENERGY_THRESH: f32 = 5.0; constant FLEE_JERK_THRESH (line 45) | const FLEE_JERK_THRESH: f32 = 0.05; constant FLEE_MAX_ENTROPY (line 47) | const FLEE_MAX_ENTROPY: f32 = 0.25; constant STRUGGLE_JERK_THRESH (line 49) | const STRUGGLE_JERK_THRESH: f32 = 1.5; constant EVENT_PANIC_DETECTED (line 51) | pub const EVENT_PANIC_DETECTED: i32 = 250; constant EVENT_STRUGGLE_PATTERN (line 52) | pub const EVENT_STRUGGLE_PATTERN: i32 = 251; constant EVENT_FLEEING_DETECTED (line 53) | pub const EVENT_FLEEING_DETECTED: i32 = 252; type PanicMotionDetector (line 56) | pub struct PanicMotionDetector { method new (line 76) | pub const fn new() -> Self { method process_frame (line 93) | pub fn process_frame( method compute_window_stats (line 191) | fn compute_window_stats(&self) -> (f32, f32, f32, f32) { method frame_count (line 235) | pub fn frame_count(&self) -> u32 { self.frame_count } method panic_count (line 236) | pub fn panic_count(&self) -> u32 { self.panic_count } function test_init (line 244) | fn test_init() { function test_no_events_before_window_filled (line 251) | fn test_no_events_before_window_filled() { function test_calm_motion_no_panic (line 260) | fn test_calm_motion_no_panic() { function test_panic_detection (line 273) | fn test_panic_detection() { function test_no_panic_without_presence (line 292) | fn test_no_panic_without_presence() { function test_fleeing_detection (line 304) | fn test_fleeing_detection() { function test_struggle_pattern (line 330) | fn test_struggle_pattern() { function test_low_motion_ignored (line 354) | fn test_low_motion_ignored() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sec_perimeter_breach.rs function sqrtf (line 14) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 16) | fn fabsf(x: f32) -> f32 { x.abs() } constant MAX_SC (line 18) | const MAX_SC: usize = 32; constant MAX_ZONES (line 20) | const MAX_ZONES: usize = 4; constant BASELINE_FRAMES (line 22) | const BASELINE_FRAMES: u32 = 100; constant BREACH_GRADIENT_THRESH (line 24) | const BREACH_GRADIENT_THRESH: f32 = 0.6; constant VARIANCE_RATIO_THRESH (line 26) | const VARIANCE_RATIO_THRESH: f32 = 2.5; constant DIRECTION_DEBOUNCE (line 28) | const DIRECTION_DEBOUNCE: u8 = 3; constant COOLDOWN (line 30) | const COOLDOWN: u16 = 40; constant HISTORY_LEN (line 32) | const HISTORY_LEN: usize = 8; constant EVENT_PERIMETER_BREACH (line 34) | pub const EVENT_PERIMETER_BREACH: i32 = 210; constant EVENT_APPROACH_DETECTED (line 35) | pub const EVENT_APPROACH_DETECTED: i32 = 211; constant EVENT_DEPARTURE_DETECTED (line 36) | pub const EVENT_DEPARTURE_DETECTED: i32 = 212; constant EVENT_ZONE_TRANSITION (line 37) | pub const EVENT_ZONE_TRANSITION: i32 = 213; type ZoneState (line 41) | struct ZoneState { method new (line 54) | const fn new() -> Self { method push_energy (line 64) | fn push_energy(&mut self, e: f32) { method energy_trend (line 70) | fn energy_trend(&self) -> f32 { type PerimeterBreachDetector (line 94) | pub struct PerimeterBreachDetector { method new (line 119) | pub const fn new() -> Self { method process_frame (line 140) | pub fn process_frame( method is_calibrated (line 311) | pub fn is_calibrated(&self) -> bool { self.calibrated } method frame_count (line 312) | pub fn frame_count(&self) -> u32 { self.frame_count } function make_quiet (line 319) | fn make_quiet() -> ([f32; 16], [f32; 16], [f32; 16]) { function test_init (line 324) | fn test_init() { function test_calibration_completes (line 331) | fn test_calibration_completes() { function test_no_events_during_calibration (line 345) | fn test_no_events_during_calibration() { function test_breach_detection (line 355) | fn test_breach_detection() { function test_zone_transition (line 388) | fn test_zone_transition() { function test_approach_detection (line 428) | fn test_approach_detection() { function test_quiet_no_breach (line 459) | fn test_quiet_no_breach() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sec_tailgating.rs function fabsf (line 19) | fn fabsf(x: f32) -> f32 { x.abs() } constant ENERGY_PEAK_THRESH (line 22) | const ENERGY_PEAK_THRESH: f32 = 2.0; constant ENERGY_VALLEY_FRAC (line 24) | const ENERGY_VALLEY_FRAC: f32 = 0.3; constant TAILGATE_WINDOW (line 26) | const TAILGATE_WINDOW: u32 = 60; constant MIN_PEAK_ENERGY (line 28) | const MIN_PEAK_ENERGY: f32 = 1.5; constant COOLDOWN (line 30) | const COOLDOWN: u16 = 100; constant MIN_PEAK_FRAMES (line 32) | const MIN_PEAK_FRAMES: u8 = 3; constant MAX_PEAKS (line 34) | const MAX_PEAKS: usize = 8; constant EVENT_TAILGATE_DETECTED (line 36) | pub const EVENT_TAILGATE_DETECTED: i32 = 230; constant EVENT_SINGLE_PASSAGE (line 37) | pub const EVENT_SINGLE_PASSAGE: i32 = 231; constant EVENT_MULTI_PASSAGE (line 38) | pub const EVENT_MULTI_PASSAGE: i32 = 232; type PeakState (line 42) | enum PeakState { type TailgateDetector (line 52) | pub struct TailgateDetector { method new (line 81) | pub const fn new() -> Self { method process_frame (line 102) | pub fn process_frame( method frame_count (line 218) | pub fn frame_count(&self) -> u32 { self.frame_count } method tailgate_count (line 219) | pub fn tailgate_count(&self) -> u32 { self.tailgate_count } method single_passages (line 220) | pub fn single_passages(&self) -> u32 { self.single_passages } function simulate_peak (line 228) | fn simulate_peak(det: &mut TailgateDetector, peak_energy: f32) -> Vec<(i... function test_init (line 246) | fn test_init() { function test_single_passage (line 254) | fn test_single_passage() { function test_tailgate_detection (line 278) | fn test_tailgate_detection() { function test_widely_spaced_peaks_no_tailgate (line 310) | fn test_widely_spaced_peaks_no_tailgate() { function test_noise_spike_ignored (line 342) | fn test_noise_spike_ignored() { function test_multi_passage_event (line 367) | fn test_multi_passage_event() { function test_low_energy_ignored (line 395) | fn test_low_energy_ignored() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sec_weapon_detect.rs function sqrtf (line 20) | fn sqrtf(x: f32) -> f32 { x.sqrt() } function fabsf (line 22) | fn fabsf(x: f32) -> f32 { x.abs() } constant MAX_SC (line 24) | const MAX_SC: usize = 32; constant BASELINE_FRAMES (line 26) | const BASELINE_FRAMES: u32 = 100; constant METAL_RATIO_THRESH (line 28) | const METAL_RATIO_THRESH: f32 = 4.0; constant WEAPON_RATIO_THRESH (line 30) | const WEAPON_RATIO_THRESH: f32 = 8.0; constant MIN_MOTION_ENERGY (line 32) | const MIN_MOTION_ENERGY: f32 = 0.5; constant MIN_PRESENCE (line 34) | const MIN_PRESENCE: i32 = 1; constant METAL_DEBOUNCE (line 36) | const METAL_DEBOUNCE: u8 = 4; constant WEAPON_DEBOUNCE (line 38) | const WEAPON_DEBOUNCE: u8 = 6; constant COOLDOWN (line 40) | const COOLDOWN: u16 = 60; constant RECALIB_DRIFT_THRESH (line 42) | const RECALIB_DRIFT_THRESH: f32 = 3.0; constant VAR_WINDOW (line 44) | const VAR_WINDOW: usize = 16; constant EVENT_METAL_ANOMALY (line 46) | pub const EVENT_METAL_ANOMALY: i32 = 220; constant EVENT_WEAPON_ALERT (line 47) | pub const EVENT_WEAPON_ALERT: i32 = 221; constant EVENT_CALIBRATION_NEEDED (line 48) | pub const EVENT_CALIBRATION_NEEDED: i32 = 222; type WeaponDetector (line 51) | pub struct WeaponDetector { method new (line 86) | pub const fn new() -> Self { method process_frame (line 113) | pub fn process_frame( method is_calibrated (line 267) | pub fn is_calibrated(&self) -> bool { self.calibrated } method frame_count (line 268) | pub fn frame_count(&self) -> u32 { self.frame_count } function test_init (line 276) | fn test_init() { function test_calibration_completes (line 283) | fn test_calibration_completes() { function test_no_detection_without_presence (line 297) | fn test_no_detection_without_presence() { function test_metal_anomaly_detection (line 320) | fn test_metal_anomaly_detection() { function test_normal_person_no_metal_alert (line 353) | fn test_normal_person_no_metal_alert() { function test_calibration_needed_on_drift (line 378) | fn test_calibration_needed_on_drift() { function test_too_few_subcarriers (line 414) | fn test_too_few_subcarriers() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sig_coherence_gate.rs constant MAX_SC (line 17) | const MAX_SC: usize = 32; constant HIGH_THRESHOLD (line 18) | const HIGH_THRESHOLD: f32 = 0.75; constant LOW_THRESHOLD (line 19) | const LOW_THRESHOLD: f32 = 0.40; constant DEGRADE_COUNT (line 20) | const DEGRADE_COUNT: u8 = 5; constant RECOVER_COUNT (line 21) | const RECOVER_COUNT: u8 = 10; constant VARIANCE_DRIFT_MULT (line 22) | const VARIANCE_DRIFT_MULT: f32 = 4.0; constant MIN_FRAMES_FOR_DRIFT (line 23) | const MIN_FRAMES_FOR_DRIFT: u32 = 50; constant EVENT_GATE_DECISION (line 25) | pub const EVENT_GATE_DECISION: i32 = 710; constant EVENT_COHERENCE_SCORE (line 26) | pub const EVENT_COHERENCE_SCORE: i32 = 711; constant EVENT_RECALIBRATE_NEEDED (line 27) | pub const EVENT_RECALIBRATE_NEEDED: i32 = 712; constant GATE_ACCEPT (line 29) | pub const GATE_ACCEPT: f32 = 2.0; constant GATE_PREDICT_ONLY (line 30) | pub const GATE_PREDICT_ONLY: f32 = 1.0; constant GATE_REJECT (line 31) | pub const GATE_REJECT: f32 = 0.0; constant GATE_RECALIBRATE (line 32) | pub const GATE_RECALIBRATE: f32 = -1.0; type GateDecision (line 35) | pub enum GateDecision { method as_f32 (line 43) | pub const fn as_f32(self) -> f32 { type WelfordStats (line 54) | struct WelfordStats { count: u32, mean: f32, m2: f32 } method new (line 57) | const fn new() -> Self { Self { count: 0, mean: 0.0, m2: 0.0 } } method update (line 59) | fn update(&mut self, x: f32) -> (f32, f32) { method variance (line 69) | fn variance(&self) -> f32 { type CoherenceGate (line 75) | pub struct CoherenceGate { method new (line 90) | pub const fn new() -> Self { method process_frame (line 104) | pub fn process_frame(&mut self, phases: &[f32]) -> &[(i32, f32)] { method gate (line 188) | pub fn gate(&self) -> GateDecision { self.gate } method coherence (line 189) | pub fn coherence(&self) -> f32 { self.last_coherence } method zscore (line 190) | pub fn zscore(&self) -> f32 { self.last_zscore } method variance (line 191) | pub fn variance(&self) -> f32 { self.stats.variance() } method frame_count (line 192) | pub fn frame_count(&self) -> u32 { self.frame_count } method reset (line 193) | pub fn reset(&mut self) { *self = Self::new(); } function test_const_new (line 201) | fn test_const_new() { function test_first_frame_no_events (line 208) | fn test_first_frame_no_events() { function test_coherent_stays_accept (line 214) | fn test_coherent_stays_accept() { function test_incoherent_degrades (line 227) | fn test_incoherent_degrades() { function test_recovery (line 248) | fn test_recovery() { function test_reset (line 262) | fn test_reset() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sig_flash_attention.rs constant N_GROUPS (line 16) | const N_GROUPS: usize = 8; constant MAX_SC (line 17) | const MAX_SC: usize = 32; constant ENTROPY_ALPHA (line 18) | const ENTROPY_ALPHA: f32 = 0.15; constant LOG_EPSILON (line 19) | const LOG_EPSILON: f32 = 1e-7; constant MAX_ENTROPY (line 20) | const MAX_ENTROPY: f32 = 2.079; constant EVENT_ATTENTION_PEAK_SC (line 22) | pub const EVENT_ATTENTION_PEAK_SC: i32 = 700; constant EVENT_ATTENTION_SPREAD (line 23) | pub const EVENT_ATTENTION_SPREAD: i32 = 701; constant EVENT_SPATIAL_FOCUS_ZONE (line 24) | pub const EVENT_SPATIAL_FOCUS_ZONE: i32 = 702; type FlashAttention (line 27) | pub struct FlashAttention { method new (line 38) | pub const fn new() -> Self { method process_frame (line 49) | pub fn process_frame(&mut self, phases: &[f32], amplitudes: &[f32]) ->... method weights (line 128) | pub fn weights(&self) -> &[f32; N_GROUPS] { &self.attention_weights } method entropy (line 129) | pub fn entropy(&self) -> f32 { self.smoothed_entropy } method peak_group (line 130) | pub fn peak_group(&self) -> usize { self.last_peak } method centroid (line 131) | pub fn centroid(&self) -> f32 { self.last_centroid } method frame_count (line 132) | pub fn frame_count(&self) -> u32 { self.frame_count } method reset (line 133) | pub fn reset(&mut self) { *self = Self::new(); } function test_const_new (line 141) | fn test_const_new() { function test_first_frame_no_events (line 148) | fn test_first_frame_no_events() { function test_uniform_attention (line 154) | fn test_uniform_attention() { function test_focused_attention (line 164) | fn test_focused_attention() { function test_too_few_subcarriers (line 177) | fn test_too_few_subcarriers() { function test_centroid_range (line 183) | fn test_centroid_range() { function test_reset (line 192) | fn test_reset() { function test_entropy_trend (line 201) | fn test_entropy_trend() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sig_mincut_person_match.rs constant MAX_PERSONS (line 17) | const MAX_PERSONS: usize = 4; constant FEAT_DIM (line 20) | const FEAT_DIM: usize = 8; constant MAX_SC (line 23) | const MAX_SC: usize = 32; constant SIG_ALPHA (line 26) | const SIG_ALPHA: f32 = 0.15; constant MAX_MATCH_DISTANCE (line 29) | const MAX_MATCH_DISTANCE: f32 = 5.0; constant STABLE_FRAMES (line 32) | const STABLE_FRAMES: u16 = 10; constant ABSENT_TIMEOUT (line 35) | const ABSENT_TIMEOUT: u16 = 100; constant UNASSIGNED (line 38) | const UNASSIGNED: u8 = 255; constant EVENT_PERSON_ID_ASSIGNED (line 41) | pub const EVENT_PERSON_ID_ASSIGNED: i32 = 720; constant EVENT_PERSON_ID_SWAP (line 42) | pub const EVENT_PERSON_ID_SWAP: i32 = 721; constant EVENT_MATCH_CONFIDENCE (line 43) | pub const EVENT_MATCH_CONFIDENCE: i32 = 722; type PersonSlot (line 46) | struct PersonSlot { method new (line 55) | const fn new(id: u8) -> Self { type PersonMatcher (line 61) | pub struct PersonMatcher { method new (line 70) | pub const fn new() -> Self { method process_frame (line 87) | pub fn process_frame( method extract_features (line 230) | fn extract_features( method greedy_assign (line 265) | fn greedy_assign( method l2_distance (line 346) | fn l2_distance(&self, a: &[f32; FEAT_DIM], b: &[f32; FEAT_DIM]) -> f32 { method active_persons (line 356) | pub fn active_persons(&self) -> u8 { method total_swaps (line 361) | pub fn total_swaps(&self) -> u32 { method is_person_stable (line 366) | pub fn is_person_stable(&self, slot: usize) -> bool { method person_signature (line 373) | pub fn person_signature(&self, slot: usize) -> Option<&[f32; FEAT_DIM]> { function test_person_matcher_init (line 387) | fn test_person_matcher_init() { function test_no_persons_no_events (line 395) | fn test_no_persons_no_events() { function test_single_person_tracking (line 406) | fn test_single_person_tracking() { function test_two_persons_distinct_signatures (line 427) | fn test_two_persons_distinct_signatures() { function test_person_timeout (line 451) | fn test_person_timeout() { function test_l2_distance_zero (line 471) | fn test_l2_distance_zero() { function test_l2_distance_known (line 478) | fn test_l2_distance_known() { function test_assignment_events_emitted (line 486) | fn test_assignment_events_emitted() { function test_too_few_subcarriers (line 503) | fn test_too_few_subcarriers() { function test_extract_features_sorted (line 514) | fn test_extract_features_sorted() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sig_optimal_transport.rs constant MAX_SC (line 10) | const MAX_SC: usize = 32; constant N_PROJ (line 11) | const N_PROJ: usize = 4; constant ALPHA (line 12) | const ALPHA: f32 = 0.15; constant VAR_ALPHA (line 13) | const VAR_ALPHA: f32 = 0.1; constant WASS_SHIFT (line 14) | const WASS_SHIFT: f32 = 0.25; constant WASS_SUBTLE (line 15) | const WASS_SUBTLE: f32 = 0.10; constant VAR_STABLE (line 16) | const VAR_STABLE: f32 = 0.15; constant SHIFT_DEB (line 17) | const SHIFT_DEB: u8 = 3; constant SUBTLE_DEB (line 18) | const SUBTLE_DEB: u8 = 5; constant EVENT_WASSERSTEIN_DISTANCE (line 20) | pub const EVENT_WASSERSTEIN_DISTANCE: i32 = 725; constant EVENT_DISTRIBUTION_SHIFT (line 21) | pub const EVENT_DISTRIBUTION_SHIFT: i32 = 726; constant EVENT_SUBTLE_MOTION (line 22) | pub const EVENT_SUBTLE_MOTION: i32 = 727; constant PROJ (line 25) | const PROJ: [[f32; MAX_SC]; N_PROJ] = gen_proj(); function gen_proj (line 27) | const fn gen_proj() -> [[f32; MAX_SC]; N_PROJ] { function shell_sort (line 55) | fn shell_sort(a: &mut [f32], n: usize) { type OptimalTransportDetector (line 78) | pub struct OptimalTransportDetector { method new (line 90) | pub const fn new() -> Self { method w1_sorted (line 95) | fn w1_sorted(a: &[f32], b: &[f32], n: usize) -> f32 { method sliced_w (line 102) | fn sliced_w(cur: &[f32], prev: &[f32], n: usize) -> f32 { method variance (line 118) | fn variance(a: &[f32], n: usize) -> f32 { method process_frame (line 128) | pub fn process_frame(&mut self, amplitudes: &[f32]) -> &[(i32, f32)] { method distance (line 178) | pub fn distance(&self) -> f32 { self.smoothed_dist } method variance_smoothed (line 179) | pub fn variance_smoothed(&self) -> f32 { self.smoothed_var } method frame_count (line 180) | pub fn frame_count(&self) -> u32 { self.frame_count } function test_init (line 188) | fn test_init() { let d = OptimalTransportDetector::new(); assert_eq!(d.f... function test_identical_zero (line 191) | fn test_identical_zero() { function test_different_nonzero (line 199) | fn test_different_nonzero() { function test_shift_event (line 207) | fn test_shift_event() { function test_sort (line 224) | fn test_sort() { function test_w1 (line 230) | fn test_w1() { function test_proj_normalized (line 236) | fn test_proj_normalized() { function test_variance_calc (line 244) | fn test_variance_calc() { function test_stable_no_events (line 250) | fn test_stable_no_events() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sig_sparse_recovery.rs constant MAX_SC (line 21) | const MAX_SC: usize = 32; constant NULL_THRESHOLD (line 24) | const NULL_THRESHOLD: f32 = 0.001; constant MIN_DROPOUT_RATE (line 27) | const MIN_DROPOUT_RATE: f32 = 0.10; constant MAX_ITERATIONS (line 30) | const MAX_ITERATIONS: usize = 10; constant STEP_SIZE (line 33) | const STEP_SIZE: f32 = 0.05; constant LAMBDA (line 36) | const LAMBDA: f32 = 0.01; constant CORR_ALPHA (line 39) | const CORR_ALPHA: f32 = 0.05; constant NEIGHBORS (line 43) | const NEIGHBORS: usize = 3; constant EVENT_RECOVERY_COMPLETE (line 46) | pub const EVENT_RECOVERY_COMPLETE: i32 = 715; constant EVENT_RECOVERY_ERROR (line 47) | pub const EVENT_RECOVERY_ERROR: i32 = 716; constant EVENT_DROPOUT_RATE (line 48) | pub const EVENT_DROPOUT_RATE: i32 = 717; function soft_threshold (line 54) | fn soft_threshold(x: f32, t: f32) -> f32 { type SparseRecovery (line 66) | pub struct SparseRecovery { method new (line 88) | pub const fn new() -> Self { method process_frame (line 106) | pub fn process_frame(&mut self, amplitudes: &mut [f32]) -> &[(i32, f32... method update_correlation (line 177) | fn update_correlation(&mut self, amplitudes: &[f32], n_sc: usize) { method ista_recover (line 210) | fn ista_recover( method dropout_rate (line 305) | pub fn dropout_rate(&self) -> f32 { method last_residual_norm (line 310) | pub fn last_residual_norm(&self) -> f32 { method last_recovered_count (line 315) | pub fn last_recovered_count(&self) -> u32 { method is_initialized (line 320) | pub fn is_initialized(&self) -> bool { function test_sparse_recovery_init (line 330) | fn test_sparse_recovery_init() { function test_soft_threshold (line 338) | fn test_soft_threshold() { function test_no_recovery_below_threshold (line 347) | fn test_no_recovery_below_threshold() { function test_correlation_model_builds (line 361) | fn test_correlation_model_builds() { function test_recovery_triggered_above_threshold (line 374) | fn test_recovery_triggered_above_threshold() { function test_recovered_values_nonzero (line 409) | fn test_recovered_values_nonzero() { function test_dropout_rate_event (line 434) | fn test_dropout_rate_event() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/sig_temporal_compress.rs constant SUBS (line 9) | const SUBS: usize = 8; constant VALS (line 10) | const VALS: usize = SUBS * 2; constant CAP (line 11) | const CAP: usize = 512; constant HOT_END (line 12) | const HOT_END: usize = 64; constant WARM_END (line 13) | const WARM_END: usize = 256; constant HOT_Q (line 14) | const HOT_Q: u32 = 255; constant WARM_Q (line 15) | const WARM_Q: u32 = 31; constant COLD_Q (line 16) | const COLD_Q: u32 = 7; constant RATE_ALPHA (line 17) | const RATE_ALPHA: f32 = 0.05; constant EVENT_COMPRESSION_RATIO (line 19) | pub const EVENT_COMPRESSION_RATIO: i32 = 705; constant EVENT_TIER_TRANSITION (line 20) | pub const EVENT_TIER_TRANSITION: i32 = 706; constant EVENT_HISTORY_DEPTH_HOURS (line 21) | pub const EVENT_HISTORY_DEPTH_HOURS: i32 = 707; type Tier (line 24) | pub enum Tier { Hot = 0, Warm = 1, Cold = 2 } method levels (line 27) | const fn levels(self) -> u32 { match self { Tier::Hot => HOT_Q, Tier::... method for_age (line 28) | const fn for_age(age: usize) -> Self { type Snap (line 34) | struct Snap { data: [u8; VALS], scale: f32, tier: Tier, valid: bool } method empty (line 35) | const fn empty() -> Self { Self { data: [0; VALS], scale: 1.0, tier: T... function quantize (line 37) | fn quantize(v: f32, scale: f32, levels: u32) -> u8 { function dequantize (line 44) | fn dequantize(q: u8, scale: f32, levels: u32) -> f32 { type TemporalCompressor (line 49) | pub struct TemporalCompressor { method new (line 60) | pub const fn new() -> Self { method occ (line 65) | fn occ(&self) -> usize { if (self.total as usize) < CAP { self.total a... method push_frame (line 68) | pub fn push_frame(&mut self, phases: &[f32], amps: &[f32], ts_ms: u32)... method on_timer (line 126) | pub fn on_timer(&self) -> &[(i32, f32)] { method calc_ratio (line 135) | fn calc_ratio(&self, occ: usize) -> f32 { method history_hours (line 150) | fn history_hours(&self) -> f32 { method get_snapshot (line 156) | pub fn get_snapshot(&self, age: usize) -> Option<[f32; VALS]> { method compression_ratio (line 167) | pub fn compression_ratio(&self) -> f32 { self.ratio } method frame_rate (line 168) | pub fn frame_rate(&self) -> f32 { self.frame_rate } method total_written (line 169) | pub fn total_written(&self) -> u32 { self.total } method occupied (line 170) | pub fn occupied(&self) -> usize { self.occ() } function test_init (line 178) | fn test_init() { let tc = TemporalCompressor::new(); assert_eq!(tc.total... function test_push_retrieve (line 181) | fn test_push_retrieve() { function test_tiers (line 191) | fn test_tiers() { function test_hot_quantize (line 198) | fn test_hot_quantize() { function test_ratio_increases (line 208) | fn test_ratio_increases() { function test_wrap (line 216) | fn test_wrap() { function test_frame_rate (line 224) | fn test_frame_rate() { function test_timer (line 232) | fn test_timer() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/spt_micro_hnsw.rs constant MAX_VECTORS (line 11) | const MAX_VECTORS: usize = 64; constant DIM (line 12) | const DIM: usize = 8; constant MAX_NEIGHBORS (line 13) | const MAX_NEIGHBORS: usize = 4; constant _ (line 16) | const _: () = assert!(MAX_VECTORS <= 255, "MAX_VECTORS must fit in u8 fo... constant BEAM_WIDTH (line 17) | const BEAM_WIDTH: usize = 4; constant MAX_HOPS (line 18) | const MAX_HOPS: usize = 8; constant CLASS_UNKNOWN (line 19) | const CLASS_UNKNOWN: u8 = 255; constant MATCH_THRESHOLD (line 20) | const MATCH_THRESHOLD: f32 = 2.0; constant EVENT_NEAREST_MATCH_ID (line 22) | pub const EVENT_NEAREST_MATCH_ID: i32 = 765; constant EVENT_MATCH_DISTANCE (line 23) | pub const EVENT_MATCH_DISTANCE: i32 = 766; constant EVENT_CLASSIFICATION (line 24) | pub const EVENT_CLASSIFICATION: i32 = 767; constant EVENT_LIBRARY_SIZE (line 25) | pub const EVENT_LIBRARY_SIZE: i32 = 768; type HnswNode (line 27) | struct HnswNode { method empty (line 35) | const fn empty() -> Self { function l2_sq (line 41) | fn l2_sq(a: &[f32; DIM], b: &[f32; DIM]) -> f32 { function l2_query (line 49) | fn l2_query(stored: &[f32; DIM], query: &[f32]) -> f32 { type MicroHnsw (line 58) | pub struct MicroHnsw { method new (line 68) | pub const fn new() -> Self { method insert (line 77) | pub fn insert(&mut self, vec: &[f32], label: u8) -> Option { method add_edge (line 122) | fn add_edge(&mut self, from: usize, to: usize) { method search (line 150) | pub fn search(&self, query: &[f32]) -> (usize, f32) { method process_frame (line 194) | pub fn process_frame(&mut self, features: &[f32]) -> &[(i32, f32)] { method size (line 218) | pub fn size(&self) -> usize { self.n_vectors } method last_label (line 220) | pub fn last_label(&self) -> u8 { method last_match_distance (line 226) | pub fn last_match_distance(&self) -> f32 { self.last_distance } function test_const_constructor (line 234) | fn test_const_constructor() { function test_insert_single (line 241) | fn test_insert_single() { function test_insert_and_search_exact (line 249) | fn test_insert_and_search_exact() { function test_search_nearest (line 261) | fn test_search_nearest() { function test_capacity_limit (line 272) | fn test_capacity_limit() { function test_process_frame_empty (line 283) | fn test_process_frame_empty() { function test_process_frame_with_data (line 291) | fn test_process_frame_with_data() { function test_classification_unknown_far (line 303) | fn test_classification_unknown_far() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/spt_pagerank_influence.rs constant MAX_PERSONS (line 15) | const MAX_PERSONS: usize = 4; constant SC_PER_PERSON (line 18) | const SC_PER_PERSON: usize = 8; constant MAX_SC (line 21) | const MAX_SC: usize = MAX_PERSONS * SC_PER_PERSON; constant DAMPING (line 24) | const DAMPING: f32 = 0.85; constant PR_ITERS (line 27) | const PR_ITERS: usize = 10; constant ALPHA (line 30) | const ALPHA: f32 = 0.15; constant CHANGE_THRESHOLD (line 33) | const CHANGE_THRESHOLD: f32 = 0.05; constant EVENT_DOMINANT_PERSON (line 38) | pub const EVENT_DOMINANT_PERSON: i32 = 760; constant EVENT_INFLUENCE_SCORE (line 41) | pub const EVENT_INFLUENCE_SCORE: i32 = 761; constant EVENT_INFLUENCE_CHANGE (line 45) | pub const EVENT_INFLUENCE_CHANGE: i32 = 762; type PageRankInfluence (line 50) | pub struct PageRankInfluence { method new (line 64) | pub const fn new() -> Self { method process_frame (line 80) | pub fn process_frame(&mut self, phases: &[f32], n_persons: usize) -> &... method build_adjacency (line 101) | fn build_adjacency(&mut self, phases: &[f32], n_sc: usize, np: usize) { method cross_correlation (line 113) | fn cross_correlation(&self, phases: &[f32], n_sc: usize, a: usize, b: ... method power_iteration (line 144) | fn power_iteration(&mut self, np: usize) { method build_events (line 194) | fn build_events(&self, np: usize) -> &[(i32, f32)] { method rank (line 237) | pub fn rank(&self, person: usize) -> f32 { method dominant_person (line 242) | pub fn dominant_person(&self) -> usize { function test_const_constructor (line 260) | fn test_const_constructor() { function test_single_person (line 271) | fn test_single_person() { function test_two_persons_symmetric (line 282) | fn test_two_persons_symmetric() { function test_dominant_person_detection (line 301) | fn test_dominant_person_detection() { function test_cross_correlation_orthogonal (line 317) | fn test_cross_correlation_orthogonal() { function test_influence_change_event (line 333) | fn test_influence_change_event() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/spt_spiking_tracker.rs constant N_INPUT (line 15) | const N_INPUT: usize = 32; constant N_OUTPUT (line 18) | const N_OUTPUT: usize = 4; constant INPUTS_PER_ZONE (line 21) | const INPUTS_PER_ZONE: usize = N_INPUT / N_OUTPUT; constant THRESHOLD (line 24) | const THRESHOLD: f32 = 1.0; constant LEAK (line 27) | const LEAK: f32 = 0.95; constant RESET (line 30) | const RESET: f32 = 0.0; constant STDP_LR_PLUS (line 33) | const STDP_LR_PLUS: f32 = 0.01; constant STDP_LR_MINUS (line 36) | const STDP_LR_MINUS: f32 = 0.005; constant STDP_WINDOW (line 39) | const STDP_WINDOW: u32 = 1; constant RATE_ALPHA (line 42) | const RATE_ALPHA: f32 = 0.1; constant VEL_ALPHA (line 45) | const VEL_ALPHA: f32 = 0.2; constant MIN_SPIKE_RATE (line 48) | const MIN_SPIKE_RATE: f32 = 0.05; constant W_MIN (line 51) | const W_MIN: f32 = 0.0; constant W_MAX (line 52) | const W_MAX: f32 = 2.0; constant EVENT_TRACK_UPDATE (line 57) | pub const EVENT_TRACK_UPDATE: i32 = 770; constant EVENT_TRACK_VELOCITY (line 60) | pub const EVENT_TRACK_VELOCITY: i32 = 771; constant EVENT_SPIKE_RATE (line 63) | pub const EVENT_SPIKE_RATE: i32 = 772; constant EVENT_TRACK_LOST (line 66) | pub const EVENT_TRACK_LOST: i32 = 773; type SpikingTracker (line 71) | pub struct SpikingTracker { method new (line 98) | pub const fn new() -> Self { method process_frame (line 132) | pub fn process_frame(&mut self, phases: &[f32], prev_phases: &[f32]) -... method build_events (line 245) | fn build_events(&self, zone: i8, was_active: bool) -> &[(i32, f32)] { method current_zone (line 284) | pub fn current_zone(&self) -> i8 { method zone_spike_rate (line 289) | pub fn zone_spike_rate(&self, zone: usize) -> f32 { method velocity (line 294) | pub fn velocity(&self) -> f32 { method is_tracking (line 299) | pub fn is_tracking(&self) -> bool { function test_const_constructor (line 311) | fn test_const_constructor() { function test_initial_weights (line 320) | fn test_initial_weights() { function test_no_activity_no_track (line 331) | fn test_no_activity_no_track() { function test_zone_activation (line 341) | fn test_zone_activation() { function test_zone_transition_velocity (line 364) | fn test_zone_transition_velocity() { function test_stdp_strengthens_active_connections (line 392) | fn test_stdp_strengthens_active_connections() { function test_track_lost_event (line 412) | fn test_track_lost_event() { function test_membrane_leak (line 444) | fn test_membrane_leak() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/tmp_goap_autonomy.rs constant NUM_PROPS (line 9) | const NUM_PROPS: usize = 8; constant NUM_GOALS (line 10) | const NUM_GOALS: usize = 6; constant NUM_ACTIONS (line 11) | const NUM_ACTIONS: usize = 8; constant MAX_PLAN_DEPTH (line 12) | const MAX_PLAN_DEPTH: usize = 4; constant OPEN_SET_CAP (line 13) | const OPEN_SET_CAP: usize = 32; constant MOTION_THRESH (line 14) | const MOTION_THRESH: f32 = 0.1; constant COHERENCE_THRESH (line 15) | const COHERENCE_THRESH: f32 = 0.4; constant THREAT_THRESH (line 16) | const THREAT_THRESH: f32 = 0.7; constant EVENT_GOAL_SELECTED (line 18) | pub const EVENT_GOAL_SELECTED: i32 = 800; constant EVENT_MODULE_ACTIVATED (line 19) | pub const EVENT_MODULE_ACTIVATED: i32 = 801; constant EVENT_MODULE_DEACTIVATED (line 20) | pub const EVENT_MODULE_DEACTIVATED: i32 = 802; constant EVENT_PLAN_COST (line 21) | pub const EVENT_PLAN_COST: i32 = 803; constant P_PRES (line 24) | const P_PRES: usize = 0; constant P_MOT (line 25) | const P_MOT: usize = 1; constant P_NITE (line 26) | const P_NITE: usize = 2; constant P_MULT (line 27) | const P_MULT: usize = 3; constant P_LCOH (line 28) | const P_LCOH: usize = 4; constant P_THRT (line 29) | const P_THRT: usize = 5; constant P_VIT (line 30) | const P_VIT: usize = 6; constant P_LRN (line 31) | const P_LRN: usize = 7; type WorldState (line 33) | type WorldState = u8; function ws_get (line 34) | const fn ws_get(ws: WorldState, p: usize) -> bool { (ws >> p) & 1 != 0 } function ws_set (line 35) | const fn ws_set(ws: WorldState, p: usize, v: bool) -> WorldState { type Goal (line 39) | struct Goal { prop: usize, val: bool, priority: f32 } constant GOALS (line 40) | const GOALS: [Goal; NUM_GOALS] = [ type Action (line 50) | struct Action { pre_mask: u8, pre_vals: u8, eset: u8, eclr: u8, cost: u8 } method ok (line 52) | const fn ok(&self, ws: WorldState) -> bool { (ws & self.pre_mask) == (... method apply (line 53) | const fn apply(&self, ws: WorldState) -> WorldState { (ws | self.eset)... constant ACTIONS (line 55) | const ACTIONS: [Action; NUM_ACTIONS] = [ type PlanNode (line 67) | struct PlanNode { method empty (line 71) | const fn empty() -> Self { Self { ws: 0, g: 0, f: 0, depth: 0, acts: [... type GoapPlanner (line 75) | pub struct GoapPlanner { method new (line 88) | pub const fn new() -> Self { method update_world (line 100) | pub fn update_world(&mut self, presence: i32, motion: f32, n_persons: ... method on_timer (line 113) | pub fn on_timer(&mut self) -> &[(i32, f32)] { method select_goal (line 150) | fn select_goal(&self) -> u8 { method plan_for_goal (line 165) | fn plan_for_goal(&mut self, gid: usize) -> u8 { method world_state (line 207) | pub fn world_state(&self) -> u8 { self.world_state } method current_goal (line 208) | pub fn current_goal(&self) -> u8 { self.current_goal } method plan_len (line 209) | pub fn plan_len(&self) -> u8 { self.plan_len } method plan_step (line 210) | pub fn plan_step(&self) -> u8 { self.plan_step } method has_property (line 211) | pub fn has_property(&self, p: usize) -> bool { p < NUM_PROPS && ws_get... method set_goal_priority (line 212) | pub fn set_goal_priority(&mut self, gid: usize, priority: f32) { function test_init (line 222) | fn test_init() { function test_world_state_update (line 230) | fn test_world_state_update() { function test_ws_bit_ops (line 243) | fn test_ws_bit_ops() { function test_goal_selection_highest_priority (line 251) | fn test_goal_selection_highest_priority() { function test_goal_satisfied_skipped (line 257) | fn test_goal_satisfied_skipped() { function test_action_preconditions (line 264) | fn test_action_preconditions() { function test_action_effects (line 270) | fn test_action_effects() { function test_plan_simple (line 276) | fn test_plan_simple() { function test_plan_already_satisfied (line 284) | fn test_plan_already_satisfied() { function test_plan_execution (line 292) | fn test_plan_execution() { function test_step_execution_emits_events (line 300) | fn test_step_execution_emits_events() { function test_set_goal_priority (line 310) | fn test_set_goal_priority() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/tmp_pattern_sequence.rs constant DAY_LEN (line 9) | const DAY_LEN: usize = 1440; constant MAX_PATTERNS (line 10) | const MAX_PATTERNS: usize = 32; constant PATTERN_LEN (line 11) | const PATTERN_LEN: usize = 16; constant MIN_PATTERN_LEN (line 12) | const MIN_PATTERN_LEN: usize = 5; constant LCS_WINDOW (line 13) | const LCS_WINDOW: usize = 60; constant THRESH_STILL (line 14) | const THRESH_STILL: f32 = 0.05; constant THRESH_LOW (line 15) | const THRESH_LOW: f32 = 0.3; constant THRESH_HIGH (line 16) | const THRESH_HIGH: f32 = 0.7; constant EVENT_PATTERN_DETECTED (line 18) | pub const EVENT_PATTERN_DETECTED: i32 = 790; constant EVENT_PATTERN_CONFIDENCE (line 19) | pub const EVENT_PATTERN_CONFIDENCE: i32 = 791; constant EVENT_ROUTINE_DEVIATION (line 20) | pub const EVENT_ROUTINE_DEVIATION: i32 = 792; constant EVENT_PREDICTION_NEXT (line 21) | pub const EVENT_PREDICTION_NEXT: i32 = 793; type Symbol (line 24) | pub enum Symbol { Empty=0, Still=1, LowMotion=2, HighMotion=3, MultiPers... method from_readings (line 26) | pub fn from_readings(presence: i32, motion: f32, n_persons: i32) -> Se... type PatternEntry (line 36) | struct PatternEntry { symbols: [u8; PATTERN_LEN], len: u8, hit_count: u16 } method empty (line 37) | const fn empty() -> Self { Self { symbols: [0; PATTERN_LEN], len: 0, h... type PatternSequenceAnalyzer (line 40) | pub struct PatternSequenceAnalyzer { method new (line 56) | pub const fn new() -> Self { method on_frame (line 66) | pub fn on_frame(&mut self, presence: i32, motion: f32, n_persons: i32) { method on_timer (line 73) | pub fn on_timer(&mut self) -> &[(i32, f32)] { method majority_symbol (line 117) | fn majority_symbol(&self) -> Symbol { method rollover_day (line 127) | fn rollover_day(&mut self) { method compute_lcs (line 136) | fn compute_lcs(&mut self, start: usize, len: usize) -> usize { method store_pattern (line 158) | fn store_pattern(&mut self, start: usize, len: usize) { method routine_confidence (line 182) | pub fn routine_confidence(&self) -> f32 { self.routine_confidence } method pattern_count (line 183) | pub fn pattern_count(&self) -> u8 { self.n_patterns } method current_minute (line 184) | pub fn current_minute(&self) -> u16 { self.minute_counter } method day_offset (line 185) | pub fn day_offset(&self) -> u32 { self.day_offset } function test_symbol_discretization (line 192) | fn test_symbol_discretization() { function test_init (line 200) | fn test_init() { function test_frame_accumulation (line 207) | fn test_frame_accumulation() { function test_minute_commit (line 213) | fn test_minute_commit() { function test_day_rollover (line 220) | fn test_day_rollover() { function test_lcs_identical (line 229) | fn test_lcs_identical() { function test_lcs_different (line 236) | fn test_lcs_different() { function test_pattern_storage (line 243) | fn test_pattern_storage() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/tmp_temporal_logic_guard.rs constant NUM_RULES (line 9) | const NUM_RULES: usize = 8; constant FAST_BREATH_DEADLINE (line 10) | const FAST_BREATH_DEADLINE: u32 = 100; constant SEIZURE_EXCLUSION (line 11) | const SEIZURE_EXCLUSION: u32 = 1200; constant MOTION_STOP_DEADLINE (line 12) | const MOTION_STOP_DEADLINE: u32 = 6000; constant EVENT_LTL_VIOLATION (line 14) | pub const EVENT_LTL_VIOLATION: i32 = 795; constant EVENT_LTL_SATISFACTION (line 15) | pub const EVENT_LTL_SATISFACTION: i32 = 796; constant EVENT_COUNTEREXAMPLE (line 16) | pub const EVENT_COUNTEREXAMPLE: i32 = 797; type FrameInput (line 20) | pub struct FrameInput { method default (line 27) | pub const fn default() -> Self { type RuleState (line 36) | pub enum RuleState { Satisfied=0, Violated=1, Pending=2 } type Rule (line 39) | struct Rule { state: RuleState, deadline: u32, vio_frame: u32 } method new (line 40) | const fn new() -> Self { Self { state: RuleState::Satisfied, deadline:... type TemporalLogicGuard (line 43) | pub struct TemporalLogicGuard { method new (line 51) | pub const fn new() -> Self { method on_frame (line 57) | pub fn on_frame(&mut self, input: &FrameInput) -> &[(i32, f32)] { method check_deadline_rule (line 140) | fn check_deadline_rule(&mut self, rid: usize, cond: bool, deadline: u3... method satisfied_count (line 166) | pub fn satisfied_count(&self) -> u8 { method violation_count (line 171) | pub fn violation_count(&self, r: usize) -> u32 { if r < NUM_RULES { se... method rule_state (line 172) | pub fn rule_state(&self, r: usize) -> RuleState { method last_violation_frame (line 175) | pub fn last_violation_frame(&self, r: usize) -> u32 { method frame_index (line 178) | pub fn frame_index(&self) -> u32 { self.frame_idx } function normal (line 185) | fn normal() -> FrameInput { function test_init (line 192) | fn test_init() { function test_normal_all_satisfied (line 197) | fn test_normal_all_satisfied() { function test_motion_causes_pending (line 203) | fn test_motion_causes_pending() { function test_rule0_fall_empty (line 211) | fn test_rule0_fall_empty() { function test_rule1_intrusion (line 219) | fn test_rule1_intrusion() { function test_rule2_person_id (line 226) | fn test_rule2_person_id() { function test_rule3_low_coherence (line 233) | fn test_rule3_low_coherence() { function test_rule4_motion_stops (line 240) | fn test_rule4_motion_stops() { function test_rule6_high_hr (line 249) | fn test_rule6_high_hr() { function test_rule7_seizure (line 256) | fn test_rule7_seizure() { function test_recovery (line 267) | fn test_recovery() { function test_periodic_report (line 276) | fn test_periodic_report() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/vendor_common.rs type VendorModuleState (line 16) | pub trait VendorModuleState { method init (line 18) | fn init(&mut self); method process (line 22) | fn process(&mut self, n_subcarriers: usize); method timer (line 25) | fn timer(&mut self); type CircularBuffer (line 34) | pub struct CircularBuffer { function new (line 42) | pub const fn new() -> Self { function push (line 51) | pub fn push(&mut self, value: f32) { function len (line 60) | pub const fn len(&self) -> usize { function is_empty (line 65) | pub const fn is_empty(&self) -> bool { function is_full (line 70) | pub const fn is_full(&self) -> bool { function get (line 76) | pub fn get(&self, i: usize) -> f32 { function latest (line 86) | pub fn latest(&self) -> f32 { function copy_recent (line 96) | pub fn copy_recent(&self, out: &mut [f32]) -> usize { function clear (line 106) | pub fn clear(&mut self) { function capacity (line 112) | pub const fn capacity(&self) -> usize { type Ema (line 124) | pub struct Ema { method new (line 135) | pub const fn new(alpha: f32) -> Self { method with_initial (line 144) | pub const fn with_initial(alpha: f32, initial: f32) -> Self { method update (line 153) | pub fn update(&mut self, sample: f32) -> f32 { method reset (line 164) | pub fn reset(&mut self) { method is_initialized (line 170) | pub const fn is_initialized(&self) -> bool { type WelfordStats (line 179) | pub struct WelfordStats { method new (line 186) | pub const fn new() -> Self { method update (line 195) | pub fn update(&mut self, x: f32) { method mean (line 204) | pub const fn mean(&self) -> f32 { method variance (line 209) | pub fn variance(&self) -> f32 { method sample_variance (line 217) | pub fn sample_variance(&self) -> f32 { method std_dev (line 225) | pub fn std_dev(&self) -> f32 { method count (line 230) | pub const fn count(&self) -> u32 { method reset (line 235) | pub fn reset(&mut self) { function dot_product (line 245) | pub fn dot_product(a: &[f32], b: &[f32]) -> f32 { function l2_norm (line 255) | pub fn l2_norm(a: &[f32]) -> f32 { function cosine_similarity (line 264) | pub fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 { function l2_distance_sq (line 276) | pub fn l2_distance_sq(a: &[f32], b: &[f32]) -> f32 { function l2_distance (line 287) | pub fn l2_distance(a: &[f32], b: &[f32]) -> f32 { constant DTW_MAX_LEN (line 295) | pub const DTW_MAX_LEN: usize = 64; function dtw_distance (line 302) | pub fn dtw_distance(a: &[f32], b: &[f32]) -> f32 { function dtw_distance_banded (line 341) | pub fn dtw_distance_banded(a: &[f32], b: &[f32], band: usize) -> f32 { type FixedPriorityQueue (line 390) | pub struct FixedPriorityQueue { function new (line 397) | pub const fn new() -> Self { function insert (line 407) | pub fn insert(&mut self, score: f32, id: u16) { function len (line 430) | pub const fn len(&self) -> usize { function is_empty (line 435) | pub const fn is_empty(&self) -> bool { function peek_max (line 440) | pub fn peek_max(&self) -> Option<(f32, u16)> { function peek_min (line 456) | pub fn peek_min(&self) -> Option<(f32, u16)> { function get (line 472) | pub fn get(&self, i: usize) -> (f32, u16) { function clear (line 480) | pub fn clear(&mut self) { function ids (line 485) | pub fn ids(&self, out: &mut [u16]) -> usize { function circular_buffer_basic (line 501) | fn circular_buffer_basic() { function circular_buffer_copy_recent (line 523) | fn circular_buffer_copy_recent() { function ema_basic (line 536) | fn ema_basic() { function welford_basic (line 546) | fn welford_basic() { function dot_product_test (line 562) | fn dot_product_test() { function l2_norm_test (line 569) | fn l2_norm_test() { function cosine_similarity_identical (line 575) | fn cosine_similarity_identical() { function cosine_similarity_orthogonal (line 581) | fn cosine_similarity_orthogonal() { function l2_distance_test (line 588) | fn l2_distance_test() { function dtw_identical_sequences (line 595) | fn dtw_identical_sequences() { function dtw_shifted_sequences (line 602) | fn dtw_shifted_sequences() { function dtw_banded_matches_full_on_aligned (line 611) | fn dtw_banded_matches_full_on_aligned() { function priority_queue_basic (line 619) | fn priority_queue_basic() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/src/vital_trend.rs constant WINDOW_1M (line 15) | const WINDOW_1M: usize = 60; constant WINDOW_5M (line 16) | const WINDOW_5M: usize = 300; constant MAX_HISTORY (line 19) | const MAX_HISTORY: usize = 300; constant BRADYPNEA_THRESH (line 22) | const BRADYPNEA_THRESH: f32 = 12.0; constant TACHYPNEA_THRESH (line 23) | const TACHYPNEA_THRESH: f32 = 25.0; constant BRADYCARDIA_THRESH (line 24) | const BRADYCARDIA_THRESH: f32 = 50.0; constant TACHYCARDIA_THRESH (line 25) | const TACHYCARDIA_THRESH: f32 = 120.0; constant APNEA_SECONDS (line 26) | const APNEA_SECONDS: u32 = 20; constant ALERT_DEBOUNCE (line 29) | const ALERT_DEBOUNCE: u8 = 5; constant EVENT_VITAL_TREND (line 32) | pub const EVENT_VITAL_TREND: i32 = 100; constant EVENT_BRADYPNEA (line 33) | pub const EVENT_BRADYPNEA: i32 = 101; constant EVENT_TACHYPNEA (line 34) | pub const EVENT_TACHYPNEA: i32 = 102; constant EVENT_BRADYCARDIA (line 35) | pub const EVENT_BRADYCARDIA: i32 = 103; constant EVENT_TACHYCARDIA (line 36) | pub const EVENT_TACHYCARDIA: i32 = 104; constant EVENT_APNEA (line 37) | pub const EVENT_APNEA: i32 = 105; constant EVENT_BREATHING_AVG (line 38) | pub const EVENT_BREATHING_AVG: i32 = 110; constant EVENT_HEARTRATE_AVG (line 39) | pub const EVENT_HEARTRATE_AVG: i32 = 111; type VitalHistory (line 42) | struct VitalHistory { method new (line 49) | const fn new() -> Self { method push (line 57) | fn push(&mut self, val: f32) { method mean_last (line 66) | fn mean_last(&self, n: usize) -> f32 { method all_below (line 81) | fn all_below(&self, n: usize, threshold: f32) -> bool { method all_above (line 97) | fn all_above(&self, n: usize, threshold: f32) -> bool { method trend (line 112) | fn trend(&self, n: usize) -> f32 { type VitalTrendAnalyzer (line 139) | pub struct VitalTrendAnalyzer { method new (line 154) | pub const fn new() -> Self { method on_timer (line 170) | pub fn on_timer(&mut self, breathing_bpm: f32, heartrate_bpm: f32) -> ... method breathing_avg_1m (line 265) | pub fn breathing_avg_1m(&self) -> f32 { method breathing_trend_5m (line 270) | pub fn breathing_trend_5m(&self) -> f32 { function test_vital_trend_init (line 280) | fn test_vital_trend_init() { function test_normal_vitals_no_alerts (line 287) | fn test_normal_vitals_no_alerts() { function test_apnea_detection (line 305) | fn test_apnea_detection() { function test_tachycardia_detection (line 322) | fn test_tachycardia_detection() { function test_breathing_average (line 339) | fn test_breathing_average() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/tests/budget_compliance.rs constant N_ITER (line 55) | const N_ITER: usize = 100; function synthetic_phases (line 57) | fn synthetic_phases(n: usize, seed: u32) -> Vec { function synthetic_amplitudes (line 67) | fn synthetic_amplitudes(n: usize, seed: u32) -> Vec { type BudgetResult (line 77) | struct BudgetResult { function measure_and_check (line 87) | fn measure_and_check( function print_result (line 115) | fn print_result(r: &BudgetResult) { function budget_sig_coherence_gate (line 134) | fn budget_sig_coherence_gate() { function budget_sig_flash_attention (line 145) | fn budget_sig_flash_attention() { function budget_sig_sparse_recovery (line 157) | fn budget_sig_sparse_recovery() { function budget_sig_temporal_compress (line 168) | fn budget_sig_temporal_compress() { function budget_sig_optimal_transport (line 180) | fn budget_sig_optimal_transport() { function budget_sig_mincut_person_match (line 191) | fn budget_sig_mincut_person_match() { function budget_lrn_dtw_gesture_learn (line 207) | fn budget_lrn_dtw_gesture_learn() { function budget_lrn_anomaly_attractor (line 218) | fn budget_lrn_anomaly_attractor() { function budget_lrn_meta_adapt (line 230) | fn budget_lrn_meta_adapt() { function budget_lrn_ewc_lifelong (line 241) | fn budget_lrn_ewc_lifelong() { function budget_spt_micro_hnsw (line 256) | fn budget_spt_micro_hnsw() { function budget_spt_pagerank_influence (line 272) | fn budget_spt_pagerank_influence() { function budget_spt_spiking_tracker (line 283) | fn budget_spt_spiking_tracker() { function budget_tmp_pattern_sequence (line 299) | fn budget_tmp_pattern_sequence() { function budget_tmp_temporal_logic_guard (line 309) | fn budget_tmp_temporal_logic_guard() { function budget_tmp_goap_autonomy (line 333) | fn budget_tmp_goap_autonomy() { function budget_ais_prompt_shield (line 348) | fn budget_ais_prompt_shield() { function budget_ais_behavioral_profiler (line 360) | fn budget_ais_behavioral_profiler() { function budget_qnt_quantum_coherence (line 374) | fn budget_qnt_quantum_coherence() { function budget_qnt_interference_search (line 385) | fn budget_qnt_interference_search() { function budget_aut_psycho_symbolic (line 399) | fn budget_aut_psycho_symbolic() { function budget_aut_self_healing_mesh (line 416) | fn budget_aut_self_healing_mesh() { function budget_exo_time_crystal (line 432) | fn budget_exo_time_crystal() { function budget_exo_hyperbolic_space (line 443) | fn budget_exo_hyperbolic_space() { function budget_summary_all_24_modules (line 458) | fn budget_summary_all_24_modules() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/tests/vendor_modules_bench.rs constant BENCH_ITERS (line 59) | const BENCH_ITERS: usize = 1000; function synthetic_phases (line 61) | fn synthetic_phases(n: usize, seed: u32) -> Vec { function synthetic_amplitudes (line 71) | fn synthetic_amplitudes(n: usize, seed: u32) -> Vec { type BenchResult (line 82) | struct BenchResult { function bench_module (line 94) | fn bench_module(name: &'static str, tier: &'static str, mut body: impl F... function print_bench_table (line 126) | fn print_bench_table(results: &[BenchResult]) { function bench_all_24_vendor_modules (line 144) | fn bench_all_24_vendor_modules() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm-edge/tests/vendor_modules_test.rs function coherent_phases (line 75) | fn coherent_phases(n: usize, value: f32) -> Vec { function incoherent_phases (line 80) | fn incoherent_phases(n: usize) -> Vec { function sine_amplitudes (line 87) | fn sine_amplitudes(n: usize, amplitude: f32, period: usize) -> Vec { function uniform_amplitudes (line 97) | fn uniform_amplitudes(n: usize, value: f32) -> Vec { function ramp_amplitudes (line 102) | fn ramp_amplitudes(n: usize, start: f32, end: f32) -> Vec { function person_variance_pattern (line 109) | fn person_variance_pattern(n: usize, pattern_id: usize) -> Vec { function normal_frame_input (line 119) | fn normal_frame_input() -> FrameInput { function sig_coherence_gate_init (line 141) | fn sig_coherence_gate_init() { function sig_coherence_gate_accepts_coherent_signal (line 148) | fn sig_coherence_gate_accepts_coherent_signal() { function sig_coherence_gate_coherence_drops_with_noisy_deltas (line 163) | fn sig_coherence_gate_coherence_drops_with_noisy_deltas() { function sig_flash_attention_init (line 196) | fn sig_flash_attention_init() { function sig_flash_attention_produces_weights (line 202) | fn sig_flash_attention_produces_weights() { function sig_flash_attention_focused_activity (line 218) | fn sig_flash_attention_focused_activity() { function sig_temporal_compress_init (line 245) | fn sig_temporal_compress_init() { function sig_temporal_compress_stores_frames (line 252) | fn sig_temporal_compress_stores_frames() { function sig_temporal_compress_compression_ratio (line 264) | fn sig_temporal_compress_compression_ratio() { function sig_sparse_recovery_init (line 284) | fn sig_sparse_recovery_init() { function sig_sparse_recovery_no_dropout_passthrough (line 291) | fn sig_sparse_recovery_no_dropout_passthrough() { function sig_sparse_recovery_handles_dropout (line 306) | fn sig_sparse_recovery_handles_dropout() { function sig_mincut_person_match_init (line 330) | fn sig_mincut_person_match_init() { function sig_mincut_person_match_tracks_one_person (line 337) | fn sig_mincut_person_match_tracks_one_person() { function sig_mincut_person_match_too_few_subcarriers (line 348) | fn sig_mincut_person_match_too_few_subcarriers() { function sig_optimal_transport_init (line 361) | fn sig_optimal_transport_init() { function sig_optimal_transport_identical_zero_distance (line 368) | fn sig_optimal_transport_identical_zero_distance() { function sig_optimal_transport_distance_increases_with_shift (line 381) | fn sig_optimal_transport_distance_increases_with_shift() { function lrn_dtw_gesture_learn_init (line 404) | fn lrn_dtw_gesture_learn_init() { function lrn_dtw_gesture_learn_stillness_detection (line 410) | fn lrn_dtw_gesture_learn_stillness_detection() { function lrn_dtw_gesture_learn_processes_motion (line 420) | fn lrn_dtw_gesture_learn_processes_motion() { function lrn_anomaly_attractor_init (line 441) | fn lrn_anomaly_attractor_init() { function lrn_anomaly_attractor_learns_stable_room (line 448) | fn lrn_anomaly_attractor_learns_stable_room() { function lrn_anomaly_attractor_detects_departure (line 464) | fn lrn_anomaly_attractor_detects_departure() { function lrn_meta_adapt_init (line 487) | fn lrn_meta_adapt_init() { function lrn_meta_adapt_default_params (line 495) | fn lrn_meta_adapt_default_params() { function lrn_meta_adapt_optimization_cycle (line 504) | fn lrn_meta_adapt_optimization_cycle() { function lrn_ewc_lifelong_init (line 522) | fn lrn_ewc_lifelong_init() { function lrn_ewc_lifelong_learns_and_predicts (line 530) | fn lrn_ewc_lifelong_learns_and_predicts() { function lrn_ewc_lifelong_penalty_zero_without_prior (line 552) | fn lrn_ewc_lifelong_penalty_zero_without_prior() { function spt_pagerank_influence_init (line 569) | fn spt_pagerank_influence_init() { function spt_pagerank_influence_single_person (line 575) | fn spt_pagerank_influence_single_person() { function spt_pagerank_influence_multi_person (line 586) | fn spt_pagerank_influence_multi_person() { function spt_micro_hnsw_init (line 604) | fn spt_micro_hnsw_init() { function spt_micro_hnsw_insert_and_search (line 610) | fn spt_micro_hnsw_insert_and_search() { function spt_micro_hnsw_process_frame_emits_events (line 629) | fn spt_micro_hnsw_process_frame_emits_events() { function spt_spiking_tracker_init (line 644) | fn spt_spiking_tracker_init() { function spt_spiking_tracker_activates_zone (line 651) | fn spt_spiking_tracker_activates_zone() { function spt_spiking_tracker_no_activity_no_track (line 680) | fn spt_spiking_tracker_no_activity_no_track() { function tmp_pattern_sequence_init (line 696) | fn tmp_pattern_sequence_init() { function tmp_pattern_sequence_records_events (line 703) | fn tmp_pattern_sequence_records_events() { function tmp_pattern_sequence_on_timer (line 714) | fn tmp_pattern_sequence_on_timer() { function tmp_temporal_logic_guard_init (line 730) | fn tmp_temporal_logic_guard_init() { function tmp_temporal_logic_guard_normal_all_satisfied (line 737) | fn tmp_temporal_logic_guard_normal_all_satisfied() { function tmp_temporal_logic_guard_detects_violation (line 747) | fn tmp_temporal_logic_guard_detects_violation() { function tmp_goap_autonomy_init (line 763) | fn tmp_goap_autonomy_init() { function tmp_goap_autonomy_world_state_update (line 771) | fn tmp_goap_autonomy_world_state_update() { function tmp_goap_autonomy_plans_and_executes (line 780) | fn tmp_goap_autonomy_plans_and_executes() { function ais_prompt_shield_init (line 797) | fn ais_prompt_shield_init() { function ais_prompt_shield_calibrates (line 804) | fn ais_prompt_shield_calibrates() { function ais_prompt_shield_detects_replay (line 813) | fn ais_prompt_shield_detects_replay() { function ais_behavioral_profiler_init (line 832) | fn ais_behavioral_profiler_init() { function ais_behavioral_profiler_matures (line 840) | fn ais_behavioral_profiler_matures() { function ais_behavioral_profiler_detects_anomaly (line 849) | fn ais_behavioral_profiler_detects_anomaly() { function qnt_quantum_coherence_init (line 877) | fn qnt_quantum_coherence_init() { function qnt_quantum_coherence_uniform_high_coherence (line 883) | fn qnt_quantum_coherence_uniform_high_coherence() { function qnt_quantum_coherence_spread_low_coherence (line 898) | fn qnt_quantum_coherence_spread_low_coherence() { function qnt_interference_search_init_uniform (line 913) | fn qnt_interference_search_init_uniform() { function qnt_interference_search_empty_room_converges (line 927) | fn qnt_interference_search_empty_room_converges() { function qnt_interference_search_normalization_preserved (line 944) | fn qnt_interference_search_normalization_preserved() { function aut_psycho_symbolic_init (line 977) | fn aut_psycho_symbolic_init() { function aut_psycho_symbolic_empty_room (line 984) | fn aut_psycho_symbolic_empty_room() { function aut_psycho_symbolic_fires_rules (line 994) | fn aut_psycho_symbolic_fires_rules() { function aut_self_healing_mesh_init (line 1007) | fn aut_self_healing_mesh_init() { function aut_self_healing_mesh_healthy_nodes (line 1015) | fn aut_self_healing_mesh_healthy_nodes() { function aut_self_healing_mesh_detects_degradation (line 1030) | fn aut_self_healing_mesh_detects_degradation() { function exo_time_crystal_init (line 1049) | fn exo_time_crystal_init() { function exo_time_crystal_constant_no_detection (line 1057) | fn exo_time_crystal_constant_no_detection() { function exo_time_crystal_periodic_autocorrelation (line 1068) | fn exo_time_crystal_periodic_autocorrelation() { function exo_hyperbolic_space_init (line 1087) | fn exo_hyperbolic_space_init() { function exo_hyperbolic_space_emits_three_events (line 1094) | fn exo_hyperbolic_space_emits_three_events() { function exo_hyperbolic_space_label_in_range (line 1104) | fn exo_hyperbolic_space_label_in_range() { function cross_module_coherence_gate_feeds_attractor (line 1121) | fn cross_module_coherence_gate_feeds_attractor() { function cross_module_shield_and_coherence (line 1138) | fn cross_module_shield_and_coherence() { function cross_module_all_modules_construct (line 1153) | fn cross_module_all_modules_construct() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm/src/lib.rs function init (line 76) | pub fn init() { function init_logging (line 86) | pub fn init_logging(level: &str) { function get_version (line 104) | pub fn get_version() -> String { function is_mat_enabled (line 112) | pub fn is_mat_enabled() -> bool { function get_timestamp (line 120) | pub fn get_timestamp() -> f64 { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wasm/src/mat.rs type JsDisasterType (line 52) | pub enum JsDisasterType { method default (line 65) | fn default() -> Self { type JsTriageStatus (line 73) | pub enum JsTriageStatus { method color (line 88) | pub fn color(&self) -> &'static str { method priority (line 99) | pub fn priority(&self) -> u8 { type JsZoneStatus (line 113) | pub enum JsZoneStatus { type JsAlertPriority (line 123) | pub enum JsAlertPriority { type JsSurvivor (line 137) | pub struct JsSurvivor { method triage (line 170) | pub fn triage(&self) -> JsTriageStatus { method is_urgent (line 182) | pub fn is_urgent(&self) -> bool { type JsScanZone (line 190) | pub struct JsScanZone { type JsAlert (line 210) | pub struct JsAlert { type JsDashboardStats (line 238) | pub struct JsDashboardStats { type InternalSurvivor (line 267) | struct InternalSurvivor { method to_js (line 284) | fn to_js(&self) -> JsSurvivor { type ZoneBounds (line 306) | enum ZoneBounds { type InternalZone (line 325) | struct InternalZone { method to_js (line 335) | fn to_js(&self) -> JsScanZone { method contains_point (line 353) | fn contains_point(&self, x: f64, y: f64) -> bool { type InternalAlert (line 394) | struct InternalAlert { method to_js (line 409) | fn to_js(&self) -> JsAlert { type DashboardState (line 434) | struct DashboardState { method default (line 451) | fn default() -> Self { type MatDashboard (line 479) | pub struct MatDashboard { method new (line 489) | pub fn new() -> MatDashboard { method create_event (line 511) | pub fn create_event( method get_event_id (line 553) | pub fn get_event_id(&self) -> Option { method get_disaster_type (line 561) | pub fn get_disaster_type(&self) -> JsDisasterType { method close_event (line 567) | pub fn close_event(&self) { method add_rectangle_zone (line 587) | pub fn add_rectangle_zone( method add_circle_zone (line 634) | pub fn add_circle_zone(&self, name: &str, center_x: f64, center_y: f64... method add_polygon_zone (line 671) | pub fn add_polygon_zone(&self, name: &str, vertices: &[f64]) -> String { method remove_zone (line 712) | pub fn remove_zone(&self, zone_id: &str) -> bool { method set_zone_status (line 730) | pub fn set_zone_status(&self, zone_id: &str, status: u8) -> bool { method get_zones (line 763) | pub fn get_zones(&self) -> JsValue { method get_zone (line 774) | pub fn get_zone(&self, zone_id: &str) -> JsValue { method simulate_survivor_detection (line 798) | pub fn simulate_survivor_detection( method get_survivors (line 878) | pub fn get_survivors(&self) -> JsValue { method get_survivors_by_triage (line 889) | pub fn get_survivors_by_triage(&self, triage: u8) -> JsValue { method get_survivor (line 914) | pub fn get_survivor(&self, survivor_id: &str) -> JsValue { method mark_survivor_rescued (line 930) | pub fn mark_survivor_rescued(&self, survivor_id: &str) -> bool { method set_survivor_deteriorating (line 948) | pub fn set_survivor_deteriorating(&self, survivor_id: &str, is_deterio... method generate_alert_internal (line 977) | fn generate_alert_internal( method get_alerts (line 1040) | pub fn get_alerts(&self) -> JsValue { method acknowledge_alert (line 1056) | pub fn acknowledge_alert(&self, alert_id: &str) -> bool { method get_stats (line 1077) | pub fn get_stats(&self) -> JsDashboardStats { method on_survivor_detected (line 1133) | pub fn on_survivor_detected(&self, callback: js_sys::Function) { method on_survivor_updated (line 1141) | pub fn on_survivor_updated(&self, callback: js_sys::Function) { method on_alert_generated (line 1149) | pub fn on_alert_generated(&self, callback: js_sys::Function) { method on_zone_updated (line 1157) | pub fn on_zone_updated(&self, callback: js_sys::Function) { method render_zones (line 1169) | pub fn render_zones(&self, ctx: &web_sys::CanvasRenderingContext2d) { method render_survivors (line 1252) | pub fn render_survivors(&self, ctx: &web_sys::CanvasRenderingContext2d) { method push_csi_data (line 1318) | pub fn push_csi_data(&self, amplitudes: &[f64], phases: &[f64]) -> Str... method get_pipeline_config (line 1409) | pub fn get_pipeline_config(&self) -> String { method connect_websocket (line 1428) | pub fn connect_websocket(&self, url: &str) -> js_sys::Promise { method default (line 1480) | fn default() -> Self { function get_typescript_definitions (line 1492) | pub fn get_typescript_definitions() -> String { function test_create_dashboard (line 1642) | fn test_create_dashboard() { function test_create_event (line 1648) | fn test_create_event() { function test_add_zone (line 1656) | fn test_add_zone() { function test_simulate_survivor (line 1665) | fn test_simulate_survivor() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/adapter/linux_scanner.rs type LinuxIwScanner (line 37) | pub struct LinuxIwScanner { method new (line 47) | pub fn new() -> Self { method with_interface (line 55) | pub fn with_interface(iface: impl Into) -> Self { method use_cached (line 63) | pub fn use_cached(mut self) -> Self { method scan_sync (line 71) | pub fn scan_sync(&self) -> Result, WifiScanError> { method default (line 113) | fn default() -> Self { type BssStanza (line 124) | struct BssStanza { method flush (line 134) | fn flush(self, timestamp: Instant) -> Option { function parse_iw_scan_output (line 168) | pub fn parse_iw_scan_output(output: &str) -> Result u8 { function parse_signal_dbm (line 241) | fn parse_signal_dbm(s: &str) -> Option { function infer_radio_type_from_freq (line 249) | fn infer_radio_type_from_freq(freq_mhz: u32) -> RadioType { constant SAMPLE_IW_OUTPUT (line 266) | const SAMPLE_IW_OUTPUT: &str = "\ function parse_three_bss_stanzas (line 287) | fn parse_three_bss_stanzas() { function freq_to_channel_conversion (line 311) | fn freq_to_channel_conversion() { function parse_signal_dbm_values (line 323) | fn parse_signal_dbm_values() { function empty_output (line 330) | fn empty_output() { function missing_ssid_defaults_to_empty (line 336) | fn missing_ssid_defaults_to_empty() { function channel_from_freq_when_ds_param_missing (line 348) | fn channel_from_freq_when_ds_param_missing() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/adapter/macos_scanner.rs type MacosCoreWlanScanner (line 45) | pub struct MacosCoreWlanScanner { method new (line 52) | pub fn new() -> Self { method with_path (line 59) | pub fn with_path(path: impl Into) -> Self { method scan_sync (line 68) | pub fn scan_sync(&self) -> Result, WifiScanError> { method default (line 96) | fn default() -> Self { function parse_macos_scan_output (line 112) | pub fn parse_macos_scan_output(output: &str) -> Result Option Option BssidId { function infer_radio_type (line 206) | fn infer_radio_type(channel: u8) -> RadioType { function extract_string_field (line 222) | fn extract_string_field(json: &str, key: &str) -> Option { function extract_number_field (line 250) | fn extract_number_field(json: &str, key: &str) -> Option { constant SAMPLE_OUTPUT (line 275) | const SAMPLE_OUTPUT: &str = r#" function parse_valid_output (line 282) | fn parse_valid_output() { function synthetic_bssid_is_deterministic (line 310) | fn synthetic_bssid_is_deterministic() { function parse_empty_and_junk_lines (line 324) | fn parse_empty_and_junk_lines() { function extract_string_field_basic (line 331) | fn extract_string_field_basic() { function extract_number_field_basic (line 342) | fn extract_number_field_basic() { function signal_pct_clamping (line 349) | fn signal_pct_clamping() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/adapter/netsh_scanner.rs type NetshBssidScanner (line 37) | pub struct NetshBssidScanner; method new (line 41) | pub fn new() -> Self { method scan_sync (line 49) | pub fn scan_sync(&self) -> Result, WifiScanError> { method default (line 68) | fn default() -> Self { type BssidBlock (line 83) | struct BssidBlock { method into_observation (line 96) | fn into_observation(self, ssid: &str, timestamp: Instant) -> Option Result,... function try_parse_ssid_line (line 244) | fn try_parse_ssid_line(line: &str) -> Option { function try_parse_bssid_line (line 259) | fn try_parse_bssid_line(line: &str) -> Option { function try_parse_signal_line (line 272) | fn try_parse_signal_line(line: &str) -> Option { function try_parse_radio_type_line (line 285) | fn try_parse_radio_type_line(line: &str) -> Option { function try_parse_band_line (line 298) | fn try_parse_band_line(line: &str) -> Option { function try_parse_channel_line (line 319) | fn try_parse_channel_line(line: &str) -> Option { function split_kv (line 339) | fn split_kv(line: &str) -> Option<(&str, &str)> { constant SAMPLE_OUTPUT (line 364) | const SAMPLE_OUTPUT: &str = "\ function parse_sample_output_yields_three_observations (line 395) | fn parse_sample_output_yields_three_observations() { function first_bssid_fields (line 401) | fn first_bssid_fields() { function second_bssid_inherits_same_ssid (line 424) | fn second_bssid_inherits_same_ssid() { function third_bssid_different_ssid (line 439) | fn third_bssid_different_ssid() { function empty_output_returns_empty_vec (line 456) | fn empty_output_returns_empty_vec() { function whitespace_only_output (line 462) | fn whitespace_only_output() { function no_networks_message (line 468) | fn no_networks_message() { function adapter_disconnected_message (line 475) | fn adapter_disconnected_message() { function signal_zero_percent (line 487) | fn signal_zero_percent() { function signal_one_hundred_percent (line 507) | fn signal_one_hundred_percent() { function signal_one_percent (line 527) | fn signal_one_percent() { function signal_without_percent_sign (line 547) | fn signal_without_percent_sign() { function hidden_ssid_empty_name (line 566) | fn hidden_ssid_empty_name() { function unicode_ssid (line 584) | fn unicode_ssid() { function ssid_with_colons (line 602) | fn ssid_with_colons() { function bssid_before_any_ssid_uses_empty_ssid (line 620) | fn bssid_before_any_ssid_uses_empty_ssid() { function missing_signal_defaults_to_zero (line 636) | fn missing_signal_defaults_to_zero() { function missing_channel_defaults_to_zero (line 652) | fn missing_channel_defaults_to_zero() { function missing_radio_type_defaults_to_n (line 667) | fn missing_radio_type_defaults_to_n() { function missing_band_inferred_from_channel_5ghz (line 682) | fn missing_band_inferred_from_channel_5ghz() { function missing_band_inferred_from_channel_2_4ghz (line 697) | fn missing_band_inferred_from_channel_2_4ghz() { function malformed_lines_are_skipped (line 714) | fn malformed_lines_are_skipped() { function malformed_bssid_mac_is_skipped (line 733) | fn malformed_bssid_mac_is_skipped() { function multiple_ssids_single_bssid_each (line 759) | fn multiple_ssids_single_bssid_each() { function multiple_ssids_multiple_bssids (line 799) | fn multiple_ssids_multiple_bssids() { function six_ghz_band_parsed (line 860) | fn six_ghz_band_parsed() { function tri_band_output (line 878) | fn tri_band_output() { function rssi_dbm_uses_pct_to_dbm (line 910) | fn rssi_dbm_uses_pct_to_dbm() { function handles_windows_crlf_line_endings (line 935) | fn handles_windows_crlf_line_endings() { function output_with_interface_header_prefix (line 949) | fn output_with_interface_header_prefix() { function all_observations_share_same_timestamp (line 971) | fn all_observations_share_same_timestamp() { function bssid_with_extra_trailing_whitespace (line 983) | fn bssid_with_extra_trailing_whitespace() { function split_kv_basic (line 1004) | fn split_kv_basic() { function split_kv_mac_address_value (line 1011) | fn split_kv_mac_address_value() { function split_kv_no_separator_returns_none (line 1019) | fn split_kv_no_separator_returns_none() { function split_kv_colon_without_spaces_returns_none (line 1024) | fn split_kv_colon_without_spaces_returns_none() { function try_parse_ssid_line_valid (line 1030) | fn try_parse_ssid_line_valid() { function try_parse_ssid_line_hidden (line 1038) | fn try_parse_ssid_line_hidden() { function try_parse_ssid_line_does_not_match_bssid (line 1043) | fn try_parse_ssid_line_does_not_match_bssid() { function try_parse_ssid_line_does_not_match_random (line 1048) | fn try_parse_ssid_line_does_not_match_random() { function try_parse_bssid_line_valid (line 1053) | fn try_parse_bssid_line_valid() { function try_parse_bssid_line_invalid_mac (line 1060) | fn try_parse_bssid_line_invalid_mac() { function try_parse_signal_line_with_percent (line 1067) | fn try_parse_signal_line_with_percent() { function try_parse_signal_line_without_percent (line 1075) | fn try_parse_signal_line_without_percent() { function try_parse_signal_line_zero (line 1083) | fn try_parse_signal_line_zero() { function try_parse_channel_line_valid (line 1091) | fn try_parse_channel_line_valid() { function try_parse_channel_line_invalid_returns_none (line 1096) | fn try_parse_channel_line_invalid_returns_none() { function try_parse_band_line_2_4ghz (line 1101) | fn try_parse_band_line_2_4ghz() { function try_parse_band_line_5ghz (line 1109) | fn try_parse_band_line_5ghz() { function try_parse_band_line_6ghz (line 1117) | fn try_parse_band_line_6ghz() { function try_parse_radio_type_line_ax (line 1125) | fn try_parse_radio_type_line_ax() { function try_parse_radio_type_line_be (line 1133) | fn try_parse_radio_type_line_be() { function try_parse_radio_type_line_ac (line 1141) | fn try_parse_radio_type_line_ac() { function try_parse_radio_type_line_n (line 1149) | fn try_parse_radio_type_line_n() { function default_creates_scanner (line 1159) | fn default_creates_scanner() { function new_creates_scanner (line 1164) | fn new_creates_scanner() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/adapter/wlanapi_scanner.rs type ScanMetrics (line 48) | pub struct ScanMetrics { type WlanApiScanner (line 84) | pub struct WlanApiScanner { method new (line 107) | pub fn new() -> Self { method metrics (line 118) | pub fn metrics(&self) -> ScanMetrics { method scan_count (line 141) | pub fn scan_count(&self) -> u64 { method scan_instrumented (line 149) | fn scan_instrumented(&self) -> Result, WifiScanE... method scan_async (line 191) | pub async fn scan_async(&self) -> Result, WifiSc... method default (line 225) | fn default() -> Self { method scan (line 235) | fn scan(&self) -> Result, WifiScanError> { method connected (line 239) | fn connected(&self) -> Result, WifiScanError> { constant WLAN_CLIENT_VERSION_2 (line 306) | pub const WLAN_CLIENT_VERSION_2: u32 = 2; constant DOT11_BSS_TYPE_INFRASTRUCTURE (line 309) | pub const DOT11_BSS_TYPE_INFRASTRUCTURE: u32 = 1; function freq_khz_to_channel (line 315) | pub fn freq_khz_to_channel(frequency_khz: u32) -> u8 { function freq_khz_to_band (line 332) | pub fn freq_khz_to_band(frequency_khz: u32) -> u8 { function new_creates_scanner_with_zero_metrics (line 353) | fn new_creates_scanner_with_zero_metrics() { function default_creates_scanner (line 365) | fn default_creates_scanner() { function freq_khz_to_channel_2_4ghz (line 373) | fn freq_khz_to_channel_2_4ghz() { function freq_khz_to_channel_5ghz (line 381) | fn freq_khz_to_channel_5ghz() { function freq_khz_to_channel_6ghz (line 388) | fn freq_khz_to_channel_6ghz() { function freq_khz_to_channel_unknown_returns_zero (line 396) | fn freq_khz_to_channel_unknown_returns_zero() { function freq_khz_to_band_classification (line 402) | fn freq_khz_to_band_classification() { function implements_wlan_scan_port (line 411) | fn implements_wlan_scan_port() { function implements_send_and_sync (line 418) | fn implements_send_and_sync() { function scan_metrics_debug_display (line 426) | fn scan_metrics_debug_display() { function scan_metrics_clone (line 439) | fn scan_metrics_clone() { function estimated_rate_from_known_duration (line 454) | fn estimated_rate_from_known_duration() { function estimated_rate_none_before_first_scan (line 470) | fn estimated_rate_none_before_first_scan() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/domain/bssid.rs type BssidId (line 23) | pub struct BssidId(pub [u8; 6]); method from_bytes (line 29) | pub fn from_bytes(bytes: &[u8]) -> Result { method parse (line 38) | pub fn parse(s: &str) -> Result { method as_bytes (line 56) | pub fn as_bytes(&self) -> &[u8; 6] { method fmt (line 62) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method fmt (line 68) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type BandType (line 81) | pub enum BandType { method from_channel (line 92) | pub fn from_channel(channel: u8) -> Self { method fmt (line 102) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type RadioType (line 118) | pub enum RadioType { method from_netsh_str (line 133) | pub fn from_netsh_str(s: &str) -> Option { method fmt (line 152) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type BssidObservation (line 171) | pub struct BssidObservation { method pct_to_dbm (line 195) | pub fn pct_to_dbm(pct: f64) -> f64 { method rssi_to_amplitude (line 202) | pub fn rssi_to_amplitude(rssi_dbm: f64) -> f64 { method amplitude (line 207) | pub fn amplitude(&self) -> f64 { method pseudo_phase (line 215) | pub fn pseudo_phase(&self) -> f64 { function bssid_id_roundtrip (line 225) | fn bssid_id_roundtrip() { function bssid_id_parse_errors (line 233) | fn bssid_id_parse_errors() { function bssid_id_from_bytes (line 240) | fn bssid_id_from_bytes() { function band_type_from_channel (line 249) | fn band_type_from_channel() { function radio_type_from_netsh (line 257) | fn radio_type_from_netsh() { function pct_to_dbm_conversion (line 266) | fn pct_to_dbm_conversion() { function rssi_to_amplitude_baseline (line 274) | fn rssi_to_amplitude_baseline() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/domain/frame.rs type MultiApFrame (line 19) | pub struct MultiApFrame { method is_sufficient (line 67) | pub fn is_sufficient(&self, min_bssids: usize) -> bool { method max_amplitude (line 72) | pub fn max_amplitude(&self) -> f64 { method mean_rssi (line 81) | pub fn mean_rssi(&self) -> f64 { method total_variance (line 93) | pub fn total_variance(&self) -> f64 { function make_frame (line 102) | fn make_frame(bssid_count: usize, rssi_values: &[f64]) -> MultiApFrame { function is_sufficient_checks_threshold (line 120) | fn is_sufficient_checks_threshold() { function mean_rssi_calculation (line 128) | fn mean_rssi_calculation() { function empty_frame_handles_gracefully (line 134) | fn empty_frame_handles_gracefully() { function total_variance_sums_per_bssid (line 143) | fn total_variance_sums_per_bssid() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/domain/registry.rs type RunningStats (line 25) | pub struct RunningStats { method new (line 36) | pub fn new() -> Self { method push (line 45) | pub fn push(&mut self, value: f64) { method count (line 54) | pub fn count(&self) -> u64 { method mean (line 59) | pub fn mean(&self) -> f64 { method variance (line 64) | pub fn variance(&self) -> f64 { method sample_variance (line 73) | pub fn sample_variance(&self) -> f64 { method std_dev (line 82) | pub fn std_dev(&self) -> f64 { method reset (line 87) | pub fn reset(&mut self) { method default (line 95) | fn default() -> Self { type BssidMeta (line 106) | pub struct BssidMeta { type BssidEntry (line 130) | pub struct BssidEntry { constant DEFAULT_HISTORY_CAPACITY (line 147) | pub const DEFAULT_HISTORY_CAPACITY: usize = 128; method new (line 150) | fn new(obs: &BssidObservation) -> Self { method record (line 174) | fn record(&mut self, obs: &BssidObservation) { method variance (line 194) | pub fn variance(&self) -> f64 { method latest_rssi (line 199) | pub fn latest_rssi(&self) -> Option { type BssidRegistry (line 216) | pub struct BssidRegistry { constant DEFAULT_MAX_BSSIDS (line 230) | pub const DEFAULT_MAX_BSSIDS: usize = 32; constant DEFAULT_EXPIRY_SECS (line 233) | pub const DEFAULT_EXPIRY_SECS: u64 = 30; method new (line 236) | pub fn new(max_bssids: usize, expiry_secs: u64) -> Self { method update (line 250) | pub fn update(&mut self, observations: &[BssidObservation]) { method expire (line 278) | fn expire(&mut self, now: Instant) { method subcarrier_index (line 305) | pub fn subcarrier_index(&self, bssid: &BssidId) -> Option { method subcarrier_map (line 312) | pub fn subcarrier_map(&self) -> &[BssidId] { method len (line 317) | pub fn len(&self) -> usize { method is_empty (line 322) | pub fn is_empty(&self) -> bool { method capacity (line 327) | pub fn capacity(&self) -> usize { method get (line 332) | pub fn get(&self, bssid: &BssidId) -> Option<&BssidEntry> { method entries (line 337) | pub fn entries(&self) -> impl Iterator { method to_multi_ap_frame (line 346) | pub fn to_multi_ap_frame(&self) -> MultiApFrame { method estimate_sample_rate (line 383) | fn estimate_sample_rate(&self) -> f64 { method default (line 407) | fn default() -> Self { function make_obs (line 421) | fn make_obs(mac: [u8; 6], rssi: f64, channel: u8) -> BssidObservation { function registry_tracks_new_bssids (line 435) | fn registry_tracks_new_bssids() { function registry_updates_existing_bssid (line 449) | fn registry_updates_existing_bssid() { function registry_respects_capacity (line 466) | fn registry_respects_capacity() { function to_multi_ap_frame_builds_correct_frame (line 480) | fn to_multi_ap_frame_builds_correct_frame() { function welford_stats_accuracy (line 497) | fn welford_stats_accuracy() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/domain/result.rs type MotionLevel (line 17) | pub enum MotionLevel { method from_score (line 34) | pub fn from_score(score: f64) -> Self { type MotionEstimate (line 54) | pub struct MotionEstimate { type BreathingEstimate (line 74) | pub struct BreathingEstimate { type PostureClass (line 93) | pub enum PostureClass { type SignalQuality (line 115) | pub struct SignalQuality { type Verdict (line 137) | pub enum Verdict { type EnhancedSensingResult (line 157) | pub struct EnhancedSensingResult { function motion_level_thresholds (line 177) | fn motion_level_thresholds() { function enhanced_result_construction (line 189) | fn enhanced_result_construction() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/error.rs type WifiScanError (line 7) | pub enum WifiScanError { method fmt (line 63) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/attention_weighter.rs type AttentionWeighter (line 13) | pub struct AttentionWeighter { method new (line 22) | pub fn new(dim: usize) -> Self { method weight (line 34) | pub fn weight( method compute_scores (line 62) | fn compute_scores(&self, query: &[f32], keys: &[Vec]) -> Vec { function empty_input_returns_zero (line 87) | fn empty_input_returns_zero() { function single_bssid_gets_full_weight (line 95) | fn single_bssid_gets_full_weight() { function higher_residual_gets_more_weight (line 106) | fn higher_residual_gets_more_weight() { function scores_sum_to_one (line 120) | fn scores_sum_to_one() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/breathing_extractor.rs type CoarseBreathingExtractor (line 9) | pub struct CoarseBreathingExtractor { method new (line 55) | pub fn new(n_bssids: usize, sample_rate: f32, freq_low: f32, freq_high... method tier1_default (line 70) | pub fn tier1_default(n_bssids: usize) -> Self { method extract (line 79) | pub fn extract(&mut self, residuals: &[f32], weights: &[f32]) -> Optio... method bandpass_filter (line 138) | fn bandpass_filter(&mut self, input: f32) -> f32 { method reset (line 164) | pub fn reset(&mut self) { type IirState (line 28) | struct IirState { method default (line 36) | fn default() -> Self { type BreathingEstimate (line 172) | pub struct BreathingEstimate { function compute_confidence (line 183) | fn compute_confidence(history: &[f32]) -> f32 { function count_zero_crossings (line 211) | fn count_zero_crossings(signal: &[f32]) -> usize { function no_data_returns_none (line 220) | fn no_data_returns_none() { function insufficient_history_returns_none (line 226) | fn insufficient_history_returns_none() { function sinusoidal_breathing_detected (line 235) | fn sinusoidal_breathing_detected() { function zero_crossings_count (line 259) | fn zero_crossings_count() { function zero_crossings_constant (line 265) | fn zero_crossings_constant() { function reset_clears_state (line 271) | fn reset_clears_state() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/correlator.rs type BssidCorrelator (line 14) | pub struct BssidCorrelator { method new (line 32) | pub fn new(n_bssids: usize, window: usize, correlation_threshold: f32)... method update (line 45) | pub fn update(&mut self, amplitudes: &[f32]) -> CorrelationResult { method find_clusters (line 93) | fn find_clusters(&self, corr: &[Vec], n: usize) -> Vec { method reset (line 122) | pub fn reset(&mut self) { type CorrelationResult (line 131) | pub struct CorrelationResult { method n_clusters (line 145) | pub fn n_clusters(&self) -> usize { method mean_correlation (line 151) | pub fn mean_correlation(&self) -> f32 { function pearson_r (line 171) | fn pearson_r(x: &[f32], y: &[f32]) -> f32 { function pearson_perfect_correlation (line 206) | fn pearson_perfect_correlation() { function pearson_negative_correlation (line 214) | fn pearson_negative_correlation() { function pearson_no_correlation (line 222) | fn pearson_no_correlation() { function correlator_basic_update (line 230) | fn correlator_basic_update() { function correlator_detects_covarying_bssids (line 241) | fn correlator_detects_covarying_bssids() { function mean_correlation_zero_for_one_bssid (line 258) | fn mean_correlation_zero_for_one_bssid() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/fingerprint_matcher.rs type PostureTemplate (line 15) | struct PostureTemplate { type FingerprintMatcher (line 23) | pub struct FingerprintMatcher { method new (line 38) | pub fn new(n_bssids: usize, confidence_threshold: f32) -> Self { method store_pattern (line 51) | pub fn store_pattern( method classify (line 72) | pub fn classify(&self, observation: &[f32]) -> Option<(PostureClass, f... method match_posture (line 96) | pub fn match_posture(&self, observation: &[f32]) -> MatchResult { method generate_defaults (line 115) | pub fn generate_defaults(&mut self, baseline: &[f32]) { method num_patterns (line 143) | pub fn num_patterns(&self) -> usize { method clear (line 148) | pub fn clear(&mut self) { method set_confidence_threshold (line 153) | pub fn set_confidence_threshold(&mut self, threshold: f32) { type MatchResult (line 160) | pub struct MatchResult { function cosine_similarity (line 170) | fn cosine_similarity(a: &[f32], b: &[f32]) -> f32 { function empty_matcher_returns_none (line 199) | fn empty_matcher_returns_none() { function wrong_dimension_returns_none (line 205) | fn wrong_dimension_returns_none() { function store_and_recall (line 215) | fn store_and_recall() { function wrong_dim_store_rejected (line 237) | fn wrong_dim_store_rejected() { function clear_removes_all (line 244) | fn clear_removes_all() { function cosine_similarity_identical (line 255) | fn cosine_similarity_identical() { function cosine_similarity_orthogonal (line 263) | fn cosine_similarity_orthogonal() { function match_posture_result (line 271) | fn match_posture_result() { function generate_defaults_creates_templates (line 283) | fn generate_defaults_creates_templates() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/motion_estimator.rs type MultiApMotionEstimator (line 10) | pub struct MultiApMotionEstimator { method new (line 26) | pub fn new() -> Self { method with_thresholds (line 38) | pub fn with_thresholds(minimal: f32, moderate: f32, high: f32) -> Self { method estimate (line 55) | pub fn estimate( method reset (line 119) | pub fn reset(&mut self) { method default (line 125) | fn default() -> Self { type MotionEstimate (line 132) | pub struct MotionEstimate { function no_residuals_yields_no_motion (line 148) | fn no_residuals_yields_no_motion() { function zero_residuals_yield_no_motion (line 156) | fn zero_residuals_yield_no_motion() { function large_residuals_yield_high_motion (line 166) | fn large_residuals_yield_high_motion() { function ema_smooths_transients (line 180) | fn ema_smooths_transients() { function n_contributing_counts_nonzero (line 196) | fn n_contributing_counts_nonzero() { function default_creates_estimator (line 206) | fn default_creates_estimator() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/orchestrator.rs type PipelineConfig (line 26) | pub struct PipelineConfig { method default (line 46) | fn default() -> Self { type WindowsWifiPipeline (line 73) | pub struct WindowsWifiPipeline { method new (line 91) | pub fn new() -> Self { method with_defaults (line 97) | pub fn with_defaults() -> Self { method with_config (line 103) | pub fn with_config(config: PipelineConfig) -> Self { method process (line 131) | pub fn process(&mut self, frame: &MultiApFrame) -> EnhancedSensingResu... method make_empty_result (line 236) | fn make_empty_result(frame: &MultiApFrame, n: usize) -> EnhancedSensin... method store_fingerprint (line 261) | pub fn store_fingerprint( method reset (line 270) | pub fn reset(&mut self) { method frame_count (line 287) | pub fn frame_count(&self) -> u64 { method config (line 293) | pub fn config(&self) -> &PipelineConfig { method default (line 299) | fn default() -> Self { function make_frame (line 310) | fn make_frame(bssid_count: usize, rssi_values: &[f64]) -> MultiApFrame { function pipeline_creates_ok (line 328) | fn pipeline_creates_ok() { function too_few_bssids_returns_deny (line 335) | fn too_few_bssids_returns_deny() { function first_frame_increments_count (line 343) | fn first_frame_increments_count() { function static_signal_returns_deny_after_learning (line 355) | fn static_signal_returns_deny_after_learning() { function changing_signal_increments_count (line 378) | fn changing_signal_increments_count() { function reset_clears_state (line 398) | fn reset_clears_state() { function default_creates_pipeline (line 408) | fn default_creates_pipeline() { function pipeline_throughput_benchmark (line 413) | fn pipeline_throughput_benchmark() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/predictive_gate.rs type PredictiveGate (line 12) | pub struct PredictiveGate { method new (line 33) | pub fn new(n_bssids: usize, threshold: f32) -> Self { method gate (line 46) | pub fn gate(&mut self, amplitudes: &[f32]) -> Option> { method last_residuals (line 78) | pub fn last_residuals(&self) -> &[f32] { method set_threshold (line 83) | pub fn set_threshold(&mut self, threshold: f32) { method threshold (line 89) | pub fn threshold(&self) -> f32 { function static_signal_is_gated (line 99) | fn static_signal_is_gated() { function changing_signal_transmits (line 112) | fn changing_signal_transmits() { function residuals_are_stored (line 127) | fn residuals_are_stored() { function threshold_can_be_updated (line 135) | fn threshold_can_be_updated() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/pipeline/quality_gate.rs type QualityGateConfig (line 16) | pub struct QualityGateConfig { method default (line 28) | fn default() -> Self { type QualityGate (line 39) | pub struct QualityGate { method new (line 52) | pub fn new() -> Self { method with_config (line 58) | pub fn with_config(config: QualityGateConfig) -> Self { method evaluate (line 75) | pub fn evaluate( method reset (line 128) | pub fn reset(&mut self) { method default (line 135) | fn default() -> Self { type QualityResult (line 142) | pub struct QualityResult { type Verdict (line 153) | pub enum Verdict { method is_permit (line 165) | pub fn is_permit(&self) -> bool { function compute_quality_score (line 172) | fn compute_quality_score( function new_gate_creates_ok (line 200) | fn new_gate_creates_ok() { function evaluate_with_good_signal (line 206) | fn evaluate_with_good_signal() { function too_few_bssids_denied (line 218) | fn too_few_bssids_denied() { function quality_increases_with_more_bssids (line 228) | fn quality_increases_with_more_bssids() { function drift_reduces_quality (line 235) | fn drift_reduces_quality() { function verdict_is_permit_check (line 242) | fn verdict_is_permit_check() { function default_creates_gate (line 249) | fn default_creates_gate() { function reset_clears_state (line 254) | fn reset_clears_state() { FILE: rust-port/wifi-densepose-rs/crates/wifi-densepose-wifiscan/src/port/scan_port.rs type WlanScanPort (line 11) | pub trait WlanScanPort: Send + Sync { method scan (line 13) | fn scan(&self) -> Result, WifiScanError>; method connected (line 16) | fn connected(&self) -> Result, WifiScanError>; FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/error.rs type CrvError (line 7) | pub enum CrvError { type CrvResult (line 38) | pub type CrvResult = Result; FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/lib.rs constant VERSION (line 95) | pub const VERSION: &str = env!("CARGO_PKG_VERSION"); function test_version (line 102) | fn test_version() { function test_end_to_end_session (line 107) | fn test_end_to_end_session() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/session.rs type SessionEntry (line 26) | struct SessionEntry { type Session (line 41) | struct Session { type CrvSessionManager (line 52) | pub struct CrvSessionManager { method new (line 73) | pub fn new(config: CrvConfig) -> Self { method create_session (line 94) | pub fn create_session( method add_stage_i (line 119) | pub fn add_stage_i( method add_stage_ii (line 130) | pub fn add_stage_ii( method add_stage_iii (line 141) | pub fn add_stage_iii( method add_stage_iv (line 152) | pub fn add_stage_iv( method run_stage_v (line 165) | pub fn run_stage_v( method run_stage_vi (line 245) | pub fn run_stage_vi(&mut self, session_id: &str) -> CrvResult CrvResult usize { method session_count (line 411) | pub fn session_count(&self) -> usize { method remove_session (line 416) | pub fn remove_session(&mut self, session_id: &str) -> bool { method stage_i_encoder (line 421) | pub fn stage_i_encoder(&self) -> &StageIEncoder { method stage_ii_encoder (line 426) | pub fn stage_ii_encoder(&self) -> &StageIIEncoder { method stage_iv_encoder (line 431) | pub fn stage_iv_encoder(&self) -> &StageIVEncoder { method stage_v_engine (line 436) | pub fn stage_v_engine(&self) -> &StageVEngine { method stage_vi_modeler (line 441) | pub fn stage_vi_modeler(&self) -> &StageVIModeler { method add_entry (line 446) | fn add_entry( function test_config (line 476) | fn test_config() -> CrvConfig { function test_session_creation (line 485) | fn test_session_creation() { function test_add_stage_i (line 497) | fn test_add_stage_i() { function test_add_stage_ii (line 518) | fn test_add_stage_ii() { function test_full_session_flow (line 539) | fn test_full_session_flow() { function test_duplicate_session (line 586) | fn test_duplicate_session() { function test_session_not_found (line 599) | fn test_session_not_found() { function test_remove_session (line 615) | fn test_remove_session() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/stage_i.rs type StageIEncoder (line 22) | pub struct StageIEncoder { method new (line 34) | pub fn new(config: &CrvConfig) -> Self { method init_prototypes (line 56) | fn init_prototypes(dim: usize, curvature: f32) -> Vec> { method encode_stroke (line 87) | pub fn encode_stroke(&self, stroke: &[(f32, f32)]) -> CrvResult CrvResult> { method classify (line 207) | pub fn classify(&self, embedding: &[f32]) -> CrvResult<(GestaltType, f... method consensus (line 237) | pub fn consensus(&self, embeddings: &[&[f32]]) -> CrvResult> { method distance (line 248) | pub fn distance(&self, a: &[f32], b: &[f32]) -> f32 { method prototype (line 253) | pub fn prototype(&self, gestalt: GestaltType) -> &[f32] { method to_tangent (line 258) | pub fn to_tangent(&self, embedding: &[f32]) -> Vec { method from_tangent (line 264) | pub fn from_tangent(&self, tangent: &[f32]) -> Vec { function test_config (line 274) | fn test_config() -> CrvConfig { function test_encoder_creation (line 283) | fn test_encoder_creation() { function test_stroke_encoding (line 291) | fn test_stroke_encoding() { function test_full_encode (line 305) | fn test_full_encode() { function test_classification (line 321) | fn test_classification() { function test_distance_symmetry (line 333) | fn test_distance_symmetry() { function test_tangent_roundtrip (line 347) | fn test_tangent_roundtrip() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/stage_ii.rs constant NUM_MODALITIES (line 20) | const NUM_MODALITIES: usize = 8; type StageIIEncoder (line 23) | pub struct StageIIEncoder { method fmt (line 31) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { method new (line 41) | pub fn new(config: &CrvConfig) -> Self { method encode_descriptor (line 64) | fn encode_descriptor(&self, modality: SensoryModality, descriptor: &st... method encode (line 101) | pub fn encode(&self, data: &StageIIData) -> CrvResult> { method build_modality_query (line 133) | fn build_modality_query(&self, impressions: &[(SensoryModality, String... method similarity (line 168) | pub fn similarity(&self, a: &[f32], b: &[f32]) -> f32 { function modality_index (line 183) | fn modality_index(m: SensoryModality) -> usize { function test_config (line 200) | fn test_config() -> CrvConfig { function test_encoder_creation (line 208) | fn test_encoder_creation() { function test_descriptor_encoding (line 215) | fn test_descriptor_encoding() { function test_full_encode (line 228) | fn test_full_encode() { function test_similarity (line 246) | fn test_similarity() { function test_empty_impressions (line 257) | fn test_empty_impressions() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/stage_iii.rs type StageIIIEncoder (line 22) | pub struct StageIIIEncoder { method new (line 31) | pub fn new(config: &CrvConfig) -> Self { method encode_element (line 41) | fn encode_element(&self, label: &str, kind: GeometricKind, position: (... method relationship_weight (line 94) | fn relationship_weight(relation: SpatialRelationType) -> f32 { method encode (line 112) | pub fn encode(&self, data: &StageIIIData) -> CrvResult> { method similarity (line 186) | pub fn similarity(&self, a: &[f32], b: &[f32]) -> f32 { function test_config (line 196) | fn test_config() -> CrvConfig { function test_encoder_creation (line 204) | fn test_encoder_creation() { function test_element_encoding (line 211) | fn test_element_encoding() { function test_full_encode (line 225) | fn test_full_encode() { function test_empty_elements (line 271) | fn test_empty_elements() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/stage_iv.rs type StageIVEncoder (line 24) | pub struct StageIVEncoder { method new (line 37) | pub fn new(config: &CrvConfig) -> Self { method create_network (line 52) | fn create_network(&self, input_size: usize) -> SpikingNetwork { method emotional_to_currents (line 88) | fn emotional_to_currents(intensities: &[(String, f32)]) -> Vec { method detect_aol (line 99) | fn detect_aol( method encode (line 126) | pub fn encode(&self, data: &StageIVData) -> CrvResult> { method encode_from_text (line 208) | fn encode_from_text(&self, data: &StageIVData) -> CrvResult> { method encode_text_features (line 224) | fn encode_text_features(&self, data: &StageIVData, features: &mut [f32... method aol_score (line 249) | pub fn aol_score(&self, embedding: &[f32]) -> f32 { function test_config (line 262) | fn test_config() -> CrvConfig { function test_encoder_creation (line 273) | fn test_encoder_creation() { function test_text_only_encode (line 281) | fn test_text_only_encode() { function test_full_encode_with_snn (line 297) | fn test_full_encode_with_snn() { function test_aol_detection (line 326) | fn test_aol_detection() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/stage_v.rs type StageVEngine (line 20) | pub struct StageVEngine { method new (line 29) | pub fn new(config: &CrvConfig) -> Self { method probe (line 40) | pub fn probe( method cross_reference (line 68) | pub fn cross_reference( method encode (line 110) | pub fn encode(&self, data: &StageVData, all_embeddings: &[Vec]) -... method signal_strength (line 147) | pub fn signal_strength(&self, embedding: &[f32]) -> f32 { function test_config (line 157) | fn test_config() -> CrvConfig { function test_engine_creation (line 166) | fn test_engine_creation() { function test_probe (line 173) | fn test_probe() { function test_cross_reference (line 192) | fn test_cross_reference() { function test_empty_probe (line 213) | fn test_empty_probe() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/stage_vi.rs type StageVIModeler (line 21) | pub struct StageVIModeler { method new (line 30) | pub fn new(config: &CrvConfig) -> Self { method build_similarity_graph (line 42) | fn build_similarity_graph(&self, embeddings: &[Vec]) -> Vec<(u64,... method compute_centroid (line 61) | fn compute_centroid(&self, embeddings: &[&[f32]]) -> Vec { method partition (line 86) | pub fn partition( method bisect_by_similarity (line 228) | fn bisect_by_similarity(&self, embeddings: &[Vec]) -> (Vec... method encode (line 284) | pub fn encode(&self, data: &StageVIData) -> CrvResult> { function test_config (line 316) | fn test_config() -> CrvConfig { function test_modeler_creation (line 324) | fn test_modeler_creation() { function test_partition_single (line 331) | fn test_partition_single() { function test_partition_two_clusters (line 343) | fn test_partition_two_clusters() { function test_encode_partitions (line 361) | fn test_encode_partitions() { FILE: rust-port/wifi-densepose-rs/patches/ruvector-crv/src/types.rs type SessionId (line 10) | pub type SessionId = String; type TargetCoordinate (line 13) | pub type TargetCoordinate = String; type EntryId (line 16) | pub type EntryId = String; type GestaltType (line 20) | pub enum GestaltType { method all (line 37) | pub fn all() -> &'static [GestaltType] { method index (line 49) | pub fn index(&self) -> usize { type StageIData (line 63) | pub struct StageIData { type SensoryModality (line 76) | pub enum SensoryModality { type StageIIData (line 97) | pub struct StageIIData { type StageIIIData (line 106) | pub struct StageIIIData { type SketchElement (line 115) | pub struct SketchElement { type GeometricKind (line 128) | pub enum GeometricKind { type SpatialRelationship (line 141) | pub struct SpatialRelationship { type SpatialRelationType (line 154) | pub enum SpatialRelationType { type StageIVData (line 167) | pub struct StageIVData { type AOLDetection (line 184) | pub struct AOLDetection { type StageVData (line 198) | pub struct StageVData { type SignalLineProbe (line 207) | pub struct SignalLineProbe { type CrossReference (line 220) | pub struct CrossReference { type StageVIData (line 235) | pub struct StageVIData { type TargetPartition (line 246) | pub struct TargetPartition { type CrvSessionEntry (line 259) | pub struct CrvSessionEntry { type CrvConfig (line 276) | pub struct CrvConfig { method default (line 294) | fn default() -> Self { type ConvergenceResult (line 309) | pub struct ConvergenceResult { function test_gestalt_type_all (line 325) | fn test_gestalt_type_all() { function test_gestalt_type_index (line 331) | fn test_gestalt_type_index() { function test_default_config (line 337) | fn test_default_config() { function test_session_entry_serialization (line 345) | fn test_session_entry_serialization() { FILE: scripts/benchmark-model.py class BenchmarkResult (line 69) | class BenchmarkResult: function load_model (line 97) | def load_model(model_path: str) -> ort.InferenceSession: function get_model_info (line 112) | def get_model_info(model_path: str) -> dict: function generate_synthetic_input (line 146) | def generate_synthetic_input( function generate_synthetic_keypoints (line 166) | def generate_synthetic_keypoints( function load_test_data (line 179) | def load_test_data( function benchmark_latency (line 243) | def benchmark_latency( function compute_pck (line 275) | def compute_pck( function extract_keypoints_from_heatmaps (line 295) | def extract_keypoints_from_heatmaps(heatmaps: np.ndarray) -> np.ndarray: function benchmark_model (line 305) | def benchmark_model( function print_comparison_table (line 406) | def print_comparison_table(results: list[BenchmarkResult]): function main (line 452) | def main(): FILE: scripts/check_health.py function color (line 36) | def color(text: str, code: str) -> str: function green (line 42) | def green(t: str) -> str: function yellow (line 46) | def yellow(t: str) -> str: function red (line 50) | def red(t: str) -> str: class HealthCheck (line 55) | class HealthCheck: function check_no_crash (line 62) | def check_no_crash(lines: List[str]) -> HealthCheck: function check_no_heap_errors (line 95) | def check_no_heap_errors(lines: List[str]) -> HealthCheck: function check_no_stack_overflow (line 126) | def check_no_stack_overflow(lines: List[str]) -> HealthCheck: function check_frame_activity (line 153) | def check_frame_activity(lines: List[str]) -> HealthCheck: function run_health_checks (line 191) | def run_health_checks( function main (line 256) | def main(): FILE: scripts/collect-training-data.py function parse_packet (line 71) | def parse_packet(data: bytes) -> Optional[dict]: function _parse_feature_packet (line 86) | def _parse_feature_packet(data: bytes) -> Optional[dict]: function _parse_raw_csi_packet (line 114) | def _parse_raw_csi_packet(data: bytes) -> Optional[dict]: class CsiRecorder (line 155) | class CsiRecorder: method __init__ (line 158) | def __init__(self, output_dir: str, session_name: str, label: Optional... method open (line 173) | def open(self): method write_frame (line 177) | def write_frame(self, frame: dict): method close (line 200) | def close(self) -> dict: function generate_manifest (line 236) | def generate_manifest(output_dir: str) -> dict: function collect_session (line 280) | def collect_session( function main (line 353) | def main(): FILE: scripts/esp32_wasm_test.py function leb128_u (line 35) | def leb128_u(val): function leb128_s (line 49) | def leb128_s(val): function section (line 63) | def section(section_id, data): function vec (line 68) | def vec(items): function func_type (line 73) | def func_type(params, results): function import_entry (line 78) | def import_entry(module, name, kind_byte, type_idx): function export_entry (line 85) | def export_entry(name, kind, idx): function f32_bytes (line 102) | def f32_bytes(val): function build_module (line 107) | def build_module(name, event_id, event_value, imports_needed=None): function discover_esp32 (line 291) | def discover_esp32(subnet="192.168.1", port=8032, start=1, end=80): function get_status (line 317) | def get_status(host, port): function upload_module (line 324) | def upload_module(host, port, slot, wasm_bytes, name="test"): function get_slot_status (line 343) | def get_slot_status(host, port, slot): function reset_slot (line 351) | def reset_slot(host, port, slot): function run_test_suite (line 364) | def run_test_suite(host, port, wasm_binary_path=None): function main (line 548) | def main(): FILE: scripts/generate_nvs_matrix.py class NvsEntry (line 36) | class NvsEntry: class NvsConfig (line 45) | class NvsConfig: method to_csv (line 51) | def to_csv(self) -> str: function define_configs (line 62) | def define_configs() -> List[NvsConfig]: function generate_nvs_binary (line 265) | def generate_nvs_binary(csv_content: str, size: int) -> bytes: function main (line 341) | def main(): FILE: scripts/inject_fault.py function connect_monitor (line 35) | def connect_monitor(sock_path: str, timeout: float = CMD_TIMEOUT) -> soc... function send_cmd (line 61) | def send_cmd(s: socket.socket, cmd: str, timeout: float = CMD_TIMEOUT) -... function fault_wifi_kill (line 87) | def fault_wifi_kill(s: socket.socket) -> None: function fault_ring_flood (line 97) | def fault_ring_flood(s: socket.socket) -> None: function fault_heap_exhaust (line 128) | def fault_heap_exhaust(s: socket.socket, flash_path: str = None) -> None: function fault_timer_starvation (line 148) | def fault_timer_starvation(s: socket.socket) -> None: function fault_corrupt_frame (line 157) | def fault_corrupt_frame(s: socket.socket, flash_path: str = None) -> None: function fault_nvs_corrupt (line 177) | def fault_nvs_corrupt(s: socket.socket, flash_path: str = None) -> None: function main (line 211) | def main(): FILE: scripts/mmwave_fusion_bridge.py class SensorState (line 26) | class SensorState: method update (line 36) | def update(self, **kwargs): method snapshot (line 43) | def snapshot(self): function read_mmwave_serial (line 70) | def read_mmwave_serial(port: str, baud: int, state: SensorState, stop: t... function read_csi_serial (line 110) | def read_csi_serial(port: str, baud: int, state: SensorState, stop: thre... function fuse_and_display (line 141) | def fuse_and_display(mmwave: SensorState, csi: SensorState, stop: thread... function main (line 207) | def main(): FILE: scripts/provision.py function build_nvs_csv (line 33) | def build_nvs_csv(ssid, password, target_ip, target_port, node_id, function generate_nvs_binary (line 74) | def generate_nvs_binary(csv_content, size): function flash_nvs (line 127) | def flash_nvs(port, baud, nvs_bin): function main (line 149) | def main(): FILE: scripts/publish-huggingface.py function get_token_from_gcloud (line 38) | def get_token_from_gcloud( function auto_version (line 80) | def auto_version() -> str: function validate_model_dir (line 96) | def validate_model_dir(model_dir: Path) -> list[Path]: function publish (line 125) | def publish( function main (line 202) | def main() -> None: FILE: scripts/qemu_swarm.py function _c (line 70) | def _c(text: str, code: str) -> str: function info (line 74) | def info(msg: str) -> None: function warn (line 78) | def warn(msg: str) -> None: function error (line 82) | def error(msg: str) -> None: function fatal (line 86) | def fatal(msg: str) -> None: class NodeConfig (line 94) | class NodeConfig: class SwarmConfig (line 106) | class SwarmConfig: method coordinator_nodes (line 114) | def coordinator_nodes(self) -> List[NodeConfig]: method sensor_nodes (line 117) | def sensor_nodes(self) -> List[NodeConfig]: function validate_config (line 121) | def validate_config(raw: dict) -> SwarmConfig: function list_presets (line 194) | def list_presets() -> List[Tuple[str, str]]: function load_preset (line 215) | def load_preset(name: str) -> dict: function provision_node (line 237) | def provision_node( class NetworkState (line 321) | class NetworkState: function _run_ip (line 328) | def _run_ip(args: List[str], check: bool = False) -> subprocess.Complete... function setup_network (line 337) | def setup_network(cfg: SwarmConfig, net: NetworkState) -> Dict[int, List... function teardown_network (line 456) | def teardown_network(net: NetworkState) -> None: function launch_node (line 473) | def launch_node( function start_aggregator (line 501) | def start_aggregator( function run_assertions (line 539) | def run_assertions( class SwarmOrchestrator (line 751) | class SwarmOrchestrator: method __init__ (line 754) | def __init__( method _signal_handler (line 780) | def _signal_handler(self, signum: int, frame: Any) -> None: method cleanup (line 785) | def cleanup(self) -> None: method run (line 810) | def run(self) -> int: method _dry_run (line 919) | def _dry_run(self) -> int: method _check_prerequisites (line 973) | def _check_prerequisites(self) -> None: method _write_summary (line 1009) | def _write_summary(self, exit_code: int) -> None: function build_parser (line 1044) | def build_parser() -> argparse.ArgumentParser: function main (line 1087) | def main() -> int: FILE: scripts/seed_csi_bridge.py function parse_feature_packet (line 73) | def parse_feature_packet(data: bytes) -> dict | None: function parse_vitals_packet (line 93) | def parse_vitals_packet(data: bytes) -> dict | None: function parse_raw_csi_packet (line 150) | def parse_raw_csi_packet(data: bytes) -> dict | None: function _validate_features (line 170) | def _validate_features(parsed: dict | None) -> dict | None: function parse_packet (line 184) | def parse_packet(data: bytes) -> dict | None: function _make_vector_id (line 198) | def _make_vector_id(node_id: int, timestamp_us: int, seq_counter: int) -... class SeedClient (line 210) | class SeedClient: method __init__ (line 213) | def __init__(self, base_url: str, token: str): method _request (line 221) | def _request(self, method: str, path: str, body: dict | None = None, method ingest (line 245) | def ingest(self, vectors: list[tuple[int, list[float]]]) -> dict: method query (line 249) | def query(self, vector: list[float], k: int = 5) -> dict: method compact (line 253) | def compact(self) -> dict: method status (line 257) | def status(self) -> dict: method boundary (line 261) | def boundary(self) -> dict: method coherence_profile (line 265) | def coherence_profile(self) -> dict: method graph_stats (line 269) | def graph_stats(self) -> dict: method read_pir (line 273) | def read_pir(self, pin: int = 6) -> dict | None: method verify_witness (line 285) | def verify_witness(self) -> dict: function _flush_batch (line 290) | def _flush_batch(seed: SeedClient, batch: list, stats: dict, function _run_validation (line 323) | def _run_validation(seed: SeedClient, features: list[float], function run_bridge (line 367) | def run_bridge(args): function run_stats (line 511) | def run_stats(args): function run_compact (line 568) | def run_compact(args): function main (line 580) | def main(): FILE: scripts/swarm_health.py function _color (line 33) | def _color(text: str, code: str) -> str: function green (line 37) | def green(t: str) -> str: function yellow (line 41) | def yellow(t: str) -> str: function red (line 45) | def red(t: str) -> str: class AssertionResult (line 54) | class AssertionResult: class NodeLog (line 63) | class NodeLog: function load_logs (line 74) | def load_logs(log_dir: Path, node_count: int) -> List[NodeLog]: function _node_count_from_dir (line 89) | def _node_count_from_dir(log_dir: Path) -> int: function assert_all_nodes_boot (line 125) | def assert_all_nodes_boot(logs: List[NodeLog], timeout_s: float = 10.0) ... function assert_no_crashes (line 148) | def assert_no_crashes(logs: List[NodeLog]) -> AssertionResult: function assert_tdm_no_collision (line 175) | def assert_tdm_no_collision(logs: List[NodeLog]) -> AssertionResult: function assert_all_nodes_produce_frames (line 211) | def assert_all_nodes_produce_frames( function assert_coordinator_receives_from_all (line 247) | def assert_coordinator_receives_from_all( function assert_fall_detected (line 294) | def assert_fall_detected(logs: List[NodeLog], node_id: int) -> Assertion... function assert_frame_rate_above (line 321) | def assert_frame_rate_above(logs: List[NodeLog], min_fps: float = 10.0) ... function assert_max_boot_time (line 366) | def assert_max_boot_time(logs: List[NodeLog], max_seconds: float = 10.0)... function assert_no_heap_errors (line 398) | def assert_no_heap_errors(logs: List[NodeLog]) -> AssertionResult: function _parse_assertion_spec (line 442) | def _parse_assertion_spec(spec: Any) -> tuple: function run_assertions (line 474) | def run_assertions( function print_report (line 524) | def print_report(results: List[AssertionResult], swarm_name: str = "") -... function main (line 568) | def main(): FILE: scripts/validate_mesh_test.py class Severity (line 39) | class Severity(IntEnum): function color (line 50) | def color(text: str, code: str) -> str: function green (line 56) | def green(text: str) -> str: function yellow (line 60) | def yellow(text: str) -> str: function red (line 64) | def red(text: str) -> str: function bold_red (line 68) | def bold_red(text: str) -> str: class CheckResult (line 73) | class CheckResult: class ValidationReport (line 81) | class ValidationReport: method add (line 84) | def add(self, name: str, severity: Severity, message: str, count: int ... method max_severity (line 88) | def max_severity(self) -> Severity: method print_report (line 93) | def print_report(self): function check_node_booted (line 136) | def check_node_booted(log_text: str) -> bool: function check_node_crashed (line 142) | def check_node_crashed(log_text: str) -> Optional[str]: function extract_node_id_from_log (line 156) | def extract_node_id_from_log(log_text: str) -> Optional[int]: function check_vitals_in_log (line 174) | def check_vitals_in_log(log_text: str) -> bool: function validate_mesh (line 189) | def validate_mesh( function main (line 455) | def main(): FILE: scripts/validate_qemu_output.py class Severity (line 29) | class Severity(IntEnum): function color (line 41) | def color(text: str, code: str) -> str: function green (line 47) | def green(text: str) -> str: function yellow (line 51) | def yellow(text: str) -> str: function red (line 55) | def red(text: str) -> str: function bold_red (line 59) | def bold_red(text: str) -> str: class CheckResult (line 64) | class CheckResult: class ValidationReport (line 72) | class ValidationReport: method add (line 75) | def add(self, name: str, severity: Severity, message: str, count: int ... method max_severity (line 79) | def max_severity(self) -> Severity: method print_report (line 84) | def print_report(self): function validate_log (line 123) | def validate_log(log_text: str) -> ValidationReport: function main (line 368) | def main(): FILE: ui/app.js class WiFiDensePoseApp (line 14) | class WiFiDensePoseApp { method constructor (line 15) | constructor() { method init (line 21) | async init() { method initializeServices (line 47) | async initializeServices() { method initializeComponents (line 87) | initializeComponents() { method initializeTabComponents (line 108) | initializeTabComponents() { method initTrainingTab (line 149) | async initTrainingTab() { method handleTabChange (line 171) | handleTabChange(newTab, oldTab) { method setupEventListeners (line 215) | setupEventListeners() { method handleResize (line 233) | handleResize() { method handleVisibilityChange (line 246) | handleVisibilityChange() { method setupErrorHandling (line 259) | setupErrorHandling() { method showBackendStatus (line 276) | showBackendStatus(message, type) { method showGlobalError (line 298) | showGlobalError(message) { method cleanup (line 317) | cleanup() { method getComponent (line 335) | getComponent(name) { method isReady (line 339) | isReady() { FILE: ui/components/DashboardTab.js class DashboardTab (line 7) | class DashboardTab { method constructor (line 8) | constructor(containerElement) { method init (line 16) | async init() { method cacheElements (line 23) | cacheElements() { method loadInitialData (line 44) | async loadInitialData() { method startMonitoring (line 61) | startMonitoring() { method updateDataSourceIndicator (line 88) | updateDataSourceIndicator() { method updateApiInfo (line 107) | updateApiInfo(info) { method updateFeatures (line 128) | updateFeatures(features) { method updateHealthStatus (line 154) | updateHealthStatus(health) { method updateComponentStatus (line 178) | updateComponentStatus(component, status) { method updateSystemMetrics (line 223) | updateSystemMetrics(metrics) { method updateProgressBar (line 254) | updateProgressBar(type, percent) { method getProgressClass (line 266) | getProgressClass(percent) { method updateLiveStats (line 273) | async updateLiveStats() { method updatePoseStats (line 289) | updatePoseStats(poseData) { method updateZonesDisplay (line 319) | updateZonesDisplay(zonesSummary) { method updateStats (line 376) | updateStats(stats) { method formatFeatureName (line 392) | formatFeatureName(name) { method formatNumber (line 400) | formatNumber(num) { method showError (line 411) | showError(message) { method dispose (line 424) | dispose() { FILE: ui/components/HardwareTab.js class HardwareTab (line 3) | class HardwareTab { method constructor (line 4) | constructor(containerElement) { method init (line 12) | init() { method setupAntennas (line 18) | setupAntennas() { method startCSISimulation (line 30) | startCSISimulation() { method hasActiveAntennas (line 43) | hasActiveAntennas() { method updateCSIDisplay (line 48) | updateCSIDisplay() { method updateAntennaArray (line 103) | updateAntennaArray(activeAntennas) { method calculateSignalQuality (line 136) | calculateSignalQuality(txCount, rxCount) { method toggleAllAntennas (line 147) | toggleAllAntennas(active) { method resetAntennas (line 155) | resetAntennas() { method dispose (line 164) | dispose() { FILE: ui/components/LiveDemoTab.js class LiveDemoTab (line 13) | class LiveDemoTab { method constructor (line 14) | constructor(containerElement) { method createLogger (line 74) | createLogger() { method init (line 84) | async init() { method createEnhancedStructure (line 142) | createEnhancedStructure() { method addEnhancedStyles (line 331) | addEnhancedStyles() { method initializePoseCanvas (line 988) | initializePoseCanvas() { method setupEnhancedControls (line 1023) | setupEnhancedControls() { method setupMonitoring (line 1080) | setupMonitoring() { method handleCanvasStateChange (line 1114) | handleCanvasStateChange(state) { method handlePoseUpdate (line 1120) | handlePoseUpdate(data) { method handleCanvasError (line 1130) | handleCanvasError(error) { method handleConnectionStateChange (line 1136) | handleConnectionStateChange(state) { method startDemo (line 1143) | async startDemo() { method stopDemo (line 1174) | stopDemo() { method toggleDebugMode (line 1200) | toggleDebugMode() { method changeZone (line 1217) | async changeZone(zoneId) { method forceReconnect (line 1232) | async forceReconnect() { method clearErrors (line 1248) | clearErrors() { method exportLogs (line 1256) | exportLogs() { method setState (line 1279) | setState(newState) { method updateUI (line 1284) | updateUI() { method updateStatusIndicator (line 1291) | updateStatusIndicator() { method getStatusClass (line 1304) | getStatusClass() { method getStatusText (line 1314) | getStatusText() { method updateSourceBanner (line 1326) | updateSourceBanner() { method updateControls (line 1341) | updateControls() { method updateMetricsDisplay (line 1359) | updateMetricsDisplay() { method updatePoseSourceIndicator (line 1407) | updatePoseSourceIndicator() { method getHealthClass (line 1434) | getHealthClass(status) { method performHealthCheck (line 1443) | async performHealthCheck() { method updateHealthDisplay (line 1462) | updateHealthDisplay(elementId, isHealthy) { method updateDebugOutput (line 1470) | updateDebugOutput(message) { method showError (line 1482) | showError(message) { method clearError (line 1493) | clearError() { method fetchModels (line 1502) | async fetchModels() { method populateModelSelector (line 1520) | populateModelSelector() { method handleLoadModel (line 1536) | async handleLoadModel() { method handleUnloadModel (line 1585) | async handleUnloadModel() { method handleLoraProfileChange (line 1603) | async handleLoraProfileChange(profileName) { method updateModelUI (line 1615) | updateModelUI() { method setModelStatus (line 1662) | setModelStatus(text) { method updateSplitViewAvailability (line 1669) | updateSplitViewAvailability() { method toggleSplitView (line 1676) | toggleSplitView() { method disableSplitView (line 1687) | disableSplitView() { method updateSplitViewOverlay (line 1697) | updateSplitViewOverlay() { method updateTrainingStatus (line 1723) | updateTrainingStatus() { method handleQuickRecord (line 1741) | async handleQuickRecord() { method showTrainingPanel (line 1762) | showTrainingPanel() { method setupServiceListeners (line 1800) | setupServiceListeners() { method setupModelTrainingControls (line 1833) | setupModelTrainingControls() { method dispose (line 1851) | dispose() { FILE: ui/components/ModelPanel.js constant MP_STYLES (line 6) | const MP_STYLES = ` class ModelPanel (line 42) | class ModelPanel { method constructor (line 43) | constructor(container) { method refresh (line 62) | async refresh() { method _load (line 77) | async _load(id) { method _unload (line 83) | async _unload() { method _delete (line 89) | async _delete(id) { method _loraChange (line 95) | async _loraChange(modelId, profile) { method _set (line 102) | _set(p) { Object.assign(this.state, p); this.render(); } method render (line 106) | render() { method _renderActive (line 145) | _renderActive() { method _renderCard (line 186) | _renderCard(model) { method _el (line 208) | _el(tag, cls, txt) { const e = document.createElement(tag); if (cls) e... method _btn (line 209) | _btn(txt, cls, fn) { const b = document.createElement('button'); b.cla... method _tag (line 210) | _tag(txt) { return this._el('span', 'mp-meta-tag', txt); } method _fmtB (line 211) | _fmtB(b) { return b < 1024 ? b + ' B' : b < 1048576 ? (b / 1024).toFix... method _injectStyles (line 213) | _injectStyles() { method destroy (line 221) | destroy() { method dispose (line 227) | dispose() { FILE: ui/components/PoseDetectionCanvas.js class PoseDetectionCanvas (line 7) | class PoseDetectionCanvas { method constructor (line 8) | constructor(containerId, options = {}) { method createLogger (line 58) | createLogger() { method initializeComponent (line 67) | initializeComponent() { method createDOMStructure (line 85) | createDOMStructure() { method addComponentStyles (line 125) | addComponentStyles() { method initializeCanvas (line 391) | initializeCanvas() { method setupAutoResize (line 413) | setupAutoResize() { method setupEventHandlers (line 427) | setupEventHandlers() { method setupPoseServiceSubscription (line 461) | setupPoseServiceSubscription() { method handlePoseUpdate (line 471) | handlePoseUpdate(update) { method renderPoseData (line 515) | renderPoseData(poseData) { method renderCurrentFrameNoClean (line 542) | renderCurrentFrameNoClean(poseData) { method setConnectionState (line 557) | setConnectionState(state) { method updateConnectionIndicator (line 567) | updateConnectionIndicator() { method updateControls (line 578) | updateControls() { method updateStats (line 593) | updateStats() { method showError (line 623) | showError(message) { method clearError (line 633) | clearError() { method start (line 642) | async start() { method stop (line 669) | stop() { method reconnect (line 692) | async reconnect() { method setRenderMode (line 702) | setRenderMode(mode) { method toggleTrail (line 711) | toggleTrail() { method updateTrail (line 724) | updateTrail(poseData) { method renderTrail (line 746) | renderTrail(ctx) { method toggleDemo (line 808) | toggleDemo() { method runDemo (line 819) | runDemo() { method stopDemo (line 855) | stopDemo() { method updateDemoButton (line 872) | updateDemoButton(isRunning) { method startDemoAnimation (line 881) | startDemoAnimation() { method generateAnimatedPoseData (line 897) | generateAnimatedPoseData(time) { method generateWalkingPerson (line 940) | generateWalkingPerson(centerX, centerY, time) { method generateWavingPerson (line 989) | generateWavingPerson(centerX, centerY, time) { method generateDancingPerson (line 1037) | generateDancingPerson(centerX, centerY, time) { method calculateBoundingBox (line 1087) | calculateBoundingBox(keypoints) { method generateDemoKeypoints (line 1107) | generateDemoKeypoints(centerX, centerY) { method showDemoNotification (line 1138) | showDemoNotification(message = '🎭 Demo Mode Active') { method updateConfig (line 1172) | updateConfig(newConfig) { method setCallback (line 1183) | setCallback(eventName, callback) { method notifyCallback (line 1189) | notifyCallback(eventName, data) { method getState (line 1200) | getState() { method getPerformanceMetrics (line 1204) | getPerformanceMetrics() { method exportFrame (line 1208) | exportFrame(format = 'png') { method renderTestShape (line 1213) | renderTestShape() { method showSettings (line 1220) | showSettings() { method createSettingsModal (line 1230) | createSettingsModal() { method setupModalEventHandlers (line 1294) | setupModalEventHandlers(modalContainer) { method addModalStyles (line 1317) | addModalStyles() { method getInitialSettings (line 1474) | getInitialSettings() { method handleSettingsChange (line 1486) | handleSettingsChange(data) { method dispose (line 1513) | dispose() { FILE: ui/components/SensingTab.js class SensingTab (line 12) | class SensingTab { method constructor (line 14) | constructor(container) { method init (line 23) | async init() { method _buildDOM (line 33) | _buildDOM() { method _loadThree (line 141) | async _loadThree() { method _initSplatRenderer (line 161) | _initSplatRenderer() { method _connectService (line 181) | _connectService() { method _onSensingData (line 188) | _onSensingData(data) { method _onStateChange (line 198) | _onStateChange(state) { method _updateHUD (line 232) | _updateHUD(data) { method _setText (line 267) | _setText(id, text) { method _setBar (line 272) | _setBar(barId, value, maxVal, valId, displayVal) { method _drawSparkline (line 284) | _drawSparkline() { method _setupResize (line 314) | _setupResize() { method dispose (line 330) | dispose() { FILE: ui/components/SettingsPanel.js class SettingsPanel (line 6) | class SettingsPanel { method constructor (line 7) | constructor(containerId, options = {}) { method createLogger (line 91) | createLogger() { method initializeComponent (line 100) | initializeComponent() { method createDOMStructure (line 118) | createDOMStructure() { method addSettingsStyles (line 343) | addSettingsStyles() { method setupEventHandlers (line 552) | setupEventHandlers() { method setupSettingChangeHandlers (line 577) | setupSettingChangeHandlers() { method camelCase (line 677) | camelCase(str) { method updateSetting (line 681) | updateSetting(key, value) { method updateUI (line 689) | updateUI() { method updateUIElement (line 696) | updateUIElement(key, value) { method toggleAdvanced (line 723) | toggleAdvanced() { method resetSettings (line 734) | resetSettings() { method exportSettings (line 745) | exportSettings() { method importSettings (line 765) | importSettings(event) { method saveSettings (line 796) | saveSettings() { method loadSettings (line 806) | loadSettings() { method getDefaultSettings (line 820) | getDefaultSettings() { method updateStatus (line 861) | updateStatus(message) { method getSettings (line 874) | getSettings() { method setSetting (line 878) | setSetting(key, value) { method setCallback (line 882) | setCallback(eventName, callback) { method notifyCallback (line 888) | notifyCallback(eventName, data) { method applyToServices (line 899) | applyToServices() { method getRenderConfig (line 927) | getRenderConfig() { method getStreamConfig (line 946) | getStreamConfig() { method dispose (line 955) | dispose() { FILE: ui/components/TabManager.js class TabManager (line 3) | class TabManager { method constructor (line 4) | constructor(containerElement) { method init (line 12) | init() { method switchTab (line 32) | switchTab(tabElement) { method switchToTab (line 58) | switchToTab(tabId) { method onTabChange (line 66) | onTabChange(callback) { method notifyTabChange (line 79) | notifyTabChange(newTab, previousTab) { method getActiveTab (line 90) | getActiveTab() { method setTabEnabled (line 95) | setTabEnabled(tabId, enabled) { method setTabVisible (line 104) | setTabVisible(tabId, visible) { method setTabBadge (line 112) | setTabBadge(tabId, badge) { method dispose (line 132) | dispose() { FILE: ui/components/TrainingPanel.js constant TP_STYLES (line 6) | const TP_STYLES = ` class TrainingPanel (line 59) | class TrainingPanel { method constructor (line 60) | constructor(container) { method _bindEvents (line 81) | _bindEvents() { method _onProgress (line 92) | _onProgress(data) { method refresh (line 100) | async refresh() { method _startRec (line 114) | async _startRec() { method _stopRec (line 123) | async _stopRec() { method _delRec (line 132) | async _delRec(id) { method _launchTraining (line 141) | async _launchTraining(method, extraCfg = {}) { method _stopTraining (line 160) | async _stopTraining() { method _set (line 166) | _set(p) { Object.assign(this.state, p); this.render(); } method render (line 170) | render() { method _renderHeader (line 186) | _renderHeader() { method _renderRecordings (line 197) | _renderRecordings() { method _renderConfig (line 231) | _renderConfig() { method _renderProgress (line 286) | _renderProgress() { method _renderComplete (line 320) | _renderComplete() { method _drawCharts (line 342) | _drawCharts() { method _drawChart (line 347) | _drawChart(id, data, opts) { method _el (line 385) | _el(tag, cls, txt) { method _btn (line 392) | _btn(txt, cls, fn) { method _fmtB (line 398) | _fmtB(b) { return b < 1024 ? b + ' B' : b < 1048576 ? (b / 1024).toFix... method _fmtEta (line 399) | _fmtEta(s) { return s < 60 ? Math.round(s) + 's' : s < 3600 ? Math.rou... method _injectStyles (line 401) | _injectStyles() { method destroy (line 409) | destroy() { method dispose (line 416) | dispose() { FILE: ui/components/body-model.js class BodyModel (line 4) | class BodyModel { method constructor (line 58) | constructor() { method _createMaterials (line 84) | _createMaterials() { method _buildBody (line 123) | _buildBody() { method _createLimb (line 197) | _createLimb(fromName, toName, radius) { method _positionLimb (line 212) | _positionLimb(mesh, from, to, length) { method _createBoneLines (line 233) | _createBoneLines() { method _createPartGlows (line 244) | _createPartGlows() { method updateFromKeypoints (line 291) | updateFromKeypoints(keypoints, personConfidence) { method _avgCoord (line 424) | _avgCoord(keypoints, indices, coord) { method activateParts (line 438) | activateParts(partConfidences) { method update (line 450) | update(delta) { method _updateBoneLines (line 488) | _updateBoneLines() { method _updateMaterialColors (line 505) | _updateMaterialColors() { method setWorldPosition (line 541) | setWorldPosition(x, y, z) { method getGroup (line 545) | getGroup() { method dispose (line 549) | dispose() { class BodyModelManager (line 565) | class BodyModelManager { method constructor (line 566) | constructor(scene) { method update (line 575) | update(personsData, delta) { method getActiveCount (line 624) | getActiveCount() { method getAverageConfidence (line 628) | getAverageConfidence() { method dispose (line 637) | dispose() { FILE: ui/components/dashboard-hud.js class DashboardHUD (line 4) | class DashboardHUD { method constructor (line 5) | constructor(container) { method _build (line 29) | _build() { method updateState (line 334) | updateState(newState) { method tickFPS (line 340) | tickFPS() { method _render (line 366) | _render() { method dispose (line 424) | dispose() { FILE: ui/components/environment.js class Environment (line 4) | class Environment { method constructor (line 5) | constructor(scene) { method _buildFloor (line 50) | _buildFloor() { method _buildGrid (line 69) | _buildGrid() { method _buildWalls (line 117) | _buildWalls() { method _buildAPMarkers (line 184) | _buildAPMarkers() { method _buildSignalPaths (line 248) | _buildSignalPaths() { method _buildDetectionZones (line 273) | _buildDetectionZones() { method _buildConfidenceHeatmap (line 319) | _buildConfidenceHeatmap() { method _createLabel (line 356) | _createLabel(text, color) { method updateZoneOccupancy (line 379) | updateZoneOccupancy(zoneOccupancy) { method updateConfidenceHeatmap (line 394) | updateConfidenceHeatmap(confidenceMap) { method generateDemoHeatmap (line 419) | static generateDemoHeatmap(personPositions, cols, rows, roomWidth, roo... method update (line 441) | update(delta, elapsed) { method getGroup (line 462) | getGroup() { method dispose (line 466) | dispose() { FILE: ui/components/gaussian-splats.js constant SPLAT_VERTEX (line 17) | const SPLAT_VERTEX = ` constant SPLAT_FRAGMENT (line 35) | const SPLAT_FRAGMENT = ` function valueToColor (line 51) | function valueToColor(v) { class GaussianSplatRenderer (line 71) | class GaussianSplatRenderer { method constructor (line 78) | constructor(container, opts = {}) { method _createRoom (line 127) | _createRoom(THREE) { method _createFieldSplats (line 143) | _createFieldSplats(THREE) { method _createNodeMarkers (line 185) | _createNodeMarkers(THREE) { method _createBodyBlob (line 201) | _createBodyBlob(THREE) { method _setupMouseControls (line 245) | _setupMouseControls() { method update (line 297) | update(data) { method _animate (line 381) | _animate() { method resize (line 395) | resize(width, height) { method dispose (line 403) | dispose() { FILE: ui/components/scene.js class Scene (line 4) | class Scene { method constructor (line 5) | constructor(container) { method _init (line 26) | _init() { method _setupLights (line 76) | _setupLights() { method onUpdate (line 112) | onUpdate(callback) { method start (line 120) | start() { method stop (line 127) | stop() { method _animate (line 135) | _animate() { method _onResize (line 151) | _onResize() { method add (line 162) | add(object) { method remove (line 167) | remove(object) { method getScene (line 172) | getScene() { return this.scene; } method getCamera (line 173) | getCamera() { return this.camera; } method getRenderer (line 174) | getRenderer() { return this.renderer; } method resetCamera (line 177) | resetCamera() { method dispose (line 183) | dispose() { FILE: ui/components/signal-viz.js class SignalVisualization (line 4) | class SignalVisualization { method constructor (line 5) | constructor(scene) { method _buildAmplitudeHeatmap (line 46) | _buildAmplitudeHeatmap() { method _buildPhasePlot (line 91) | _buildPhasePlot() { method _buildDopplerSpectrum (line 143) | _buildDopplerSpectrum() { method _buildMotionIndicator (line 181) | _buildMotionIndicator() { method _buildLabels (line 226) | _buildLabels() { method _createTextSprite (line 251) | _createTextSprite(text, opts = {}) { method updateSignalData (line 281) | updateSignalData(data) { method update (line 309) | update(delta, elapsed) { method _updateHeatmap (line 316) | _updateHeatmap() { method _updatePhasePlot (line 333) | _updatePhasePlot() { method _updateDoppler (line 363) | _updateDoppler(delta) { method _updateMotionIndicator (line 385) | _updateMotionIndicator(delta, elapsed) { method generateDemoData (line 416) | static generateDemoData(elapsed) { method getGroup (line 453) | getGroup() { method dispose (line 457) | dispose() { FILE: ui/config/api.config.js constant API_CONFIG (line 9) | const API_CONFIG = { function buildApiUrl (line 94) | function buildApiUrl(endpoint, params = {}) { function buildWsUrl (line 115) | function buildWsUrl(endpoint, params = {}) { FILE: ui/mobile/App.tsx function App (line 14) | function App() { FILE: ui/mobile/src/__tests__/__mocks__/importMetaRegistry.js method url (line 3) | get url() { FILE: ui/mobile/src/__tests__/services/ws.service.test.ts function createWsService (line 24) | function createWsService() { class MockWebSocket (line 51) | class MockWebSocket { method close (line 59) | close() {} method constructor (line 60) | constructor(url: string) { FILE: ui/mobile/src/__tests__/test-utils.tsx type TestProvidersProps (line 8) | type TestProvidersProps = PropsWithChildren; type RenderWithProvidersOptions (line 24) | interface RenderWithProvidersOptions extends Omit, 'styl... FILE: ui/mobile/src/components/ThemedView.tsx type ThemedViewProps (line 5) | type ThemedViewProps = PropsWithChildren; FILE: ui/mobile/src/constants/api.ts constant API_ROOT (line 1) | const API_ROOT = '/api/v1'; constant API_POSE_STATUS_PATH (line 3) | const API_POSE_STATUS_PATH = '/api/v1/pose/status'; constant API_POSE_FRAMES_PATH (line 4) | const API_POSE_FRAMES_PATH = '/api/v1/pose/frames'; constant API_POSE_ZONES_PATH (line 5) | const API_POSE_ZONES_PATH = '/api/v1/pose/zones'; constant API_POSE_CURRENT_PATH (line 6) | const API_POSE_CURRENT_PATH = '/api/v1/pose/current'; constant API_STREAM_STATUS_PATH (line 7) | const API_STREAM_STATUS_PATH = '/api/v1/stream/status'; constant API_STREAM_POSE_PATH (line 8) | const API_STREAM_POSE_PATH = '/api/v1/stream/pose'; constant API_MAT_EVENTS_PATH (line 9) | const API_MAT_EVENTS_PATH = '/api/v1/mat/events'; constant API_HEALTH_PATH (line 11) | const API_HEALTH_PATH = '/health'; constant API_HEALTH_SYSTEM_PATH (line 12) | const API_HEALTH_SYSTEM_PATH = '/health/health'; constant API_HEALTH_READY_PATH (line 13) | const API_HEALTH_READY_PATH = '/health/ready'; constant API_HEALTH_LIVE_PATH (line 14) | const API_HEALTH_LIVE_PATH = '/health/live'; FILE: ui/mobile/src/constants/simulation.ts constant SIMULATION_TICK_INTERVAL_MS (line 1) | const SIMULATION_TICK_INTERVAL_MS = 500; constant SIMULATION_GRID_SIZE (line 2) | const SIMULATION_GRID_SIZE = 20; constant RSSI_BASE_DBM (line 4) | const RSSI_BASE_DBM = -45; constant RSSI_AMPLITUDE_DBM (line 5) | const RSSI_AMPLITUDE_DBM = 3; constant VARIANCE_BASE (line 7) | const VARIANCE_BASE = 1.5; constant VARIANCE_AMPLITUDE (line 8) | const VARIANCE_AMPLITUDE = 1.0; constant MOTION_BAND_MIN (line 10) | const MOTION_BAND_MIN = 0.05; constant MOTION_BAND_AMPLITUDE (line 11) | const MOTION_BAND_AMPLITUDE = 0.15; constant BREATHING_BAND_MIN (line 12) | const BREATHING_BAND_MIN = 0.03; constant BREATHING_BAND_AMPLITUDE (line 13) | const BREATHING_BAND_AMPLITUDE = 0.08; constant SIGNAL_FIELD_PRESENCE_LEVEL (line 15) | const SIGNAL_FIELD_PRESENCE_LEVEL = 0.8; constant BREATHING_BPM_MIN (line 17) | const BREATHING_BPM_MIN = 12; constant BREATHING_BPM_MAX (line 18) | const BREATHING_BPM_MAX = 24; constant HEART_BPM_MIN (line 19) | const HEART_BPM_MIN = 58; constant HEART_BPM_MAX (line 20) | const HEART_BPM_MAX = 96; FILE: ui/mobile/src/constants/websocket.ts constant WS_PATH (line 1) | const WS_PATH = '/api/v1/stream/pose'; constant RECONNECT_DELAYS (line 2) | const RECONNECT_DELAYS = [1000, 2000, 4000, 8000, 16000]; constant MAX_RECONNECT_ATTEMPTS (line 3) | const MAX_RECONNECT_ATTEMPTS = 10; FILE: ui/mobile/src/hooks/usePoseStream.ts type UsePoseStreamResult (line 6) | interface UsePoseStreamResult { function usePoseStream (line 12) | function usePoseStream(): UsePoseStreamResult { FILE: ui/mobile/src/hooks/useRssiScanner.ts function useRssiScanner (line 5) | function useRssiScanner(): { networks: WifiNetwork[]; isScanning: boolea... FILE: ui/mobile/src/hooks/useServerReachability.ts type ServerReachability (line 4) | interface ServerReachability { constant POLL_MS (line 9) | const POLL_MS = 10000; function useServerReachability (line 11) | function useServerReachability(): ServerReachability { FILE: ui/mobile/src/navigation/types.ts type RootStackParamList (line 1) | type RootStackParamList = { type MainTabsParamList (line 5) | type MainTabsParamList = { FILE: ui/mobile/src/screens/LiveScreen/GaussianSplatWebView.tsx type GaussianSplatWebViewProps (line 6) | type GaussianSplatWebViewProps = { FILE: ui/mobile/src/screens/LiveScreen/GaussianSplatWebView.web.tsx type Props (line 6) | type Props = { constant MAX_PERSONS (line 13) | const MAX_PERSONS = 3; constant BONES (line 16) | const BONES: [number, number][] = [ constant BASE_POSE (line 22) | const BASE_POSE: [number, number, number][] = [ constant DENSEPOSE_COLORS (line 43) | const DENSEPOSE_COLORS: Record = { constant PERSON_HUES (line 64) | const PERSON_HUES = [0, 0.12, -0.10]; constant BODY_SEGS (line 67) | const BODY_SEGS: [number, number, number, number, string][] = [ function tintColor (line 82) | function tintColor(base: number, hueShift: number): number { type BodyGroup (line 90) | interface BodyGroup { function makePart (line 114) | function makePart(scene: THREE.Scene, rTop: number, rBot: number, color:... function createBodyGroup (line 131) | function createBodyGroup(scene: THREE.Scene, personIdx: number): BodyGro... function positionLimb (line 261) | function positionLimb(mesh: THREE.Mesh, a: THREE.Vector3, b: THREE.Vecto... function lerp3 (line 271) | function lerp3(out: THREE.Vector3, target: THREE.Vector3, alpha: number) { FILE: ui/mobile/src/screens/LiveScreen/LiveHUD.tsx type LiveMode (line 11) | type LiveMode = 'LIVE' | 'SIM' | 'RSSI'; type LiveHUDProps (line 13) | type LiveHUDProps = { FILE: ui/mobile/src/screens/LiveScreen/index.tsx type LiveMode (line 12) | type LiveMode = 'LIVE' | 'SIM' | 'RSSI'; type ViewerProps (line 26) | type ViewerProps = { FILE: ui/mobile/src/screens/LiveScreen/useGaussianBridge.ts type GaussianBridgeMessageType (line 7) | type GaussianBridgeMessageType = 'READY' | 'FPS_TICK' | 'ERROR'; type BridgeMessage (line 9) | type BridgeMessage = { FILE: ui/mobile/src/screens/MATScreen/AlertCard.tsx type SeverityLevel (line 7) | type SeverityLevel = 'URGENT' | 'HIGH' | 'NORMAL'; type AlertCardProps (line 9) | type AlertCardProps = { type SeverityMeta (line 13) | type SeverityMeta = { FILE: ui/mobile/src/screens/MATScreen/AlertList.tsx type AlertListProps (line 8) | type AlertListProps = { FILE: ui/mobile/src/screens/MATScreen/MatWebView.tsx type MatWebViewProps (line 6) | type MatWebViewProps = { FILE: ui/mobile/src/screens/MATScreen/SurvivorCounter.tsx type SurvivorCounterProps (line 7) | type SurvivorCounterProps = { type Breakdown (line 11) | type Breakdown = { FILE: ui/mobile/src/screens/MATScreen/useMatBridge.ts type MatBridgeMessageType (line 6) | type MatBridgeMessageType = 'CREATE_EVENT' | 'ADD_ZONE' | 'FRAME_UPDATE'; type MatIncomingType (line 8) | type MatIncomingType = 'READY' | 'SURVIVOR_DETECTED' | 'ALERT_GENERATED'; type MatIncomingMessage (line 10) | type MatIncomingMessage = { type MatOutgoingMessage (line 15) | type MatOutgoingMessage = { type UseMatBridgeOptions (line 20) | type UseMatBridgeOptions = { FILE: ui/mobile/src/screens/SettingsScreen/RssiToggle.tsx type RssiToggleProps (line 6) | type RssiToggleProps = { FILE: ui/mobile/src/screens/SettingsScreen/ServerUrlInput.tsx type ServerUrlInputProps (line 9) | type ServerUrlInputProps = { FILE: ui/mobile/src/screens/SettingsScreen/ThemePicker.tsx type ThemePickerProps (line 7) | type ThemePickerProps = { constant OPTIONS (line 12) | const OPTIONS: ThemeMode[] = ['light', 'dark', 'system']; FILE: ui/mobile/src/screens/SettingsScreen/index.tsx type GlowCardProps (line 16) | type GlowCardProps = { FILE: ui/mobile/src/screens/VitalsScreen/BreathingGauge.tsx constant BREATHING_MIN_BPM (line 8) | const BREATHING_MIN_BPM = 0; constant BREATHING_MAX_BPM (line 9) | const BREATHING_MAX_BPM = 30; constant BREATHING_BAND_MAX (line 10) | const BREATHING_BAND_MAX = 0.3; FILE: ui/mobile/src/screens/VitalsScreen/HeartRateGauge.tsx constant HEART_MIN_BPM (line 8) | const HEART_MIN_BPM = 40; constant HEART_MAX_BPM (line 9) | const HEART_MAX_BPM = 120; constant MOTION_BAND_MAX (line 10) | const MOTION_BAND_MAX = 0.5; constant BREATH_BAND_MAX (line 11) | const BREATH_BAND_MAX = 0.3; FILE: ui/mobile/src/screens/VitalsScreen/MetricCard.tsx type MetricCardProps (line 13) | type MetricCardProps = { FILE: ui/mobile/src/screens/VitalsScreen/index.tsx type ConnectionBannerState (line 16) | type ConnectionBannerState = 'connected' | 'simulated' | 'disconnected'; function VitalsScreen (line 23) | function VitalsScreen() { FILE: ui/mobile/src/screens/ZonesScreen/FloorPlanSvg.tsx constant GRID_SIZE (line 21) | const GRID_SIZE = 20; constant CELL_COUNT (line 22) | const CELL_COUNT = GRID_SIZE * GRID_SIZE; type Point (line 24) | type Point = { type FloorPlanSvgProps (line 29) | type FloorPlanSvgProps = { FILE: ui/mobile/src/screens/ZonesScreen/ZoneLegend.tsx type LegendStop (line 7) | type LegendStop = { constant LEGEND_STOPS (line 12) | const LEGEND_STOPS: LegendStop[] = [ function colorToRgba (line 20) | function colorToRgba(value: number): string { FILE: ui/mobile/src/screens/ZonesScreen/useOccupancyGrid.ts constant GRID_SIZE (line 5) | const GRID_SIZE = 20; constant CELL_COUNT (line 6) | const CELL_COUNT = GRID_SIZE * GRID_SIZE; type Point (line 8) | type Point = { FILE: ui/mobile/src/services/api.service.ts class ApiService (line 5) | class ApiService { method constructor (line 9) | constructor() { method setBaseUrl (line 19) | setBaseUrl(url: string): void { method buildUrl (line 23) | private buildUrl(path: string): string { method normalizeError (line 34) | private normalizeError(error: unknown): ApiError { method requestWithRetry (line 56) | private async requestWithRetry(config: AxiosRequestConfig, retriesL... method get (line 71) | get(path: string): Promise { method post (line 75) | post(path: string, body: unknown): Promise { method getStatus (line 79) | getStatus(): Promise { method getZones (line 83) | getZones(): Promise { method getFrames (line 87) | getFrames(limit: number): Promise { FILE: ui/mobile/src/services/rssi.service.android.ts type NativeWifiNetwork (line 4) | type NativeWifiNetwork = { class AndroidRssiService (line 11) | class AndroidRssiService implements RssiService { method startScanning (line 15) | startScanning(intervalMs: number): void { method stopScanning (line 23) | stopScanning(): void { method subscribe (line 30) | subscribe(listener: (networks: WifiNetwork[]) => void): () => void { method scanOnce (line 37) | private async scanOnce(): Promise { method broadcast (line 51) | private broadcast(networks: WifiNetwork[]): void { FILE: ui/mobile/src/services/rssi.service.ios.ts class IosRssiService (line 3) | class IosRssiService implements RssiService { method startScanning (line 7) | startScanning(intervalMs: number): void { method stopScanning (line 16) | stopScanning(): void { method subscribe (line 23) | subscribe(listener: (networks: WifiNetwork[]) => void): () => void { method broadcast (line 30) | private broadcast(networks: WifiNetwork[]): void { FILE: ui/mobile/src/services/rssi.service.ts type WifiNetwork (line 1) | interface WifiNetwork { type RssiService (line 7) | interface RssiService { function getPlatformService (line 23) | function getPlatformService(): RssiService { FILE: ui/mobile/src/services/rssi.service.web.ts class WebRssiService (line 3) | class WebRssiService implements RssiService { method startScanning (line 7) | startScanning(intervalMs: number): void { method stopScanning (line 21) | stopScanning(): void { method subscribe (line 28) | subscribe(listener: (networks: WifiNetwork[]) => void): () => void { method broadcast (line 35) | private broadcast(networks: WifiNetwork[]): void { FILE: ui/mobile/src/services/simulation.service.ts function gaussian (line 20) | function gaussian(x: number, y: number, cx: number, cy: number, sigma: n... function clamp (line 26) | function clamp(v: number, min: number, max: number): number { function generateSimulatedData (line 30) | function generateSimulatedData(timeMs = Date.now()): SensingFrame { FILE: ui/mobile/src/services/ws.service.ts type FrameListener (line 7) | type FrameListener = (frame: SensingFrame) => void; class WsService (line 9) | class WsService { method connect (line 19) | connect(url: string): void { method disconnect (line 78) | disconnect(): void { method subscribe (line 89) | subscribe(listener: FrameListener): () => void { method getStatus (line 96) | getStatus(): ConnectionStatus { method buildWsUrl (line 100) | private buildWsUrl(rawUrl: string): string { method handleStatusChange (line 107) | private handleStatusChange(status: ConnectionStatus): void { method scheduleReconnect (line 115) | private scheduleReconnect(): void { method startSimulation (line 137) | private startSimulation(): void { method stopSimulation (line 150) | private stopSimulation(): void { method clearReconnectTimer (line 157) | private clearReconnectTimer(): void { FILE: ui/mobile/src/stores/matStore.ts type MatState (line 4) | interface MatState { FILE: ui/mobile/src/stores/poseStore.ts type PoseState (line 5) | interface PoseState { constant MAX_RSSI_HISTORY (line 20) | const MAX_RSSI_HISTORY = 60; FILE: ui/mobile/src/stores/settingsStore.ts type Theme (line 5) | type Theme = 'light' | 'dark' | 'system'; type SettingsState (line 7) | interface SettingsState { FILE: ui/mobile/src/theme/ThemeContext.tsx type ThemeMode (line 7) | type ThemeMode = 'light' | 'dark' | 'system'; type ThemeContextValue (line 9) | type ThemeContextValue = { FILE: ui/mobile/src/theme/colors.ts type ColorKey (line 22) | type ColorKey = keyof typeof colors; FILE: ui/mobile/src/types/api.ts type PoseStatus (line 3) | interface PoseStatus { type ZoneConfig (line 18) | interface ZoneConfig { type HistoricalFrames (line 28) | interface HistoricalFrames { type ApiError (line 34) | interface ApiError { FILE: ui/mobile/src/types/mat.ts type DisasterType (line 1) | enum DisasterType { type TriageStatus (line 13) | enum TriageStatus { type ZoneStatus (line 21) | enum ZoneStatus { type AlertPriority (line 28) | enum AlertPriority { type DisasterEvent (line 35) | interface DisasterEvent { type RectangleZone (line 43) | interface RectangleZone { type CircleZone (line 53) | interface CircleZone { type ScanZone (line 63) | type ScanZone = RectangleZone | CircleZone; type Survivor (line 65) | interface Survivor { type Alert (line 81) | interface Alert { FILE: ui/mobile/src/types/navigation.ts type RootStackParamList (line 1) | type RootStackParamList = { type MainTabsParamList (line 5) | type MainTabsParamList = { type LiveScreenParams (line 13) | type LiveScreenParams = undefined; type VitalsScreenParams (line 14) | type VitalsScreenParams = undefined; type ZonesScreenParams (line 15) | type ZonesScreenParams = undefined; type MATScreenParams (line 16) | type MATScreenParams = undefined; type SettingsScreenParams (line 17) | type SettingsScreenParams = undefined; FILE: ui/mobile/src/types/react-native-wifi-reborn.d.ts type NativeWifiNetwork (line 2) | interface NativeWifiNetwork { FILE: ui/mobile/src/types/sensing.ts type ConnectionStatus (line 1) | type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 's... type SensingNode (line 3) | interface SensingNode { type FeatureSet (line 11) | interface FeatureSet { type Classification (line 23) | interface Classification { type SignalField (line 29) | interface SignalField { type VitalsData (line 34) | interface VitalsData { type PoseKeypoint (line 45) | interface PoseKeypoint { type PersonDetection (line 53) | interface PersonDetection { type SensingFrame (line 59) | interface SensingFrame { FILE: ui/mobile/src/utils/colorMap.ts function valueToColor (line 1) | function valueToColor(v: number): [number, number, number] { FILE: ui/mobile/src/utils/formatters.ts function formatRssi (line 1) | function formatRssi(v: number | null | undefined): string { function formatBpm (line 8) | function formatBpm(v: number | null | undefined): string { function formatConfidence (line 15) | function formatConfidence(v: number | null | undefined): string { function formatUptime (line 23) | function formatUptime(ms: number | null | undefined): string { FILE: ui/mobile/src/utils/ringBuffer.ts class RingBuffer (line 1) | class RingBuffer { method constructor (line 6) | constructor(capacity: number, compare?: (a: T, b: T) => number) { method push (line 14) | push(v: T): void { method toArray (line 21) | toArray(): T[] { method clear (line 25) | clear(): void { method max (line 29) | get max(): T | null { method min (line 39) | get min(): T | null { FILE: ui/mobile/src/utils/urlValidator.ts constant ALLOWED_PROTOCOLS (line 1) | const ALLOWED_PROTOCOLS = new Set(['http:', 'https:', 'ws:', 'wss:']); type UrlValidationResult (line 3) | interface UrlValidationResult { function validateServerUrl (line 8) | function validateServerUrl(url: string): UrlValidationResult { FILE: ui/observatory/js/convergence-engine.js constant WAVEFORM_POINTS (line 7) | const WAVEFORM_POINTS = 120; class ConvergenceEngine (line 9) | class ConvergenceEngine { method constructor (line 10) | constructor(scene, panelGroup) { method update (line 122) | update(dt, elapsed, data) { method dispose (line 204) | dispose() { FILE: ui/observatory/js/demo-data.js constant SCENARIOS (line 13) | const SCENARIOS = [ constant CROSSFADE_DURATION (line 28) | const CROSSFADE_DURATION = 2; function _mulberry32 (line 35) | function _mulberry32(seed) { function _makeCorrelatedNoise (line 50) | function _makeCorrelatedNoise(seed, smoothing = 0.95, amplitude = 1) { function _harmonicNoise (line 69) | function _harmonicNoise(t, seed, octaves = 3) { function _smoothstep (line 80) | function _smoothstep(edge0, edge1, x) { function _clamp (line 86) | function _clamp(v, lo, hi) { return Math.max(lo, Math.min(hi, v)); } function _lerp (line 89) | function _lerp(a, b, t) { return a + (b - a) * t; } function _gaussian (line 92) | function _gaussian(d, sigma) { function _getNoiseBank (line 101) | function _getNoiseBank(scenario) { class DemoDataGenerator (line 121) | class DemoDataGenerator { method constructor (line 122) | constructor() { method currentScenario (line 132) | get currentScenario() { method paused (line 136) | get paused() { return this._paused; } method paused (line 137) | set paused(v) { this._paused = v; } method cycleScenario (line 139) | cycleScenario() { method setScenario (line 144) | setScenario(name) { method setCycleDuration (line 155) | setCycleDuration(seconds) { method update (line 160) | update(dt) { method _generate (line 191) | _generate(scenarioIdx, t) { method _baseFrame (line 212) | _baseFrame(overrides) { method _emptyRoom (line 235) | _emptyRoom(t) { method _singleBreathing (line 296) | _singleBreathing(t) { method _twoWalking (line 362) | _twoWalking(t) { method _fallEvent (line 444) | _fallEvent(t) { method _sleepMonitoring (line 571) | _sleepMonitoring(t) { method _intrusionDetect (line 715) | _intrusionDetect(t) { method _gestureControl (line 852) | _gestureControl(t) { method _crowdOccupancy (line 969) | _crowdOccupancy(t) { method _searchRescue (line 1121) | _searchRescue(t) { method _elderlyCare (line 1247) | _elderlyCare(t) { method _fitnessTracking (line 1387) | _fitnessTracking(t) { method _securityPatrol (line 1521) | _securityPatrol(t) { method _flatField (line 1679) | _flatField(base) { method _presenceField (line 1692) | _presenceField(cx, cz, radius, t) { method _twoPresenceField (line 1707) | _twoPresenceField(x1, z1, x2, z2, t) { method _searchRescueField (line 1723) | _searchRescueField(t, scanning, detected, confidence) { method _generateIQ (line 1749) | _generateIQ(count, scale, t) { method _generateVariance (line 1759) | _generateVariance(count, scale, t) { method _blend (line 1765) | _blend(a, b, alpha) { FILE: ui/observatory/js/figure-pool.js constant SKELETON_PAIRS (line 17) | const SKELETON_PAIRS = [ constant BODY_SEGMENT_DEFS (line 25) | const BODY_SEGMENT_DEFS = [ constant BONE_TAPER (line 42) | const BONE_TAPER = (() => { constant SECONDARY_DELAY (line 68) | const SECONDARY_DELAY = [ constant OVERSHOOT (line 89) | const OVERSHOOT = [ constant MAX_FIGURES (line 109) | const MAX_FIGURES = 4; class FigurePool (line 116) | class FigurePool { method constructor (line 122) | constructor(scene, settings, poseSystem) { method figures (line 132) | get figures() { return this._figures; } method _build (line 136) | _build() { method _createFigure (line 142) | _createFigure() { method update (line 268) | update(data, elapsed) { method applyKeypoints (line 302) | applyKeypoints(fig, kps, breathPulse, pos, elapsed = 0, pose = 'standi... method _computeAuraShape (line 422) | _computeAuraShape(fig, pose, breathPulse) { method hide (line 469) | hide(fig) { method applyColors (line 487) | applyColors(wireColor, jointColor) { FILE: ui/observatory/js/holographic-panel.js constant BORDER_VERTEX (line 6) | const BORDER_VERTEX = ` constant BORDER_FRAGMENT (line 14) | const BORDER_FRAGMENT = ` class HolographicPanel (line 43) | class HolographicPanel { method constructor (line 52) | constructor(opts) { method update (line 106) | update(dt, elapsed) { method lookAt (line 111) | lookAt(cameraPos) { method dispose (line 115) | dispose() { FILE: ui/observatory/js/hud-controller.js constant SCENARIO_NAMES (line 15) | const SCENARIO_NAMES = [ constant DEFAULTS (line 21) | const DEFAULTS = { constant SETTINGS_VERSION (line 31) | const SETTINGS_VERSION = '6'; constant PRESETS (line 33) | const PRESETS = { constant SCENARIO_DESCRIPTIONS (line 68) | const SCENARIO_DESCRIPTIONS = { constant SCENARIO_EDGE_MODULES (line 85) | const SCENARIO_EDGE_MODULES = { constant MODULE_COLORS (line 102) | const MODULE_COLORS = { function vitalColor (line 117) | function vitalColor(type, value) { function lerp (line 137) | function lerp(a, b, t) { class HudController (line 143) | class HudController { method constructor (line 144) | constructor(observatory) { method initSettings (line 163) | initSettings() { method initQuickSelect (line 292) | initQuickSelect() { method toggleSettings (line 308) | toggleSettings() { method settingsOpen (line 313) | get settingsOpen() { method saveSettings (line 317) | saveSettings() { method applyPreset (line 323) | applyPreset(preset) { method updateSourceBadge (line 362) | updateSourceBadge(dataSource, ws) { method updateHUD (line 376) | updateHUD(data, demoData) { method updateSparkline (line 454) | updateSparkline(data) { method _setText (line 492) | _setText(id, val) { method _setWidth (line 497) | _setWidth(id, pct) { method _setColor (line 502) | _setColor(id, color) { method _setBarColor (line 507) | _setBarColor(id, color) { method _bindRange (line 512) | _bindRange(id, key, applyFn) { method _updatePersonDots (line 527) | _updatePersonDots(count) { method _updateScenarioDescription (line 546) | _updateScenarioDescription(scenarioKey) { method _updateEdgeModules (line 552) | _updateEdgeModules(scenarioKey) { FILE: ui/observatory/js/main.js class Observatory (line 38) | class Observatory { method constructor (line 39) | constructor() { method _setupLighting (line 147) | _setupLighting() { method _buildRoom (line 184) | _buildRoom() { method _buildRouter (line 223) | _buildRouter() { method _buildWifiWaves (line 254) | _buildWifiWaves() { method _buildDotMatrixMist (line 278) | _buildDotMatrixMist() { method _buildParticleTrail (line 324) | _buildParticleTrail() { method _buildSignalField (line 365) | _buildSignalField() { method _initKeyboard (line 395) | _initKeyboard() { method _applyPostSettings (line 419) | _applyPostSettings() { method _applyColors (line 429) | _applyColors() { method _autoDetectLive (line 438) | _autoDetectLive() { method _connectWS (line 475) | _connectWS(url) { method _disconnectWS (line 494) | _disconnectWS() { method _animate (line 503) | _animate() { method _updateDotMatrixMist (line 554) | _updateDotMatrixMist(data, elapsed) { method _updateParticleTrail (line 606) | _updateParticleTrail(data, dt, elapsed) { method _updateWifiWaves (line 642) | _updateWifiWaves(elapsed) { method _updateSignalField (line 655) | _updateSignalField(data) { method _updateFPS (line 681) | _updateFPS(dt) { method _adaptQuality (line 695) | _adaptQuality() { method _onResize (line 706) | _onResize() { FILE: ui/observatory/js/nebula-background.js constant BG_VERTEX (line 7) | const BG_VERTEX = ` constant BG_FRAGMENT (line 15) | const BG_FRAGMENT = ` class NebulaBackground (line 80) | class NebulaBackground { method constructor (line 81) | constructor(scene) { method update (line 102) | update(dt, elapsed) { method setQuality (line 106) | setQuality(level) { method dispose (line 111) | dispose() { FILE: ui/observatory/js/phase-constellation.js constant NUM_SUBCARRIERS (line 7) | const NUM_SUBCARRIERS = 64; class PhaseConstellation (line 9) | class PhaseConstellation { method constructor (line 10) | constructor(scene, panelGroup) { method _addAxes (line 75) | _addAxes() { method update (line 97) | update(dt, elapsed, data) { method dispose (line 162) | dispose() { FILE: ui/observatory/js/pose-system.js class PoseSystem (line 13) | class PoseSystem { method generateKeypoints (line 17) | generateKeypoints(person, elapsed, breathPulse) { method rotateKps (line 48) | rotateKps(kps, cx, cz, angle) { method poseStanding (line 60) | poseStanding(px, pz, elapsed, ms, bp) { method poseWalking (line 96) | poseWalking(px, pz, elapsed, ms, bp) { method poseLying (line 147) | poseLying(px, surfaceY, pz, elapsed, bp) { method poseSitting (line 208) | poseSitting(px, pz, elapsed, bp) { method poseFallen (line 246) | poseFallen(px, pz, elapsed) { method poseFalling (line 286) | poseFalling(px, pz, elapsed, progress) { method poseExercising (line 326) | poseExercising(px, pz, elapsed, exerciseType, exerciseTime) { method _poseSquats (line 337) | _poseSquats(px, pz, et) { method _poseJumpingJacks (line 374) | _poseJumpingJacks(px, pz, et) { method poseGesturing (line 413) | poseGesturing(px, pz, elapsed, gestureType, intensity) { method _gestureWave (line 434) | _gestureWave(base, px, pz, gt, intensity) { method _gestureSwipe (line 462) | _gestureSwipe(base, px, pz, gt, intensity) { method _gestureCircle (line 485) | _gestureCircle(base, px, pz, gt, intensity) { method _gesturePoint (line 512) | _gesturePoint(base, px, pz, gt, intensity) { method poseCrouching (line 531) | poseCrouching(px, pz, elapsed, bp) { FILE: ui/observatory/js/post-processing.js class PostProcessing (line 70) | class PostProcessing { method constructor (line 71) | constructor(renderer, scene, camera) { method update (line 93) | update(elapsed) { method render (line 97) | render() { method resize (line 101) | resize(width, height) { method setQuality (line 106) | setQuality(level) { method dispose (line 122) | dispose() { FILE: ui/observatory/js/presence-cartography.js constant GRID_X (line 7) | const GRID_X = 20; constant GRID_Y (line 8) | const GRID_Y = 4; constant GRID_Z (line 9) | const GRID_Z = 20; constant TOTAL_VOXELS (line 10) | const TOTAL_VOXELS = GRID_X * GRID_Y * GRID_Z; constant VOXEL_SIZE (line 11) | const VOXEL_SIZE = 0.22; class PresenceCartography (line 13) | class PresenceCartography { method constructor (line 14) | constructor(scene, panelGroup) { method update (line 92) | update(dt, elapsed, data) { method setQuality (line 164) | setQuality(level) { method dispose (line 174) | dispose() { FILE: ui/observatory/js/scenario-props.js constant SCENARIO_PROPS (line 12) | const SCENARIO_PROPS = { class ScenarioProps (line 27) | class ScenarioProps { method constructor (line 28) | constructor(scene) { method _box (line 52) | _box(x, y, z, w, h, d, mat) { method _cyl (line 61) | _cyl(x, y, z, rTop, rBot, h, segs, mat) { method _build (line 73) | _build() { method _buildBed (line 90) | _buildBed(darkMat) { method _buildChair (line 176) | _buildChair(darkMat, accentMat) { method _buildExerciseMat (line 229) | _buildExerciseMat() { method _buildDoor (line 274) | _buildDoor() { method _buildRubbleWall (line 340) | _buildRubbleWall() { method _buildScreen (line 418) | _buildScreen(metalMat) { method _buildDesks (line 463) | _buildDesks(darkMat, metalMat, accentMat) { method _buildOfficeChair (line 531) | _buildOfficeChair(parent, x, z, darkMat, metalMat) { method _buildCameras (line 552) | _buildCameras(metalMat) { method _buildAlertSystem (line 617) | _buildAlertSystem() { method update (line 649) | update(data, currentScenario) { FILE: ui/observatory/js/subcarrier-manifold.js constant MANIFOLD_VERTEX (line 7) | const MANIFOLD_VERTEX = ` constant MANIFOLD_FRAGMENT (line 21) | const MANIFOLD_FRAGMENT = ` constant SUBS (line 42) | const SUBS = 64; constant TIME_SLOTS (line 43) | const TIME_SLOTS = 60; class SubcarrierManifold (line 45) | class SubcarrierManifold { method constructor (line 46) | constructor(scene, panelGroup) { method update (line 114) | update(dt, elapsed, data) { method _rebuildHeights (line 137) | _rebuildHeights() { method dispose (line 157) | dispose() { FILE: ui/observatory/js/vitals-oracle.js class VitalsOracle (line 7) | class VitalsOracle { method constructor (line 8) | constructor(scene, panelGroup) { method _createBeatSprite (line 96) | _createBeatSprite(color) { method update (line 120) | update(dt, elapsed, data) { method dispose (line 177) | dispose() { FILE: ui/pose-fusion/js/canvas-renderer.js class CanvasRenderer (line 8) | class CanvasRenderer { method constructor (line 9) | constructor() { method drawSkeleton (line 33) | drawSkeleton(ctx, keypoints, width, height, opts = {}) { method drawCsiHeatmap (line 145) | drawCsiHeatmap(ctx, heatmap, canvasW, canvasH) { method drawEmbeddingSpace (line 187) | drawEmbeddingSpace(ctx, points, w, h) { method _heatmapColor (line 291) | _heatmapColor(val) { FILE: ui/pose-fusion/js/cnn-embedder.js function mulberry32 (line 13) | function mulberry32(seed) { class CnnEmbedder (line 22) | class CnnEmbedder { method constructor (line 30) | constructor(opts = {}) { method tryLoadWasm (line 77) | async tryLoadWasm(wasmPath) { method extract (line 127) | extract(rgbData, width, height) { method _extractJS (line 137) | _extractJS(rgbData, width, height) { method _extractWithAttention (line 220) | _extractWithAttention(convOut, numTokens, channels) { method _energy (line 347) | _energy(vec) { method _conv2d3x3 (line 353) | _conv2d3x3(input, H, W, Cin, Cout) { method _batchNorm (line 376) | _batchNorm(data, channels) { method _resize (line 386) | _resize(rgbData, srcW, srcH, dstW, dstH) { method cosineSim (line 405) | cosineSim(a, b) { method l2Norm (line 413) | l2Norm(vec) { method pairwiseDistances (line 423) | pairwiseDistances(vectors) { method cosineSimilarity (line 431) | static cosineSimilarity(a, b) { FILE: ui/pose-fusion/js/csi-simulator.js class CsiSimulator (line 11) | class CsiSimulator { method constructor (line 14) | constructor(opts = {}) { method connectLive (line 52) | async connectLive(url) { method disconnect (line 69) | disconnect() { method isLive (line 74) | get isLive() { return this.mode === 'live'; } method updatePersonState (line 81) | updatePersonState(presence, x, y, motion) { method nextFrame (line 119) | nextFrame(elapsed) { method buildPseudoImage (line 162) | buildPseudoImage(targetSize = 56) { method getHeatmapData (line 201) | getHeatmapData() { method _generateDemoFrame (line 219) | _generateDemoFrame(amp, phase, elapsed) { method _handleLiveFrame (line 260) | _handleLiveFrame(data) { method _handleJsonFrame (line 297) | _handleJsonFrame(msg) { method _mulberry32 (line 355) | _mulberry32(seed) { FILE: ui/pose-fusion/js/fusion-engine.js class FusionEngine (line 8) | class FusionEngine { method constructor (line 14) | constructor(embeddingDim = 128, opts = {}) { method setWasmModule (line 37) | setWasmModule(mod) { this.wasmModule = mod; } method updateConfidence (line 46) | updateConfidence(videoBrightness, videoMotion, csiSnr, csiActive) { method fuse (line 76) | fuse(videoEmb, csiEmb, mode = 'dual') { method getEmbeddingPoints (line 117) | getEmbeddingPoints() { method getCrossModalSimilarity (line 144) | getCrossModalSimilarity() { method _jsNormalize (line 164) | _jsNormalize(vec) { method _recordEmbedding (line 171) | _recordEmbedding(video, csi, fused) { FILE: ui/pose-fusion/js/main.js constant RSSI_HISTORY_MAX (line 81) | const RSSI_HISTORY_MAX = 80; function init (line 84) | function init() { function startCamera (line 158) | async function startCamera() { function updateModeUI (line 171) | function updateModeUI() { function resizeCanvases (line 189) | function resizeCanvases() { function mainLoop (line 209) | function mainLoop(timestamp) { function updateRssi (line 381) | function updateRssi(dbm) { function drawRssiSparkline (line 411) | function drawRssiSparkline() { FILE: ui/pose-fusion/js/pose-decoder.js constant KEYPOINT_NAMES (line 13) | const KEYPOINT_NAMES = [ constant SKELETON_CONNECTIONS (line 26) | const SKELETON_CONNECTIONS = [ constant PROPORTIONS (line 44) | const PROPORTIONS = { class PoseDecoder (line 63) | class PoseDecoder { method constructor (line 64) | constructor(embeddingDim = 128) { method _buildJointEmbeddingMap (line 104) | _buildJointEmbeddingMap(dim) { method decode (line 133) | decode(embedding, motionRegion, elapsed, csiState = {}) { method _trackFromMotionGrid (line 188) | _trackFromMotionGrid(region, embedding, elapsed) { method _computeEmbeddingStats (line 421) | _computeEmbeddingStats(keypoints, emb, bodyH) { method _findZoneCentroids (line 456) | _findZoneCentroids(grid, cols, rows, bx, by, bw, bh) { method _trackThroughWall (line 514) | _trackThroughWall(elapsed, csiState) { FILE: ui/pose-fusion/js/video-capture.js class VideoCapture (line 6) | class VideoCapture { method constructor (line 7) | constructor(videoElement) { method start (line 17) | async start(constraints = {}) { method stop (line 45) | stop() { method isActive (line 53) | get isActive() { method width (line 57) | get width() { return this.video.videoWidth || 640; } method height (line 58) | get height() { return this.video.videoHeight || 480; } method captureFrame (line 66) | captureFrame(targetW = 56, targetH = 56) { method captureFullFrame (line 120) | captureFullFrame() { method detectMotionRegion (line 133) | detectMotionRegion(targetW = 56, targetH = 56) { method lastDetection (line 232) | get lastDetection() { FILE: ui/pose-fusion/pkg/ruvector-attention/ruvector_attention_browser.js function addHeapObject (line 27) | function addHeapObject(obj) { function getObject (line 34) | function getObject(idx) { return heap[idx]; } function dropObject (line 35) | function dropObject(idx) { function takeObject (line 40) | function takeObject(idx) { function isLikeNone (line 45) | function isLikeNone(x) { return x === undefined || x === null; } function wasm (line 52) | function wasm() { return wasm_getter(); } function getDataViewMemory0 (line 54) | function getDataViewMemory0() { function getUint8ArrayMemory0 (line 59) | function getUint8ArrayMemory0() { function getFloat32ArrayMemory0 (line 64) | function getFloat32ArrayMemory0() { function getArrayF32FromWasm0 (line 69) | function getArrayF32FromWasm0(ptr, len) { function getArrayU8FromWasm0 (line 73) | function getArrayU8FromWasm0(ptr, len) { function passArrayF32ToWasm0 (line 80) | function passArrayF32ToWasm0(arg, malloc) { function getStringFromWasm0 (line 91) | function getStringFromWasm0(ptr, len) { function passStringToWasm0 (line 96) | function passStringToWasm0(arg, malloc, realloc) { function debugString (line 104) | function debugString(val) { function handleError (line 117) | function handleError(f, args) { method register (line 125) | register() {} method unregister (line 125) | unregister() {} class WasmMultiHeadAttention (line 136) | class WasmMultiHeadAttention { method constructor (line 137) | constructor(dim, num_heads) { method free (line 151) | free() { method dim (line 156) | get dim() { return wasm().wasmmultiheadattention_dim(this.__wbg_ptr); } method num_heads (line 157) | get num_heads() { return wasm().wasmmultiheadattention_num_heads(this.... method compute (line 158) | compute(query, keys, values) { class WasmFlashAttention (line 178) | class WasmFlashAttention { method constructor (line 179) | constructor(dim, block_size) { method free (line 184) | free() { method compute (line 189) | compute(query, keys, values) { class WasmHyperbolicAttention (line 209) | class WasmHyperbolicAttention { method constructor (line 210) | constructor(dim, curvature) { method free (line 215) | free() { method curvature (line 220) | get curvature() { return wasm().wasmhyperbolicattention_curvature(this... method compute (line 221) | compute(query, keys, values) { class WasmMoEAttention (line 241) | class WasmMoEAttention { method constructor (line 242) | constructor(dim, num_experts, top_k) { method free (line 247) | free() { method compute (line 252) | compute(query, keys, values) { class WasmLinearAttention (line 272) | class WasmLinearAttention { method constructor (line 273) | constructor(dim, num_features) { method free (line 278) | free() { method compute (line 283) | compute(query, keys, values) { class WasmLocalGlobalAttention (line 303) | class WasmLocalGlobalAttention { method constructor (line 304) | constructor(dim, local_window, global_tokens) { method free (line 309) | free() { method compute (line 314) | compute(query, keys, values) { function cosine_similarity (line 336) | function cosine_similarity(a, b) { function normalize (line 354) | function normalize(vec) { function l2_norm (line 360) | function l2_norm(vec) { function softmax (line 376) | function softmax(vec) { function batch_normalize (line 382) | function batch_normalize(vectors, epsilon) { function pairwise_distances (line 399) | function pairwise_distances(vectors) { function scaled_dot_attention (line 416) | function scaled_dot_attention(query, keys, values, scale) { function attention_weights (line 435) | function attention_weights(scores, temperature) { function available_mechanisms (line 441) | function available_mechanisms() { function random_orthogonal_matrix (line 446) | function random_orthogonal_matrix(dim) { function rv_init (line 460) | function rv_init() { wasm().init(); } function rv_version (line 462) | function rv_version() { function initWasm (line 599) | async function initWasm() { FILE: ui/pose-fusion/pkg/ruvector-attention/ruvector_attention_wasm.d.ts class WasmAdam (line 7) | class WasmAdam { class WasmAdamW (line 39) | class WasmAdamW { class WasmFlashAttention (line 72) | class WasmFlashAttention { class WasmHyperbolicAttention (line 92) | class WasmHyperbolicAttention { class WasmInfoNCELoss (line 116) | class WasmInfoNCELoss { class WasmLRScheduler (line 140) | class WasmLRScheduler { class WasmLinearAttention (line 169) | class WasmLinearAttention { class WasmLocalGlobalAttention (line 189) | class WasmLocalGlobalAttention { class WasmMoEAttention (line 210) | class WasmMoEAttention { class WasmMultiHeadAttention (line 231) | class WasmMultiHeadAttention { class WasmSGD (line 259) | class WasmSGD { FILE: ui/pose-fusion/pkg/ruvector-attention/ruvector_attention_wasm.js class WasmAdam (line 6) | class WasmAdam { method __destroy_into_raw (line 7) | __destroy_into_raw() { method free (line 13) | free() { method learning_rate (line 21) | get learning_rate() { method constructor (line 34) | constructor(param_count, learning_rate) { method reset (line 43) | reset() { method learning_rate (line 50) | set learning_rate(lr) { method step (line 62) | step(params, gradients) { class WasmAdamW (line 76) | class WasmAdamW { method __destroy_into_raw (line 77) | __destroy_into_raw() { method free (line 83) | free() { method learning_rate (line 91) | get learning_rate() { method constructor (line 106) | constructor(param_count, learning_rate, weight_decay) { method reset (line 115) | reset() { method learning_rate (line 122) | set learning_rate(lr) { method step (line 130) | step(params, gradients) { method weight_decay (line 141) | get weight_decay() { class WasmFlashAttention (line 152) | class WasmFlashAttention { method __destroy_into_raw (line 153) | __destroy_into_raw() { method free (line 159) | free() { method compute (line 170) | compute(query, keys, values) { method constructor (line 199) | constructor(dim, block_size) { class WasmHyperbolicAttention (line 212) | class WasmHyperbolicAttention { method __destroy_into_raw (line 213) | __destroy_into_raw() { method free (line 219) | free() { method compute (line 230) | compute(query, keys, values) { method curvature (line 254) | get curvature() { method constructor (line 267) | constructor(dim, curvature) { class WasmInfoNCELoss (line 280) | class WasmInfoNCELoss { method __destroy_into_raw (line 281) | __destroy_into_raw() { method free (line 287) | free() { method compute (line 303) | compute(anchor, positive, negatives) { method constructor (line 329) | constructor(temperature) { class WasmLRScheduler (line 342) | class WasmLRScheduler { method __destroy_into_raw (line 343) | __destroy_into_raw() { method free (line 349) | free() { method get_lr (line 357) | get_lr() { method constructor (line 372) | constructor(initial_lr, warmup_steps, total_steps) { method reset (line 381) | reset() { method step (line 387) | step() { class WasmLinearAttention (line 397) | class WasmLinearAttention { method __destroy_into_raw (line 398) | __destroy_into_raw() { method free (line 404) | free() { method compute (line 415) | compute(query, keys, values) { method constructor (line 444) | constructor(dim, num_features) { class WasmLocalGlobalAttention (line 457) | class WasmLocalGlobalAttention { method __destroy_into_raw (line 458) | __destroy_into_raw() { method free (line 464) | free() { method compute (line 475) | compute(query, keys, values) { method constructor (line 506) | constructor(dim, local_window, global_tokens) { class WasmMoEAttention (line 519) | class WasmMoEAttention { method __destroy_into_raw (line 520) | __destroy_into_raw() { method free (line 526) | free() { method compute (line 537) | compute(query, keys, values) { method constructor (line 568) | constructor(dim, num_experts, top_k) { class WasmMultiHeadAttention (line 581) | class WasmMultiHeadAttention { method __destroy_into_raw (line 582) | __destroy_into_raw() { method free (line 588) | free() { method compute (line 599) | compute(query, keys, values) { method dim (line 623) | get dim() { method constructor (line 636) | constructor(dim, num_heads) { method num_heads (line 657) | get num_heads() { class WasmSGD (line 668) | class WasmSGD { method __destroy_into_raw (line 669) | __destroy_into_raw() { method free (line 675) | free() { method learning_rate (line 683) | get learning_rate() { method constructor (line 698) | constructor(param_count, learning_rate, momentum) { method reset (line 707) | reset() { method learning_rate (line 714) | set learning_rate(lr) { method step (line 722) | step(params, gradients) { function attention_weights (line 738) | function attention_weights(scores, temperature) { function available_mechanisms (line 749) | function available_mechanisms() { function batch_normalize (line 761) | function batch_normalize(vectors, epsilon) { function cosine_similarity (line 787) | function cosine_similarity(a, b) { function init (line 811) | function init() { function l2_norm (line 821) | function l2_norm(vec) { function log (line 833) | function log(message) { function log_error (line 844) | function log_error(message) { function normalize (line 855) | function normalize(vec) { function pairwise_distances (line 877) | function pairwise_distances(vectors) { function random_orthogonal_matrix (line 902) | function random_orthogonal_matrix(dim) { function scaled_dot_attention (line 931) | function scaled_dot_attention(query, keys, values, scale) { function softmax (line 957) | function softmax(vec) { function version (line 968) | function version() { function __wbg_get_imports (line 986) | function __wbg_get_imports() { function addHeapObject (line 1204) | function addHeapObject(obj) { function debugString (line 1213) | function debugString(val) { function dropObject (line 1278) | function dropObject(idx) { function getArrayF32FromWasm0 (line 1284) | function getArrayF32FromWasm0(ptr, len) { function getArrayU8FromWasm0 (line 1289) | function getArrayU8FromWasm0(ptr, len) { function getDataViewMemory0 (line 1295) | function getDataViewMemory0() { function getFloat32ArrayMemory0 (line 1303) | function getFloat32ArrayMemory0() { function getStringFromWasm0 (line 1310) | function getStringFromWasm0(ptr, len) { function getUint8ArrayMemory0 (line 1316) | function getUint8ArrayMemory0() { function getObject (line 1323) | function getObject(idx) { return heap[idx]; } function handleError (line 1325) | function handleError(f, args) { function isLikeNone (line 1338) | function isLikeNone(x) { function passArrayF32ToWasm0 (line 1342) | function passArrayF32ToWasm0(arg, malloc) { function passStringToWasm0 (line 1349) | function passStringToWasm0(arg, malloc, realloc) { function takeObject (line 1386) | function takeObject(idx) { function decodeText (line 1394) | function decodeText(ptr, len) { constant WASM_VECTOR_LEN (line 1411) | let WASM_VECTOR_LEN = 0; FILE: ui/pose-fusion/pkg/ruvector_cnn_wasm/ruvector_cnn_wasm.js class EmbedderConfig (line 4) | class EmbedderConfig { method __destroy_into_raw (line 5) | __destroy_into_raw() { method free (line 11) | free() { method constructor (line 15) | constructor() { method embedding_dim (line 25) | get embedding_dim() { method input_size (line 33) | get input_size() { method normalize (line 41) | get normalize() { method embedding_dim (line 49) | set embedding_dim(arg0) { method input_size (line 56) | set input_size(arg0) { method normalize (line 63) | set normalize(arg0) { class LayerOps (line 72) | class LayerOps { method __destroy_into_raw (line 73) | __destroy_into_raw() { method free (line 79) | free() { method batch_norm (line 93) | static batch_norm(input, gamma, beta, mean, _var, epsilon) { method global_avg_pool (line 125) | static global_avg_pool(input, height, width, channels) { class SimdOps (line 146) | class SimdOps { method __destroy_into_raw (line 147) | __destroy_into_raw() { method free (line 153) | free() { method dot_product (line 163) | static dot_product(a, b) { method l2_normalize (line 176) | static l2_normalize(data) { method relu (line 196) | static relu(data) { method relu6 (line 216) | static relu6(data) { class WasmCnnEmbedder (line 237) | class WasmCnnEmbedder { method __destroy_into_raw (line 238) | __destroy_into_raw() { method free (line 244) | free() { method cosine_similarity (line 254) | cosine_similarity(a, b) { method embedding_dim (line 277) | get embedding_dim() { method extract (line 288) | extract(image_data, width, height) { method constructor (line 312) | constructor(config) { class WasmInfoNCELoss (line 340) | class WasmInfoNCELoss { method __destroy_into_raw (line 341) | __destroy_into_raw() { method free (line 347) | free() { method forward (line 359) | forward(embeddings, batch_size, dim) { method constructor (line 380) | constructor(temperature) { method temperature (line 390) | get temperature() { class WasmTripletLoss (line 400) | class WasmTripletLoss { method __destroy_into_raw (line 401) | __destroy_into_raw() { method free (line 407) | free() { method forward (line 419) | forward(anchors, positives, negatives, dim) { method forward_single (line 447) | forward_single(anchor, positive, negative) { method margin (line 472) | get margin() { method constructor (line 480) | constructor(margin) { function init (line 492) | function init() { function __wbg_get_imports (line 496) | function __wbg_get_imports() { function addHeapObject (line 558) | function addHeapObject(obj) { function _assertClass (line 567) | function _assertClass(instance, klass) { function dropObject (line 573) | function dropObject(idx) { function getArrayF32FromWasm0 (line 579) | function getArrayF32FromWasm0(ptr, len) { function getDataViewMemory0 (line 585) | function getDataViewMemory0() { function getFloat32ArrayMemory0 (line 593) | function getFloat32ArrayMemory0() { function getStringFromWasm0 (line 600) | function getStringFromWasm0(ptr, len) { function getUint8ArrayMemory0 (line 606) | function getUint8ArrayMemory0() { function getObject (line 613) | function getObject(idx) { return heap[idx]; } function isLikeNone (line 620) | function isLikeNone(x) { function passArray8ToWasm0 (line 624) | function passArray8ToWasm0(arg, malloc) { function passArrayF32ToWasm0 (line 631) | function passArrayF32ToWasm0(arg, malloc) { function passStringToWasm0 (line 638) | function passStringToWasm0(arg, malloc, realloc) { function takeObject (line 675) | function takeObject(idx) { constant MAX_SAFARI_DECODE_BYTES (line 683) | const MAX_SAFARI_DECODE_BYTES = 2146435072; function decodeText (line 685) | function decodeText(ptr, len) { constant WASM_VECTOR_LEN (line 708) | let WASM_VECTOR_LEN = 0; function __wbg_finalize_init (line 711) | function __wbg_finalize_init(instance, module) { function __wbg_load (line 721) | async function __wbg_load(module, imports) { function initSync (line 756) | function initSync(module) { function __wbg_init (line 776) | async function __wbg_init(module_or_path) { FILE: ui/services/api.service.js class ApiService (line 6) | class ApiService { method constructor (line 7) | constructor() { method setAuthToken (line 14) | setAuthToken(token) { method addRequestInterceptor (line 19) | addRequestInterceptor(interceptor) { method addResponseInterceptor (line 24) | addResponseInterceptor(interceptor) { method getHeaders (line 29) | getHeaders(customHeaders = {}) { method processRequest (line 43) | async processRequest(url, options) { method processResponse (line 57) | async processResponse(response, url) { method request (line 68) | async request(url, options = {}) { method get (line 111) | async get(endpoint, params = {}, options = {}) { method post (line 120) | async post(endpoint, data = {}, options = {}) { method put (line 130) | async put(endpoint, data = {}, options = {}) { method delete (line 140) | async delete(endpoint, options = {}) { FILE: ui/services/data-processor.js class DataProcessor (line 4) | class DataProcessor { method constructor (line 5) | constructor() { method processMessage (line 22) | processMessage(message) { method _extractPersons (line 68) | _extractPersons(payload) { method _normalizeKeypoints (line 99) | _normalizeKeypoints(keypoints) { method _extractZoneOccupancy (line 116) | _extractZoneOccupancy(payload, zoneId) { method _extractSignalData (line 131) | _extractSignalData(payload) { method generateDemoData (line 145) | generateDemoData(deltaTime) { method _generateDemoBodyParts (line 200) | _generateDemoBodyParts(elapsed) { method _buildDemoPoses (line 211) | _buildDemoPoses() { method generateConfidenceHeatmap (line 344) | generateConfidenceHeatmap(persons, cols, rows, roomWidth, roomDepth) { method dispose (line 377) | dispose() { FILE: ui/services/health.service.js class HealthService (line 6) | class HealthService { method constructor (line 7) | constructor() { method getSystemHealth (line 14) | async getSystemHealth() { method checkReadiness (line 22) | async checkReadiness() { method checkLiveness (line 27) | async checkLiveness() { method getSystemMetrics (line 32) | async getSystemMetrics() { method getVersion (line 37) | async getVersion() { method getApiInfo (line 42) | async getApiInfo() { method getApiStatus (line 47) | async getApiStatus() { method startHealthMonitoring (line 52) | startHealthMonitoring(intervalMs = 30000) { method stopHealthMonitoring (line 78) | stopHealthMonitoring() { method subscribeToHealth (line 86) | subscribeToHealth(callback) { method notifySubscribers (line 104) | notifySubscribers(health) { method isSystemHealthy (line 115) | isSystemHealthy() { method getComponentStatus (line 123) | getComponentStatus(componentName) { method dispose (line 131) | dispose() { FILE: ui/services/model.service.js class ModelService (line 6) | class ModelService { method constructor (line 7) | constructor() { method createLogger (line 13) | createLogger() { method on (line 24) | on(event, callback) { method off (line 32) | off(event, callback) { method emit (line 37) | emit(event, data) { method listModels (line 46) | async listModels() { method getModel (line 57) | async getModel(id) { method loadModel (line 67) | async loadModel(modelId) { method unloadModel (line 80) | async unloadModel() { method getActiveModel (line 93) | async getActiveModel() { method activateLoraProfile (line 108) | async activateLoraProfile(modelId, profileName) { method getLoraProfiles (line 123) | async getLoraProfiles() { method deleteModel (line 133) | async deleteModel(id) { method dispose (line 144) | dispose() { FILE: ui/services/pose.service.js class PoseService (line 7) | class PoseService { method constructor (line 8) | constructor() { method createLogger (line 40) | createLogger() { method getCurrentPose (line 50) | async getCurrentPose(options = {}) { method analyzePose (line 68) | async analyzePose(request) { method getZoneOccupancy (line 73) | async getZoneOccupancy(zoneId) { method getZonesSummary (line 79) | async getZonesSummary() { method getHistoricalData (line 84) | async getHistoricalData(request) { method getActivities (line 89) | async getActivities(options = {}) { method calibrate (line 104) | async calibrate() { method getCalibrationStatus (line 109) | async getCalibrationStatus() { method getStats (line 114) | async getStats(hours = 24) { method startPoseStream (line 119) | async startPoseStream(options = {}) { method validateStreamOptions (line 200) | validateStreamOptions(options) { method setupConnectionStateMonitoring (line 225) | setupConnectionStateMonitoring() { method notifyConnectionState (line 236) | notifyConnectionState(state, data = null) { method stopPoseStream (line 247) | stopPoseStream() { method subscribeToPoseUpdates (line 255) | subscribeToPoseUpdates(callback) { method handlePoseMessage (line 268) | handlePoseMessage(data) { method validatePoseMessage (line 382) | validatePoseMessage(message) { method validatePoseData (line 400) | validatePoseData(poseData) { method updatePerformanceMetrics (line 435) | updatePerformanceMetrics(startTime, messageTimestamp) { method addValidationError (line 455) | addValidationError(error) { method resetPerformanceMetrics (line 470) | resetPerformanceMetrics() { method getPerformanceMetrics (line 482) | getPerformanceMetrics() { method convertZoneDataToRestFormat (line 491) | convertZoneDataToRestFormat(zoneData, zoneId, originalMessage) { method notifyPoseSubscribers (line 547) | notifyPoseSubscribers(update) { method startEventStream (line 558) | startEventStream(options = {}) { method stopEventStream (line 602) | stopEventStream() { method subscribeToEvents (line 610) | subscribeToEvents(callback) { method handleEventMessage (line 623) | handleEventMessage(data) { method notifyEventSubscribers (line 631) | notifyEventSubscribers(update) { method updateStreamConfig (line 642) | updateStreamConfig(connectionId, config) { method requestStreamStatus (line 647) | requestStreamStatus(connectionId) { method getConnectionState (line 652) | getConnectionState() { method getLastPoseData (line 656) | getLastPoseData() { method getValidationErrors (line 660) | getValidationErrors() { method clearValidationErrors (line 664) | clearValidationErrors() { method updateConfig (line 669) | updateConfig(newConfig) { method setModelMode (line 677) | setModelMode(active) { method healthCheck (line 683) | async healthCheck() { method reconnectStream (line 705) | async reconnectStream() { method dispose (line 737) | dispose() { FILE: ui/services/sensing.service.js constant SENSING_WS_URL (line 16) | const SENSING_WS_URL = `${_wsProto}//${_wsHost}/ws/sensing`; constant RECONNECT_DELAYS (line 17) | const RECONNECT_DELAYS = [1000, 2000, 4000, 8000, 16000]; constant MAX_RECONNECT_ATTEMPTS (line 18) | const MAX_RECONNECT_ATTEMPTS = 20; constant SIM_FALLBACK_AFTER_ATTEMPTS (line 21) | const SIM_FALLBACK_AFTER_ATTEMPTS = 5; constant SIMULATION_INTERVAL (line 22) | const SIMULATION_INTERVAL = 500; class SensingService (line 24) | class SensingService { method constructor (line 25) | constructor() { method start (line 53) | start() { method stop (line 58) | stop() { method onData (line 68) | onData(callback) { method onStateChange (line 76) | onStateChange(callback) { method getRssiHistory (line 83) | getRssiHistory() { method state (line 88) | get state() { method dataSource (line 98) | get dataSource() { method _connect (line 104) | _connect() { method _scheduleReconnect (line 152) | _scheduleReconnect() { method _fallbackToSimulation (line 180) | _fallbackToSimulation() { method _stopSimulation (line 192) | _stopSimulation() { method _generateSimulatedData (line 199) | _generateSimulatedData() { method _detectServerSource (line 273) | async _detectServerSource() { method _applyServerSource (line 291) | _applyServerSource(rawSource) { method serverSource (line 304) | get serverSource() { method _handleData (line 310) | _handleData(data) { method _setState (line 342) | _setState(newState) { method _setDataSource (line 355) | _setDataSource(source) { method _clearTimers (line 365) | _clearTimers() { FILE: ui/services/stream.service.js class StreamService (line 6) | class StreamService { method getStatus (line 8) | async getStatus() { method start (line 13) | async start() { method stop (line 18) | async stop() { method getClients (line 23) | async getClients() { method disconnectClient (line 28) | async disconnectClient(clientId) { method broadcast (line 34) | async broadcast(message, options = {}) { method getMetrics (line 53) | async getMetrics() { FILE: ui/services/training.service.js class TrainingService (line 7) | class TrainingService { method constructor (line 8) | constructor() { method createLogger (line 14) | createLogger() { method on (line 25) | on(event, callback) { method off (line 33) | off(event, callback) { method emit (line 38) | emit(event, data) { method startTraining (line 47) | async startTraining(config) { method stopTraining (line 59) | async stopTraining() { method getTrainingStatus (line 71) | async getTrainingStatus() { method startPretraining (line 81) | async startPretraining(config) { method startLoraTraining (line 93) | async startLoraTraining(config) { method listRecordings (line 107) | async listRecordings() { method startRecording (line 117) | async startRecording(config) { method stopRecording (line 129) | async stopRecording() { method deleteRecording (line 141) | async deleteRecording(id) { method connectProgressStream (line 156) | connectProgressStream() { method disconnectProgressStream (line 196) | disconnectProgressStream() { method dispose (line 203) | dispose() { FILE: ui/services/websocket-client.js class WebSocketClient (line 4) | class WebSocketClient { method constructor (line 5) | constructor(options = {}) { method connect (line 40) | connect() { method disconnect (line 76) | disconnect() { method send (line 94) | send(data) { method _handleOpen (line 105) | _handleOpen() { method _handleMessage (line 119) | _handleMessage(event) { method _handleError (line 168) | _handleError(event) { method _handleClose (line 174) | _handleClose(event) { method _setState (line 190) | _setState(newState) { method _startHeartbeat (line 197) | _startHeartbeat() { method _stopHeartbeat (line 206) | _stopHeartbeat() { method _scheduleReconnect (line 213) | _scheduleReconnect() { method _clearTimers (line 232) | _clearTimers() { method getMetrics (line 238) | getMetrics() { method isConnected (line 248) | isConnected() { method dispose (line 252) | dispose() { FILE: ui/services/websocket.service.js class WebSocketService (line 6) | class WebSocketService { method constructor (line 7) | constructor() { method createLogger (line 24) | createLogger() { method connect (line 38) | async connect(endpoint, params = {}, handlers = {}) { method createWebSocketWithTimeout (line 117) | async createWebSocketWithTimeout(url) { method setupEventHandlers (line 138) | setupEventHandlers(url, ws, handlers) { method handleMessage (line 239) | handleMessage(url, data) { method send (line 263) | send(connectionId, message) { method sendCommand (line 282) | sendCommand(connectionId, command, payload = {}) { method onMessage (line 291) | onMessage(connectionId, handler) { method disconnect (line 315) | disconnect(connectionId) { method disconnectAll (line 345) | disconnectAll() { method startHeartbeat (line 351) | startHeartbeat(url) { method sendHeartbeat (line 367) | sendHeartbeat(url) { method handlePong (line 392) | handlePong(url) { method shouldReconnect (line 404) | shouldReconnect(url) { method scheduleReconnect (line 411) | scheduleReconnect(url) { method notifyConnectionState (line 457) | notifyConnectionState(url, state, data = null) { method onConnectionStateChange (line 470) | onConnectionStateChange(connectionId, callback) { method clearConnectionTimers (line 493) | clearConnectionTimers(url) { method cleanupConnection (line 513) | cleanupConnection(url) { method findConnectionById (line 524) | findConnectionById(connectionId) { method generateId (line 533) | generateId() { method getConnectionStatus (line 537) | getConnectionStatus(connectionId) { method getActiveConnections (line 542) | getActiveConnections() { method getConnectionStats (line 554) | getConnectionStats(connectionId) { method enableDebugLogging (line 575) | enableDebugLogging() { method disableDebugLogging (line 580) | disableDebugLogging() { method getAllConnectionStats (line 585) | getAllConnectionStats() { method forceReconnect (line 594) | forceReconnect(connectionId) { FILE: ui/tests/test-runner.js class TestRunner (line 10) | class TestRunner { method constructor (line 11) | constructor() { method test (line 23) | test(name, category, testFn) { method runAllTests (line 33) | async runAllTests() { method runTestsByCategory (line 46) | async runTestsByCategory(category) { method runSingleTest (line 61) | async runSingleTest(test) { method assert (line 86) | assert(condition, message) { method assertEqual (line 92) | assertEqual(actual, expected, message) { method assertNotEqual (line 98) | assertNotEqual(actual, unexpected, message) { method assertThrows (line 104) | assertThrows(fn, message) { method assertRejects (line 113) | async assertRejects(promise, message) { method log (line 123) | log(message) { method clearResults (line 134) | clearResults() { method updateTestDisplay (line 156) | updateTestDisplay(test) { method updateSummary (line 182) | updateSummary() { function createMockContainer (line 194) | function createMockContainer() { FILE: ui/utils/backend-detector.js class BackendDetector (line 5) | class BackendDetector { method constructor (line 6) | constructor() { method checkBackendAvailability (line 14) | async checkBackendAvailability() { method shouldUseMockServer (line 63) | async shouldUseMockServer() { method getBaseUrl (line 89) | async getBaseUrl() { method forceCheck (line 95) | forceCheck() { FILE: ui/utils/mock-server.js class MockServer (line 3) | class MockServer { method constructor (line 4) | constructor() { method setupDefaultEndpoints (line 12) | setupDefaultEndpoints() { method generateMockPersons (line 149) | generateMockPersons(count) { method generateMockKeypoints (line 169) | generateMockKeypoints() { method addEndpoint (line 209) | addEndpoint(method, path, handler) { method start (line 215) | start() { method stop (line 225) | stop() { method interceptFetch (line 235) | interceptFetch() { method restoreFetch (line 273) | restoreFetch() { method interceptWebSocket (line 280) | interceptWebSocket() { method restoreWebSocket (line 399) | restoreWebSocket() { method addCustomResponse (line 406) | addCustomResponse(method, path, response) { method simulateError (line 411) | simulateError(method, path, status = 500, message = 'Internal Server E... method addSlowEndpoint (line 418) | addSlowEndpoint(method, path, handler, delay = 2000) { FILE: ui/utils/pose-renderer.js class PoseRenderer (line 3) | class PoseRenderer { method constructor (line 4) | constructor(canvas, options = {}) { method _lerp (line 69) | _lerp(current, target, alpha) { method _getSmoothedKeypoints (line 74) | _getSmoothedKeypoints(personIdx, keypoints) { method createLogger (line 100) | createLogger() { method initializeContext (line 109) | initializeContext() { method render (line 117) | render(poseData, metadata = {}) { method clearCanvas (line 166) | clearCanvas() { method renderSkeletonMode (line 177) | renderSkeletonMode(poseData, metadata) { method renderKeypointsMode (line 223) | renderKeypointsMode(poseData, metadata) { method renderHeatmapMode (line 246) | renderHeatmapMode(poseData, metadata) { method renderDenseMode (line 288) | renderDenseMode(poseData, metadata) { method renderSkeleton (line 351) | renderSkeleton(keypoints, confidence) { method renderKeypoints (line 402) | renderKeypoints(keypoints, confidence, enhancedMode = false) { method renderBoundingBox (line 456) | renderBoundingBox(bbox, confidence, personIndex) { method renderConfidenceScore (line 478) | renderConfidenceScore(person, index) { method renderZones (line 504) | renderZones(zoneSummary) { method renderDebugInfo (line 514) | renderDebugInfo(poseData, metadata) { method renderErrorMessage (line 536) | renderErrorMessage(message) { method renderNoDataMessage (line 550) | renderNoDataMessage() { method renderTestShape (line 569) | renderTestShape() { method scaleX (line 592) | scaleX(x) { method scaleY (line 603) | scaleY(y) { method getKeypointColor (line 614) | getKeypointColor(index, confidence) { method addAlphaToColor (line 628) | addAlphaToColor(color, alpha) { method updatePerformanceMetrics (line 648) | updatePerformanceMetrics(startTime) { method updateConfig (line 670) | updateConfig(newConfig) { method setMode (line 676) | setMode(mode) { method getPerformanceMetrics (line 682) | getPerformanceMetrics() { method getConfig (line 686) | getConfig() { method resize (line 691) | resize(width, height) { method exportFrame (line 699) | exportFrame(format = 'png') { FILE: v1/data/proof/generate_reference_signal.py function generate_deterministic_parameters (line 51) | def generate_deterministic_parameters(): function generate_csi_frames (line 110) | def generate_csi_frames(params): function save_data (line 186) | def save_data(frames, params, output_dir): function main (line 287) | def main(): FILE: v1/data/proof/verify.py function print_banner (line 80) | def print_banner(): function print_source_provenance (line 92) | def print_source_provenance(): function load_reference_signal (line 119) | def load_reference_signal(data_path): function frame_to_csi_data (line 137) | def frame_to_csi_data(frame, signal_meta): function features_to_bytes (line 167) | def features_to_bytes(features): function compute_pipeline_hash (line 198) | def compute_pipeline_hash(data_path, verbose=False): function audit_codebase (line 327) | def audit_codebase(base_dir=None): function main (line 387) | def main(): FILE: v1/scripts/test_api_endpoints.py class APITester (line 22) | class APITester: method __init__ (line 25) | def __init__(self, base_url: str = "http://localhost:8000"): method __aenter__ (line 36) | async def __aenter__(self): method __aexit__ (line 41) | async def __aexit__(self, exc_type, exc_val, exc_tb): method log_success (line 46) | def log_success(self, message: str): method log_error (line 50) | def log_error(self, message: str): method log_info (line 54) | def log_info(self, message: str): method log_warning (line 58) | def log_warning(self, message: str): method test_endpoint (line 62) | async def test_endpoint( method test_websocket_endpoint (line 155) | async def test_websocket_endpoint(self, endpoint: str, description: st... method run_all_tests (line 219) | async def run_all_tests(self): method print_summary (line 310) | def print_summary(self): function main (line 346) | async def main(): FILE: v1/scripts/test_monitoring.py class MonitoringTester (line 15) | class MonitoringTester: method __init__ (line 18) | def __init__(self, base_url: str = "http://localhost:8000"): method setup (line 23) | async def setup(self): method teardown (line 27) | async def teardown(self): method test_health_endpoint (line 32) | async def test_health_endpoint(self): method test_ready_endpoint (line 66) | async def test_ready_endpoint(self): method test_liveness_endpoint (line 100) | async def test_liveness_endpoint(self): method test_metrics_endpoint (line 132) | async def test_metrics_endpoint(self): method test_version_endpoint (line 171) | async def test_version_endpoint(self): method test_metrics_collection (line 205) | async def test_metrics_collection(self): method test_system_load (line 252) | async def test_system_load(self): method run_all_tests (line 301) | async def run_all_tests(self): function main (line 355) | async def main(): FILE: v1/scripts/test_websocket_streaming.py function test_pose_streaming (line 13) | async def test_pose_streaming(): function test_event_streaming (line 76) | async def test_event_streaming(): function test_websocket_errors (line 111) | async def test_websocket_errors(): function main (line 136) | async def main(): FILE: v1/setup.py function get_version (line 18) | def get_version(): function get_long_description (line 29) | def get_long_description(): function get_requirements (line 38) | def get_requirements(): function get_dev_requirements (line 90) | def get_dev_requirements(): FILE: v1/src/__init__.py function get_version (line 127) | def get_version(): function get_version_info (line 132) | def get_version_info(): function get_package_info (line 137) | def get_package_info(): function check_dependencies (line 153) | def check_dependencies(): function print_system_info (line 202) | def print_system_info(): function main (line 260) | def main(): FILE: v1/src/api/dependencies.py function get_pose_service (line 26) | def get_pose_service() -> PoseService: function get_stream_service (line 38) | def get_stream_service() -> StreamService: function get_hardware_service (line 50) | def get_hardware_service() -> HardwareService: function get_current_user (line 62) | async def get_current_user( function get_current_active_user (line 112) | async def get_current_active_user( function get_admin_user (line 133) | async def get_admin_user( function require_permission (line 147) | def require_permission(permission: str): function validate_zone_access (line 173) | async def validate_zone_access( function validate_router_access (line 213) | async def validate_router_access( function check_service_health (line 253) | async def check_service_health( function check_rate_limit (line 298) | async def check_rate_limit( function get_zone_config (line 315) | def get_zone_config(zone_id: str = Depends(validate_zone_access)): function get_router_config (line 321) | def get_router_config(router_id: str = Depends(validate_router_access)): class PaginationParams (line 328) | class PaginationParams: method __init__ (line 331) | def __init__( function get_pagination_params (line 361) | def get_pagination_params( class QueryFilters (line 370) | class QueryFilters: method __init__ (line 373) | def __init__( function get_query_filters (line 394) | def get_query_filters( function get_websocket_user (line 410) | async def get_websocket_user( function get_current_user_ws (line 441) | async def get_current_user_ws( function require_auth (line 449) | async def require_auth( function development_only (line 457) | async def development_only(): FILE: v1/src/api/main.py function lifespan (line 34) | async def lifespan(app: FastAPI): function initialize_services (line 59) | async def initialize_services(app: FastAPI): function start_background_tasks (line 94) | async def start_background_tasks(app: FastAPI): function cleanup_services (line 114) | async def cleanup_services(app: FastAPI): function http_exception_handler (line 175) | async def http_exception_handler(request: Request, exc: StarletteHTTPExc... function validation_exception_handler (line 190) | async def validation_exception_handler(request: Request, exc: RequestVal... function general_exception_handler (line 206) | async def general_exception_handler(request: Request, exc: Exception): function log_requests (line 224) | async def log_requests(request: Request, call_next): function root (line 269) | async def root(): function api_info (line 288) | async def api_info(): function api_status (line 321) | async def api_status(request: Request): function api_metrics (line 361) | async def api_metrics(request: Request): function dev_config (line 382) | async def dev_config(): function dev_reset (line 400) | async def dev_reset(request: Request): FILE: v1/src/api/middleware/auth.py class AuthMiddleware (line 19) | class AuthMiddleware(BaseHTTPMiddleware): method __init__ (line 22) | def __init__(self, app): method dispatch (line 50) | async def dispatch(self, request: Request, call_next): method _is_public_path (line 118) | def _is_public_path(self, path: str) -> bool: method _is_protected_path (line 141) | def _is_protected_path(self, path: str) -> bool: method _extract_token (line 164) | def _extract_token(self, request: Request) -> Optional[str]: method _verify_token (line 183) | async def _verify_token(self, token: str) -> Dict[str, Any]: class TokenBlacklist (line 227) | class TokenBlacklist: method __init__ (line 230) | def __init__(self): method add_token (line 235) | def add_token(self, token: str): method is_blacklisted (line 240) | def is_blacklisted(self, token: str) -> bool: method _cleanup_if_needed (line 245) | def _cleanup_if_needed(self): class SecurityHeaders (line 259) | class SecurityHeaders: method add_security_headers (line 263) | def add_security_headers(response: Response) -> Response: class APIKeyAuth (line 280) | class APIKeyAuth: method __init__ (line 283) | def __init__(self, api_keys: Dict[str, Dict[str, Any]] = None): method verify_api_key (line 286) | def verify_api_key(self, api_key: str) -> Optional[Dict[str, Any]]: method add_api_key (line 292) | def add_api_key(self, api_key: str, service_info: Dict[str, Any]): method revoke_api_key (line 296) | def revoke_api_key(self, api_key: str): FILE: v1/src/api/middleware/rate_limit.py class RateLimitMiddleware (line 20) | class RateLimitMiddleware(BaseHTTPMiddleware): method __init__ (line 23) | def __init__(self, app): method dispatch (line 68) | async def dispatch(self, request: Request, call_next): method _is_exempt_path (line 118) | def _is_exempt_path(self, path: str) -> bool: method _get_client_id (line 122) | def _get_client_id(self, request: Request) -> str: method _get_user_type (line 137) | def _get_user_type(self, request: Request) -> str: method _check_rate_limits (line 145) | def _check_rate_limits(self, client_id: str, path: str, user_type: str... method _check_limit (line 180) | def _check_limit(self, client_id: str, limit_type: str, max_requests: ... method _record_request (line 212) | def _record_request(self, client_id: str, path: str): method _is_client_blocked (line 225) | def _is_client_blocked(self, client_id: str) -> bool: method _block_client (line 236) | def _block_client(self, client_id: str, duration: int): method _create_rate_limit_response (line 241) | def _create_rate_limit_response(self, message: str, retry_after: int =... method _add_rate_limit_headers (line 259) | def _add_rate_limit_headers(self, response: Response, client_id: str, ... method _log_rate_limit_violation (line 281) | def _log_rate_limit_violation(self, request: Request, client_id: str, ... method cleanup_old_data (line 301) | def cleanup_old_data(self): FILE: v1/src/api/routers/health.py class ComponentHealth (line 24) | class ComponentHealth(BaseModel): class SystemHealth (line 35) | class SystemHealth(BaseModel): class ReadinessCheck (line 45) | class ReadinessCheck(BaseModel): function health_check (line 56) | async def health_check(request: Request): function readiness_check (line 192) | async def readiness_check(request: Request): function liveness_check (line 251) | async def liveness_check(): function get_health_metrics (line 260) | async def get_health_metrics( function get_version_info (line 286) | async def get_version_info(): function get_system_metrics (line 299) | def get_system_metrics() -> Dict[str, Any]: function get_detailed_metrics (line 348) | def get_detailed_metrics() -> Dict[str, Any]: function check_memory_availability (line 403) | def check_memory_availability() -> bool: function check_disk_space (line 413) | def check_disk_space() -> bool: FILE: v1/src/api/routers/pose.py class PoseEstimationRequest (line 28) | class PoseEstimationRequest(BaseModel): class PersonPose (line 57) | class PersonPose(BaseModel): class PoseEstimationResponse (line 82) | class PoseEstimationResponse(BaseModel): class HistoricalDataRequest (line 93) | class HistoricalDataRequest(BaseModel): function get_current_pose_estimation (line 116) | async def get_current_pose_estimation( function analyze_pose_data (line 145) | async def analyze_pose_data( function get_zone_occupancy (line 182) | async def get_zone_occupancy( function get_zones_summary (line 216) | async def get_zones_summary( function get_historical_data (line 240) | async def get_historical_data( function get_detected_activities (line 293) | async def get_detected_activities( function calibrate_pose_system (line 321) | async def calibrate_pose_system( function get_calibration_status (line 365) | async def get_calibration_status( function get_pose_statistics (line 391) | async def get_pose_statistics( FILE: v1/src/api/routers/stream.py class StreamSubscriptionRequest (line 29) | class StreamSubscriptionRequest(BaseModel): class StreamStatus (line 58) | class StreamStatus(BaseModel): function websocket_pose_stream (line 69) | async def websocket_pose_stream( function websocket_events_stream (line 156) | async def websocket_events_stream( function handle_websocket_message (line 230) | async def handle_websocket_message(client_id: str, data: Dict[str, Any],... function get_stream_status (line 269) | async def get_stream_status( function start_streaming (line 302) | async def start_streaming( function stop_streaming (line 332) | async def stop_streaming( function get_connected_clients (line 357) | async def get_connected_clients( function disconnect_client (line 379) | async def disconnect_client( function broadcast_message (line 411) | async def broadcast_message( function get_streaming_metrics (line 450) | async def get_streaming_metrics(): FILE: v1/src/api/websocket/connection_manager.py class WebSocketConnection (line 18) | class WebSocketConnection: method __init__ (line 21) | def __init__( method send_json (line 39) | async def send_json(self, data: Dict[str, Any]): method send_text (line 49) | async def send_text(self, message: str): method update_config (line 59) | def update_config(self, config: Dict[str, Any]): method matches_filter (line 67) | def matches_filter( method get_info (line 93) | def get_info(self) -> Dict[str, Any]: class ConnectionManager (line 108) | class ConnectionManager: method __init__ (line 111) | def __init__(self): method connect (line 125) | async def connect( method disconnect (line 166) | async def disconnect(self, client_id: str) -> bool: method disconnect_all (line 201) | async def disconnect_all(self): method send_to_client (line 210) | async def send_to_client(self, client_id: str, data: Dict[str, Any]) -... method broadcast (line 230) | async def broadcast( method update_client_config (line 266) | async def update_client_config(self, client_id: str, config: Dict[str,... method get_client_status (line 290) | async def get_client_status(self, client_id: str) -> Optional[Dict[str... method get_connected_clients (line 297) | async def get_connected_clients(self) -> List[Dict[str, Any]]: method get_connection_stats (line 301) | async def get_connection_stats(self) -> Dict[str, Any]: method get_metrics (line 320) | async def get_metrics(self) -> Dict[str, Any]: method _get_matching_clients (line 332) | def _get_matching_clients( method ping_clients (line 370) | async def ping_clients(self): method cleanup_inactive_connections (line 391) | async def cleanup_inactive_connections(self): method start (line 416) | async def start(self): method _start_cleanup_task (line 423) | def _start_cleanup_task(self): method shutdown (line 444) | async def shutdown(self): FILE: v1/src/api/websocket/pose_stream.py class PoseStreamData (line 21) | class PoseStreamData(BaseModel): class PoseStreamHandler (line 32) | class PoseStreamHandler: method __init__ (line 35) | def __init__( method start_streaming (line 54) | async def start_streaming(self): method stop_streaming (line 64) | async def stop_streaming(self): method _stream_loop (line 80) | async def _stream_loop(self): method _process_and_broadcast_pose_data (line 112) | async def _process_and_broadcast_pose_data(self, raw_pose_data: Dict[s... method _broadcast_pose_data (line 140) | async def _broadcast_pose_data(self, pose_data: PoseStreamData): method handle_client_subscription (line 175) | async def handle_client_subscription( method handle_client_disconnect (line 207) | async def handle_client_disconnect(self, client_id: str): method send_historical_data (line 213) | async def send_historical_data( method send_zone_statistics (line 272) | async def send_zone_statistics(self, client_id: str, zone_id: str): method broadcast_system_event (line 290) | async def broadcast_system_event(self, event_type: str, event_data: Di... method update_stream_config (line 311) | async def update_stream_config(self, config: Dict[str, Any]): method get_stream_status (line 340) | def get_stream_status(self) -> Dict[str, Any]: method get_performance_metrics (line 356) | async def get_performance_metrics(self) -> Dict[str, Any]: method shutdown (line 380) | async def shutdown(self): FILE: v1/src/app.py function lifespan (line 28) | async def lifespan(app: FastAPI): function create_app (line 61) | def create_app(settings: Settings, orchestrator: ServiceOrchestrator) ->... function setup_middleware (line 94) | def setup_middleware(app: FastAPI, settings: Settings): function setup_exception_handlers (line 123) | def setup_exception_handlers(app: FastAPI): function setup_routers (line 175) | def setup_routers(app: FastAPI, settings: Settings): function setup_root_endpoints (line 199) | def setup_root_endpoints(app: FastAPI, settings: Settings): function get_app (line 326) | def get_app() -> FastAPI: FILE: v1/src/cli.py function get_settings_with_config (line 22) | def get_settings_with_config(config_file: Optional[str] = None): function cli (line 49) | def cli(ctx, config: Optional[str], verbose: bool, debug: bool): function start (line 101) | def start(ctx, host: str, port: int, workers: int, reload: bool, daemon:... function stop (line 144) | def stop(ctx, force: bool, timeout: int): function status (line 176) | def status(ctx, format: str, detailed: bool): function db (line 196) | def db(): function init (line 207) | def init(ctx, url: Optional[str]): function migrate (line 257) | def migrate(ctx, revision: str): function rollback (line 282) | def rollback(ctx, steps: int): function tasks (line 300) | def tasks(): function run (line 312) | def run(ctx, task: Optional[str]): function status (line 348) | def status(ctx): function config (line 381) | def config(): function show (line 388) | def show(ctx): function validate (line 437) | def validate(ctx): function failsafe (line 513) | def failsafe(ctx, format: str): function version (line 597) | def version(): function create_cli (line 614) | def create_cli(orchestrator=None): FILE: v1/src/commands/start.py function start_command (line 19) | async def start_command( function _validate_startup_requirements (line 88) | async def _validate_startup_requirements(settings: Settings) -> None: function _initialize_database (line 131) | async def _initialize_database(settings: Settings) -> None: function _start_background_tasks (line 149) | async def _start_background_tasks(settings: Settings) -> dict: function _stop_background_tasks (line 192) | async def _stop_background_tasks(tasks: dict) -> None: function _setup_signal_handlers (line 210) | def _setup_signal_handlers() -> None: function _create_pid_file (line 226) | def _create_pid_file(settings: Settings) -> Path: function _run_server (line 260) | async def _run_server(config: dict) -> None: function _run_as_daemon (line 272) | async def _run_as_daemon(config: dict, pid_file: Path) -> None: function get_server_status (line 328) | def get_server_status(settings: Settings) -> dict: FILE: v1/src/commands/status.py function status_command (line 19) | async def status_command( function _collect_status_data (line 43) | async def _collect_status_data(settings: Settings, detailed: bool) -> Di... function _get_server_status (line 64) | async def _get_server_status(settings: Settings) -> Dict[str, Any]: function _get_system_status (line 99) | def _get_system_status() -> Dict[str, Any]: function _get_configuration_status (line 113) | def _get_configuration_status(settings: Settings) -> Dict[str, Any]: function _get_database_status (line 130) | async def _get_database_status(settings: Settings) -> Dict[str, Any]: function _get_background_tasks_status (line 193) | async def _get_background_tasks_status(settings: Settings) -> Dict[str, ... function _get_resource_usage (line 228) | def _get_resource_usage() -> Dict[str, Any]: function _get_health_status (line 276) | async def _get_health_status(settings: Settings) -> Dict[str, Any]: function _print_text_status (line 350) | def _print_text_status(status_data: Dict[str, Any], detailed: bool) -> N... function get_quick_status (line 478) | def get_quick_status(settings: Settings) -> str: function check_health (line 493) | async def check_health(settings: Settings) -> bool: FILE: v1/src/commands/stop.py function stop_command (line 18) | async def stop_command( function _graceful_stop_server (line 52) | async def _graceful_stop_server(pid: int, timeout: int, settings: Settin... function _force_stop_server (line 88) | async def _force_stop_server(pid: int, settings: Settings) -> None: function _cleanup_pid_file (line 119) | def _cleanup_pid_file(settings: Settings) -> None: function get_server_status (line 132) | def get_server_status(settings: Settings) -> dict: function stop_all_background_tasks (line 166) | async def stop_all_background_tasks(settings: Settings) -> None: function cleanup_resources (line 182) | async def cleanup_resources(settings: Settings) -> None: function is_server_running (line 217) | def is_server_running(settings: Settings) -> bool: function get_server_pid (line 224) | def get_server_pid(settings: Settings) -> Optional[int]: function wait_for_server_stop (line 231) | async def wait_for_server_stop(settings: Settings, timeout: int = 30) ->... function send_reload_signal (line 244) | def send_reload_signal(settings: Settings) -> bool: function restart_server (line 264) | async def restart_server(settings: Settings, timeout: int = 30) -> None: function get_stop_status_summary (line 283) | def get_stop_status_summary(settings: Settings) -> dict: FILE: v1/src/config.py class ConfigManager (line 17) | class ConfigManager: method __init__ (line 20) | def __init__(self): method settings (line 26) | def settings(self) -> Settings: method domain_config (line 33) | def domain_config(self) -> DomainConfig: method reload_settings (line 39) | def reload_settings(self) -> Settings: method reload_domain_config (line 44) | def reload_domain_config(self) -> DomainConfig: method set_environment_override (line 49) | def set_environment_override(self, key: str, value: Any): method get_environment_override (line 54) | def get_environment_override(self, key: str, default: Any = None) -> Any: method clear_environment_overrides (line 58) | def clear_environment_overrides(self): method get_database_config (line 65) | def get_database_config(self) -> Dict[str, Any]: method get_redis_config (line 80) | def get_redis_config(self) -> Optional[Dict[str, Any]]: method get_logging_config (line 101) | def get_logging_config(self) -> Dict[str, Any]: method get_cors_config (line 105) | def get_cors_config(self) -> Dict[str, Any]: method get_security_config (line 109) | def get_security_config(self) -> Dict[str, Any]: method get_hardware_config (line 123) | def get_hardware_config(self) -> Dict[str, Any]: method get_pose_config (line 138) | def get_pose_config(self) -> Dict[str, Any]: method get_streaming_config (line 154) | def get_streaming_config(self) -> Dict[str, Any]: method get_storage_config (line 172) | def get_storage_config(self) -> Dict[str, Any]: method get_monitoring_config (line 190) | def get_monitoring_config(self) -> Dict[str, Any]: method get_rate_limiting_config (line 204) | def get_rate_limiting_config(self) -> Dict[str, Any]: method validate_configuration (line 217) | def validate_configuration(self) -> List[str]: method get_full_config (line 265) | def get_full_config(self) -> Dict[str, Any]: function get_config_manager (line 284) | def get_config_manager() -> ConfigManager: function get_app_settings (line 290) | def get_app_settings() -> Settings: function get_app_domain_config (line 295) | def get_app_domain_config() -> DomainConfig: function validate_app_configuration (line 300) | def validate_app_configuration() -> List[str]: function reload_configuration (line 305) | def reload_configuration(): FILE: v1/src/config/domains.py class ZoneType (line 13) | class ZoneType(str, Enum): class ActivityType (line 27) | class ActivityType(str, Enum): class HardwareType (line 39) | class HardwareType(str, Enum): class ZoneConfig (line 49) | class ZoneConfig: class RouterConfig (line 86) | class RouterConfig: method to_dict (line 123) | def to_dict(self) -> Dict[str, Any]: class PoseModelConfig (line 152) | class PoseModelConfig(BaseModel): method validate_thresholds (line 179) | def validate_thresholds(cls, v): class StreamingConfig (line 186) | class StreamingConfig(BaseModel): method validate_fps (line 212) | def validate_fps(cls, v): method validate_compression_level (line 219) | def validate_compression_level(cls, v): class AlertConfig (line 226) | class AlertConfig(BaseModel): class DomainConfig (line 255) | class DomainConfig: method __init__ (line 258) | def __init__(self): method _load_defaults (line 268) | def _load_defaults(self): method add_zone (line 300) | def add_zone(self, zone: ZoneConfig): method add_router (line 304) | def add_router(self, router: RouterConfig): method add_pose_model (line 308) | def add_pose_model(self, model: PoseModelConfig): method get_zone (line 312) | def get_zone(self, zone_id: str) -> Optional[ZoneConfig]: method get_router (line 316) | def get_router(self, router_id: str) -> Optional[RouterConfig]: method get_pose_model (line 320) | def get_pose_model(self, model_name: str) -> Optional[PoseModelConfig]: method get_zones_for_router (line 324) | def get_zones_for_router(self, router_id: str) -> List[ZoneConfig]: method get_routers_for_zone (line 333) | def get_routers_for_zone(self, zone_id: str) -> List[RouterConfig]: method get_all_routers (line 352) | def get_all_routers(self) -> List[RouterConfig]: method validate_configuration (line 356) | def validate_configuration(self) -> List[str]: method to_dict (line 385) | def to_dict(self) -> Dict[str, Any]: function get_domain_config (line 429) | def get_domain_config() -> DomainConfig: function load_domain_config_from_file (line 434) | def load_domain_config_from_file(file_path: str) -> DomainConfig: function save_domain_config_to_file (line 473) | def save_domain_config_to_file(config: DomainConfig, file_path: str): FILE: v1/src/config/settings.py class Settings (line 13) | class Settings(BaseSettings): method validate_environment (line 166) | def validate_environment(cls, v): method validate_log_level (line 175) | def validate_log_level(cls, v): method validate_confidence_threshold (line 184) | def validate_confidence_threshold(cls, v): method validate_stream_fps (line 192) | def validate_stream_fps(cls, v): method validate_port (line 200) | def validate_port(cls, v): method validate_workers (line 208) | def validate_workers(cls, v): method validate_db_port (line 216) | def validate_db_port(cls, v): method validate_redis_port (line 224) | def validate_redis_port(cls, v): method validate_db_pool_size (line 232) | def validate_db_pool_size(cls, v): method validate_interval_seconds (line 240) | def validate_interval_seconds(cls, v): method is_development (line 246) | def is_development(self) -> bool: method is_production (line 251) | def is_production(self) -> bool: method is_testing (line 256) | def is_testing(self) -> bool: method get_database_url (line 260) | def get_database_url(self) -> str: method get_sqlite_fallback_url (line 280) | def get_sqlite_fallback_url(self) -> str: method get_redis_url (line 284) | def get_redis_url(self) -> Optional[str]: method get_cors_config (line 296) | def get_cors_config(self) -> Dict[str, Any]: method get_logging_config (line 313) | def get_logging_config(self) -> Dict[str, Any]: method create_directories (line 369) | def create_directories(self): function get_settings (line 384) | def get_settings() -> Settings: function get_test_settings (line 391) | def get_test_settings() -> Settings: function load_settings_from_file (line 405) | def load_settings_from_file(file_path: str) -> Settings: function validate_settings (line 410) | def validate_settings(settings: Settings) -> List[str]: FILE: v1/src/core/csi_processor.py class CSIProcessingError (line 20) | class CSIProcessingError(Exception): class CSIFeatures (line 26) | class CSIFeatures: class HumanDetectionResult (line 39) | class HumanDetectionResult: class CSIProcessor (line 49) | class CSIProcessor: method __init__ (line 52) | def __init__(self, config: Dict[str, Any], logger: Optional[logging.Lo... method _validate_config (line 94) | def _validate_config(self, config: Dict[str, Any]) -> None: method preprocess_csi_data (line 118) | def preprocess_csi_data(self, csi_data: CSIData) -> CSIData: method extract_features (line 148) | def extract_features(self, csi_data: CSIData) -> Optional[CSIFeatures]: method detect_human_presence (line 190) | def detect_human_presence(self, features: CSIFeatures) -> Optional[Hum... method process_csi_data (line 233) | async def process_csi_data(self, csi_data: CSIData) -> HumanDetectionR... method add_to_history (line 266) | def add_to_history(self, csi_data: CSIData) -> None: method clear_history (line 279) | def clear_history(self) -> None: method get_recent_history (line 284) | def get_recent_history(self, count: int) -> List[CSIData]: method get_processing_statistics (line 298) | def get_processing_statistics(self) -> Dict[str, Any]: method reset_statistics (line 316) | def reset_statistics(self) -> None: method _remove_noise (line 323) | def _remove_noise(self, csi_data: CSIData) -> CSIData: method _apply_windowing (line 344) | def _apply_windowing(self, csi_data: CSIData) -> CSIData: method _normalize_amplitude (line 362) | def _normalize_amplitude(self, csi_data: CSIData) -> CSIData: method _extract_amplitude_features (line 379) | def _extract_amplitude_features(self, csi_data: CSIData) -> tuple: method _extract_phase_features (line 385) | def _extract_phase_features(self, csi_data: CSIData) -> np.ndarray: method _extract_correlation_features (line 391) | def _extract_correlation_features(self, csi_data: CSIData) -> np.ndarray: method _extract_doppler_features (line 397) | def _extract_doppler_features(self, csi_data: CSIData) -> tuple: method _analyze_motion_patterns (line 439) | def _analyze_motion_patterns(self, features: CSIFeatures) -> float: method _calculate_detection_confidence (line 449) | def _calculate_detection_confidence(self, features: CSIFeatures, motio... method _apply_temporal_smoothing (line 460) | def _apply_temporal_smoothing(self, raw_confidence: float) -> float: FILE: v1/src/core/phase_sanitizer.py class PhaseSanitizationError (line 10) | class PhaseSanitizationError(Exception): class PhaseSanitizer (line 15) | class PhaseSanitizer: method __init__ (line 18) | def __init__(self, config: Dict[str, Any], logger: Optional[logging.Lo... method _validate_config (line 50) | def _validate_config(self, config: Dict[str, Any]) -> None: method unwrap_phase (line 77) | def unwrap_phase(self, phase_data: np.ndarray) -> np.ndarray: method _unwrap_numpy (line 102) | def _unwrap_numpy(self, phase_data: np.ndarray) -> np.ndarray: method _unwrap_scipy (line 108) | def _unwrap_scipy(self, phase_data: np.ndarray) -> np.ndarray: method _unwrap_custom (line 114) | def _unwrap_custom(self, phase_data: np.ndarray) -> np.ndarray: method remove_outliers (line 124) | def remove_outliers(self, phase_data: np.ndarray) -> np.ndarray: method _detect_outliers (line 151) | def _detect_outliers(self, phase_data: np.ndarray) -> np.ndarray: method _interpolate_outliers (line 163) | def _interpolate_outliers(self, phase_data: np.ndarray, outlier_mask: ... method smooth_phase (line 181) | def smooth_phase(self, phase_data: np.ndarray) -> np.ndarray: method _apply_moving_average (line 203) | def _apply_moving_average(self, phase_data: np.ndarray, window_size: i... method filter_noise (line 221) | def filter_noise(self, phase_data: np.ndarray) -> np.ndarray: method _apply_low_pass_filter (line 243) | def _apply_low_pass_filter(self, phase_data: np.ndarray, threshold: fl... method sanitize_phase (line 266) | def sanitize_phase(self, phase_data: np.ndarray) -> np.ndarray: method validate_phase_data (line 299) | def validate_phase_data(self, phase_data: np.ndarray) -> bool: method get_sanitization_statistics (line 326) | def get_sanitization_statistics(self) -> Dict[str, Any]: method reset_statistics (line 343) | def reset_statistics(self) -> None: FILE: v1/src/core/router_interface.py class RouterInterface (line 16) | class RouterInterface: method __init__ (line 19) | def __init__( method _initialize_mock_generator (line 65) | def _initialize_mock_generator(self): method connect (line 71) | async def connect(self): method disconnect (line 95) | async def disconnect(self): method reconnect (line 108) | async def reconnect(self): method get_csi_data (line 114) | async def get_csi_data(self) -> Optional[np.ndarray]: method _generate_mock_csi_data (line 142) | def _generate_mock_csi_data(self) -> np.ndarray: method _collect_real_csi_data (line 152) | async def _collect_real_csi_data(self) -> Optional[np.ndarray]: method check_health (line 171) | async def check_health(self) -> bool: method get_status (line 193) | async def get_status(self) -> Dict[str, Any]: method get_router_info (line 215) | async def get_router_info(self) -> Dict[str, Any]: method configure_csi_collection (line 240) | async def configure_csi_collection(self, config: Dict[str, Any]) -> bool: method get_metrics (line 265) | def get_metrics(self) -> Dict[str, Any]: method reset_stats (line 289) | def reset_stats(self): FILE: v1/src/database/connection.py class DatabaseConnectionError (line 25) | class DatabaseConnectionError(Exception): class DatabaseManager (line 30) | class DatabaseManager: method __init__ (line 33) | def __init__(self, settings: Settings): method initialize (line 46) | async def initialize(self): method _initialize_postgresql (line 67) | async def _initialize_postgresql(self): method _initialize_postgresql_primary (line 90) | async def _initialize_postgresql_primary(self): method _initialize_sqlite_fallback (line 151) | async def _initialize_sqlite_fallback(self): method _test_sqlite_connection (line 196) | async def _test_sqlite_connection(self): method _initialize_redis (line 207) | async def _initialize_redis(self): method _setup_connection_events (line 252) | def _setup_connection_events(self): method _test_postgresql_connection (line 278) | async def _test_postgresql_connection(self): method _test_redis_connection (line 289) | async def _test_redis_connection(self): method get_async_session (line 303) | async def get_async_session(self) -> AsyncGenerator[AsyncSession, None]: method get_sync_session (line 323) | async def get_sync_session(self) -> Session: method get_redis_client (line 342) | async def get_redis_client(self) -> Optional[redis.Redis]: method health_check (line 349) | async def health_check(self) -> Dict[str, Any]: method get_connection_stats (line 450) | async def get_connection_stats(self) -> Dict[str, Any]: method close_connections (line 484) | async def close_connections(self): method is_using_sqlite_fallback (line 505) | def is_using_sqlite_fallback(self) -> bool: method is_redis_available (line 511) | def is_redis_available(self) -> bool: method test_connection (line 515) | async def test_connection(self) -> bool: method reset_connections (line 535) | async def reset_connections(self): function get_database_manager (line 547) | def get_database_manager(settings: Settings) -> DatabaseManager: function get_async_session (line 555) | async def get_async_session(settings: Settings) -> AsyncGenerator[AsyncS... function get_redis_client (line 562) | async def get_redis_client(settings: Settings) -> Optional[redis.Redis]: class DatabaseHealthCheck (line 568) | class DatabaseHealthCheck: method __init__ (line 571) | def __init__(self, db_manager: DatabaseManager): method check_postgresql (line 574) | async def check_postgresql(self) -> Dict[str, Any]: method check_redis (line 595) | async def check_redis(self) -> Dict[str, Any]: method full_health_check (line 624) | async def full_health_check(self) -> Dict[str, Any]: FILE: v1/src/database/migrations/001_initial.py function upgrade (line 20) | def upgrade(): function downgrade (line 264) | def downgrade(): function _insert_initial_data (line 298) | def _insert_initial_data(): FILE: v1/src/database/migrations/env.py function get_database_url (line 42) | def get_database_url(): function run_migrations_offline (line 52) | def run_migrations_offline() -> None: function do_run_migrations (line 76) | def do_run_migrations(connection: Connection) -> None: function run_async_migrations (line 84) | async def run_async_migrations() -> None: function run_migrations_online (line 101) | def run_migrations_online() -> None: FILE: v1/src/database/model_types.py class ArrayType (line 12) | class ArrayType(sqltypes.TypeDecorator): method __init__ (line 18) | def __init__(self, item_type: Type = String): method load_dialect_impl (line 22) | def load_dialect_impl(self, dialect): method process_bind_param (line 30) | def process_bind_param(self, value, dialect): method process_result_value (line 41) | def process_result_value(self, value, dialect): function get_array_type (line 53) | def get_array_type(item_type: Type = String) -> Type: FILE: v1/src/database/models.py class TimestampMixin (line 25) | class TimestampMixin: class UUIDMixin (line 31) | class UUIDMixin: class DeviceStatus (line 36) | class DeviceStatus(str, Enum): class SessionStatus (line 44) | class SessionStatus(str, Enum): class ProcessingStatus (line 52) | class ProcessingStatus(str, Enum): class Device (line 60) | class Device(Base, UUIDMixin, TimestampMixin): method validate_mac_address (line 103) | def validate_mac_address(self, key, address): method to_dict (line 112) | def to_dict(self) -> Dict[str, Any]: class Session (line 139) | class Session(Base, UUIDMixin, TimestampMixin): method to_dict (line 184) | def to_dict(self) -> Dict[str, Any]: class CSIData (line 206) | class CSIData(Base, UUIDMixin, TimestampMixin): method to_dict (line 262) | def to_dict(self) -> Dict[str, Any]: class PoseDetection (line 290) | class PoseDetection(Base, UUIDMixin, TimestampMixin): method to_dict (line 337) | def to_dict(self) -> Dict[str, Any]: class SystemMetric (line 362) | class SystemMetric(Base, UUIDMixin, TimestampMixin): method to_dict (line 395) | def to_dict(self) -> Dict[str, Any]: class AuditLog (line 414) | class AuditLog(Base, UUIDMixin, TimestampMixin): method to_dict (line 455) | def to_dict(self) -> Dict[str, Any]: function get_model_by_name (line 491) | def get_model_by_name(name: str): function get_all_models (line 496) | def get_all_models() -> List: FILE: v1/src/hardware/csi_extractor.py class CSIParseError (line 12) | class CSIParseError(Exception): class CSIValidationError (line 17) | class CSIValidationError(Exception): class CSIExtractionError (line 22) | class CSIExtractionError(Exception): class CSIData (line 32) | class CSIData: class CSIParser (line 45) | class CSIParser(Protocol): method parse (line 48) | def parse(self, raw_data: bytes) -> CSIData: class ESP32CSIParser (line 53) | class ESP32CSIParser: method parse (line 56) | def parse(self, raw_data: bytes) -> CSIData: class ESP32BinaryParser (line 133) | class ESP32BinaryParser: method parse (line 154) | def parse(self, raw_data: bytes) -> CSIData: class RouterCSIParser (line 233) | class RouterCSIParser: method parse (line 236) | def parse(self, raw_data: bytes) -> CSIData: method _parse_atheros_format (line 259) | def _parse_atheros_format(self, raw_data: bytes) -> CSIData: class CSIExtractor (line 277) | class CSIExtractor: method __init__ (line 280) | def __init__(self, config: Dict[str, Any], logger: Optional[logging.Lo... method _validate_config (line 316) | def _validate_config(self, config: Dict[str, Any]) -> None: method connect (line 340) | async def connect(self) -> bool: method disconnect (line 355) | async def disconnect(self) -> None: method extract_csi (line 361) | async def extract_csi(self) -> CSIData: method validate_csi_data (line 391) | def validate_csi_data(self, csi_data: CSIData) -> bool: method start_streaming (line 426) | async def start_streaming(self, callback: Callable[[CSIData], None]) -... method stop_streaming (line 444) | def stop_streaming(self) -> None: method _establish_hardware_connection (line 448) | async def _establish_hardware_connection(self) -> bool: method _close_hardware_connection (line 453) | async def _close_hardware_connection(self) -> None: method _read_raw_data (line 458) | async def _read_raw_data(self) -> bytes: method _read_udp_data (line 472) | async def _read_udp_data(self) -> bytes: FILE: v1/src/hardware/router_interface.py class RouterConnectionError (line 17) | class RouterConnectionError(Exception): class RouterInterface (line 22) | class RouterInterface: method __init__ (line 25) | def __init__(self, config: Dict[str, Any], logger: Optional[logging.Lo... method _validate_config (line 54) | def _validate_config(self, config: Dict[str, Any]) -> None: method connect (line 72) | async def connect(self) -> bool: method disconnect (line 95) | async def disconnect(self) -> None: method execute_command (line 103) | async def execute_command(self, command: str) -> str: method get_csi_data (line 137) | async def get_csi_data(self) -> CSIData: method get_router_status (line 152) | async def get_router_status(self) -> Dict[str, Any]: method configure_csi_monitoring (line 167) | async def configure_csi_monitoring(self, config: Dict[str, Any]) -> bool: method health_check (line 188) | async def health_check(self) -> bool: method _parse_csi_response (line 201) | def _parse_csi_response(self, response: str) -> CSIData: method _parse_status_response (line 224) | def _parse_status_response(self, response: str) -> Dict[str, Any]: FILE: v1/src/logger.py class ColoredFormatter (line 17) | class ColoredFormatter(logging.Formatter): method format (line 30) | def format(self, record): class StructuredFormatter (line 39) | class StructuredFormatter(logging.Formatter): method format (line 42) | def format(self, record): class RequestContextFilter (line 72) | class RequestContextFilter(logging.Filter): method filter (line 75) | def filter(self, record): function setup_logging (line 94) | def setup_logging(settings: Settings) -> None: function build_logging_config (line 122) | def build_logging_config(settings: Settings) -> Dict[str, Any]: function get_logger (line 220) | def get_logger(name: str) -> logging.Logger: function configure_third_party_loggers (line 225) | def configure_third_party_loggers(settings: Settings) -> None: class LoggerMixin (line 249) | class LoggerMixin: method logger (line 253) | def logger(self) -> logging.Logger: function log_function_call (line 258) | def log_function_call(func): function log_async_function_call (line 278) | def log_async_function_call(func): function setup_request_logging (line 298) | def setup_request_logging(): FILE: v1/src/main.py function setup_signal_handlers (line 24) | def setup_signal_handlers(orchestrator: ServiceOrchestrator): function main (line 35) | async def main(): function run (line 108) | def run(): FILE: v1/src/middleware/auth.py class AuthenticationError (line 27) | class AuthenticationError(Exception): class AuthorizationError (line 32) | class AuthorizationError(Exception): class TokenManager (line 37) | class TokenManager: method __init__ (line 40) | def __init__(self, settings: Settings): method create_access_token (line 46) | def create_access_token(self, data: Dict[str, Any]) -> str: method verify_token (line 55) | def verify_token(self, token: str) -> Dict[str, Any]: method decode_token_claims (line 64) | def decode_token_claims(self, token: str) -> Optional[Dict[str, Any]]: class UserManager (line 78) | class UserManager: method __init__ (line 81) | def __init__(self): method hash_password (line 88) | def hash_password(password: str) -> str: method verify_password (line 93) | def verify_password(plain_password: str, hashed_password: str) -> bool: method get_user (line 97) | def get_user(self, username: str) -> Optional[Dict[str, Any]]: method authenticate_user (line 101) | def authenticate_user(self, username: str, password: str) -> Optional[... method create_user (line 115) | def create_user(self, username: str, email: str, password: str, roles:... method update_user (line 132) | def update_user(self, username: str, updates: Dict[str, Any]) -> Optio... method deactivate_user (line 145) | def deactivate_user(self, username: str) -> bool: class AuthenticationMiddleware (line 154) | class AuthenticationMiddleware: method __init__ (line 157) | def __init__(self, settings: Settings): method __call__ (line 163) | async def __call__(self, request: Request, call_next: Callable) -> Res... method _should_skip_auth (line 218) | def _should_skip_auth(self, request: Request) -> bool: method _authenticate_request (line 236) | async def _authenticate_request(self, request: Request) -> Optional[Di... method _requires_auth (line 289) | def _requires_auth(self, request: Request) -> bool: method _add_auth_headers (line 295) | def _add_auth_headers(self, response: Response, user_info: Optional[Di... method login (line 301) | async def login(self, username: str, password: str) -> Dict[str, Any]: method register (line 327) | async def register(self, username: str, email: str, password: str) -> ... method refresh_token (line 355) | async def refresh_token(self, token: str) -> Dict[str, Any]: method check_permission (line 383) | def check_permission(self, user_info: Dict[str, Any], required_role: s... method require_role (line 394) | def require_role(self, required_role: str): function get_auth_middleware (line 418) | def get_auth_middleware(settings: Settings) -> AuthenticationMiddleware: function get_current_user (line 426) | def get_current_user(request: Request) -> Optional[Dict[str, Any]]: function require_authentication (line 431) | def require_authentication(request: Request) -> Dict[str, Any]: function require_role (line 443) | def require_role(role: str): FILE: v1/src/middleware/cors.py class CORSMiddleware (line 18) | class CORSMiddleware: method __init__ (line 21) | def __init__( method __call__ (line 59) | async def __call__(self, scope, receive, send): method _handle_preflight (line 89) | async def _handle_preflight(self, request: Request) -> Response: method _get_cors_headers (line 154) | def _get_cors_headers(self, request: Request) -> dict: method _is_origin_allowed (line 170) | def _is_origin_allowed(self, origin: Optional[str]) -> bool: method _match_origin_pattern (line 193) | def _match_origin_pattern(self, origin: str, pattern: str) -> bool: function setup_cors_middleware (line 210) | def setup_cors_middleware(app: ASGIApp, settings: Settings) -> ASGIApp: class CORSConfig (line 248) | class CORSConfig: method development_config (line 252) | def development_config() -> dict: method production_config (line 269) | def production_config(allowed_origins: List[str]) -> dict: method api_only_config (line 295) | def api_only_config(allowed_origins: List[str]) -> dict: method websocket_config (line 316) | def websocket_config(allowed_origins: List[str]) -> dict: function validate_cors_config (line 333) | def validate_cors_config(settings: Settings) -> List[str]: function get_cors_headers_for_origin (line 360) | def get_cors_headers_for_origin(origin: str, settings: Settings) -> dict: FILE: v1/src/middleware/error_handler.py class ErrorResponse (line 23) | class ErrorResponse: method __init__ (line 26) | def __init__( method to_dict (line 41) | def to_dict(self) -> Dict[str, Any]: method to_response (line 59) | def to_response(self) -> JSONResponse: class ErrorHandler (line 72) | class ErrorHandler: method __init__ (line 75) | def __init__(self, settings: Settings): method handle_http_exception (line 80) | def handle_http_exception(self, request: Request, exc: HTTPException) ... method handle_validation_error (line 114) | def handle_validation_error(self, request: Request, exc: RequestValida... method handle_pydantic_error (line 155) | def handle_pydantic_error(self, request: Request, exc: ValidationError... method handle_generic_exception (line 190) | def handle_generic_exception(self, request: Request, exc: Exception) -... method handle_database_error (line 228) | def handle_database_error(self, request: Request, exc: Exception) -> E... method handle_external_service_error (line 260) | def handle_external_service_error(self, request: Request, exc: Excepti... method _get_error_code_for_status (line 287) | def _get_error_code_for_status(self, status_code: int) -> str: class ErrorHandlingMiddleware (line 307) | class ErrorHandlingMiddleware: method __init__ (line 310) | def __init__(self, app, settings: Settings): method __call__ (line 315) | async def __call__(self, scope, receive, send): method _is_database_error (line 355) | def _is_database_error(self, exc: Exception) -> bool: method _is_external_service_error (line 375) | def _is_external_service_error(self, exc: Exception) -> bool: function setup_error_handling (line 397) | def setup_error_handling(app, settings: Settings): class CustomHTTPException (line 440) | class CustomHTTPException(HTTPException): method __init__ (line 443) | def __init__( class BusinessLogicError (line 456) | class BusinessLogicError(CustomHTTPException): method __init__ (line 459) | def __init__(self, message: str, context: Optional[Dict[str, Any]] = N... class ResourceNotFoundError (line 468) | class ResourceNotFoundError(CustomHTTPException): method __init__ (line 471) | def __init__(self, resource: str, identifier: str): class ConflictError (line 480) | class ConflictError(CustomHTTPException): method __init__ (line 483) | def __init__(self, message: str, context: Optional[Dict[str, Any]] = N... class ServiceUnavailableError (line 492) | class ServiceUnavailableError(CustomHTTPException): method __init__ (line 495) | def __init__(self, service: str, reason: Optional[str] = None): FILE: v1/src/middleware/rate_limit.py class RateLimitInfo (line 22) | class RateLimitInfo: method remaining (line 30) | def remaining(self) -> int: method reset_time (line 35) | def reset_time(self) -> float: method is_exceeded (line 40) | def is_exceeded(self) -> bool: class TokenBucket (line 45) | class TokenBucket: method __init__ (line 48) | def __init__(self, capacity: int, refill_rate: float): method consume (line 55) | async def consume(self, tokens: int = 1) -> bool: method get_info (line 73) | def get_info(self) -> Dict[str, Any]: class SlidingWindowCounter (line 83) | class SlidingWindowCounter: method __init__ (line 86) | def __init__(self, window_size: int, limit: int): method is_allowed (line 92) | async def is_allowed(self) -> Tuple[bool, RateLimitInfo]: class RateLimiter (line 119) | class RateLimiter: method __init__ (line 122) | def __init__(self, settings: Settings): method start (line 139) | async def start(self): method stop (line 145) | async def stop(self): method _cleanup_loop (line 155) | async def _cleanup_loop(self): method _cleanup_old_data (line 166) | async def _cleanup_old_data(self): method _get_client_identifier (line 187) | def _get_client_identifier(self, request: Request) -> str: method _get_client_ip (line 198) | def _get_client_ip(self, request: Request) -> str: method _get_rate_limit (line 212) | def _get_rate_limit(self, request: Request) -> int: method _get_rate_limit_key (line 221) | def _get_rate_limit_key(self, request: Request) -> str: method check_rate_limit (line 227) | async def check_rate_limit(self, request: Request) -> Tuple[bool, Rate... method check_token_bucket (line 252) | async def check_token_bucket(self, request: Request, tokens: int = 1) ... method get_rate_limit_headers (line 269) | def get_rate_limit_headers(self, rate_limit_info: RateLimitInfo) -> Di... method get_stats (line 278) | async def get_stats(self) -> Dict[str, Any]: class RateLimitMiddleware (line 290) | class RateLimitMiddleware: method __init__ (line 293) | def __init__(self, settings: Settings): method __call__ (line 298) | async def __call__(self, request: Request, call_next: Callable) -> Res... method _should_skip_rate_limit (line 344) | def _should_skip_rate_limit(self, request: Request) -> bool: method start (line 360) | async def start(self): method stop (line 364) | async def stop(self): function get_rate_limit_middleware (line 373) | def get_rate_limit_middleware(settings: Settings) -> RateLimitMiddleware: function setup_rate_limiting (line 381) | def setup_rate_limiting(app: ASGIApp, settings: Settings) -> ASGIApp: class RateLimitConfig (line 404) | class RateLimitConfig: method development_config (line 408) | def development_config() -> dict: method production_config (line 418) | def production_config() -> dict: method api_config (line 428) | def api_config() -> dict: method strict_config (line 438) | def strict_config() -> dict: function validate_rate_limit_config (line 448) | def validate_rate_limit_config(settings: Settings) -> list: FILE: v1/src/models/densepose_head.py class DensePoseError (line 9) | class DensePoseError(Exception): class DensePoseHead (line 14) | class DensePoseHead(nn.Module): method __init__ (line 17) | def __init__(self, config: Dict[str, Any]): method _validate_config (line 56) | def _validate_config(self, config: Dict[str, Any]): method _build_fpn (line 72) | def _build_fpn(self) -> nn.Module: method _build_shared_layers (line 79) | def _build_shared_layers(self) -> nn.Module: method _build_segmentation_head (line 97) | def _build_segmentation_head(self) -> nn.Module: method _build_uv_regression_head (line 119) | def _build_uv_regression_head(self) -> nn.Module: method _initialize_weights (line 140) | def _initialize_weights(self): method forward (line 151) | def forward(self, x: torch.Tensor) -> Dict[str, torch.Tensor]: method compute_segmentation_loss (line 186) | def compute_segmentation_loss(self, pred_logits: torch.Tensor, target:... method compute_uv_loss (line 198) | def compute_uv_loss(self, pred_uv: torch.Tensor, target_uv: torch.Tens... method compute_total_loss (line 210) | def compute_total_loss(self, predictions: Dict[str, torch.Tensor], method get_prediction_confidence (line 232) | def get_prediction_confidence(self, predictions: Dict[str, torch.Tenso... method post_process_predictions (line 257) | def post_process_predictions(self, predictions: Dict[str, torch.Tensor... FILE: v1/src/models/modality_translation.py class ModalityTranslationError (line 9) | class ModalityTranslationError(Exception): class ModalityTranslationNetwork (line 14) | class ModalityTranslationNetwork(nn.Module): method __init__ (line 17) | def __init__(self, config: Dict[str, Any]): method _validate_config (line 53) | def _validate_config(self, config: Dict[str, Any]): method _build_encoder (line 69) | def _build_encoder(self) -> nn.ModuleList: method _build_decoder (line 91) | def _build_decoder(self) -> nn.ModuleList: method _get_normalization (line 124) | def _get_normalization(self, channels: int) -> nn.Module: method _get_activation (line 135) | def _get_activation(self) -> nn.Module: method _build_attention (line 146) | def _build_attention(self) -> nn.Module: method _initialize_weights (line 155) | def _initialize_weights(self): method forward (line 166) | def forward(self, x: torch.Tensor) -> torch.Tensor: method encode (line 187) | def encode(self, x: torch.Tensor) -> List[torch.Tensor]: method decode (line 205) | def decode(self, encoded_features: List[torch.Tensor]) -> torch.Tensor: method compute_translation_loss (line 231) | def compute_translation_loss(self, predicted: torch.Tensor, target: to... method get_feature_statistics (line 251) | def get_feature_statistics(self, features: torch.Tensor) -> Dict[str, ... method get_intermediate_features (line 269) | def get_intermediate_features(self, x: torch.Tensor) -> Dict[str, Any]: FILE: v1/src/sensing/backend.py class Capability (line 35) | class Capability(Enum): class SensingBackend (line 50) | class SensingBackend(Protocol): method get_features (line 53) | def get_features(self) -> RssiFeatures: method get_capabilities (line 57) | def get_capabilities(self) -> Set[Capability]: class CommodityBackend (line 66) | class CommodityBackend: method __init__ (line 91) | def __init__( method collector (line 102) | def collector(self) -> LinuxWifiCollector | SimulatedCollector | Windo... method extractor (line 106) | def extractor(self) -> RssiFeatureExtractor: method classifier (line 110) | def classifier(self) -> PresenceClassifier: method get_features (line 115) | def get_features(self) -> RssiFeatures: method get_capabilities (line 128) | def get_capabilities(self) -> Set[Capability]: method get_result (line 134) | def get_result(self) -> SensingResult: method start (line 146) | def start(self) -> None: method stop (line 154) | def stop(self) -> None: method is_capable (line 159) | def is_capable(self, capability: Capability) -> bool: method __repr__ (line 163) | def __repr__(self) -> str: FILE: v1/src/sensing/classifier.py class MotionLevel (line 26) | class MotionLevel(Enum): class SensingResult (line 35) | class SensingResult: class PresenceClassifier (line 48) | class PresenceClassifier: method __init__ (line 77) | def __init__( method presence_variance_threshold (line 88) | def presence_variance_threshold(self) -> float: method motion_energy_threshold (line 92) | def motion_energy_threshold(self) -> float: method classify (line 95) | def classify( method _compute_confidence (line 153) | def _compute_confidence( FILE: v1/src/sensing/feature_extractor.py class RssiFeatures (line 30) | class RssiFeatures: class RssiFeatureExtractor (line 62) | class RssiFeatureExtractor: method __init__ (line 77) | def __init__( method window_seconds (line 88) | def window_seconds(self) -> float: method extract (line 91) | def extract(self, samples: List[WifiSample]) -> RssiFeatures: method extract_from_array (line 133) | def extract_from_array( method _trim_to_window (line 165) | def _trim_to_window(self, samples: List[WifiSample]) -> List[WifiSample]: method _compute_time_domain (line 177) | def _compute_time_domain(rssi: NDArray[np.float64], features: RssiFeat... method _compute_frequency_domain (line 197) | def _compute_frequency_domain( method _compute_change_points (line 246) | def _compute_change_points( function _band_power (line 277) | def _band_power( function cusum_detect (line 288) | def cusum_detect( FILE: v1/src/sensing/rssi_collector.py class WifiSample (line 35) | class WifiSample: class RingBuffer (line 52) | class RingBuffer: method __init__ (line 55) | def __init__(self, max_size: int) -> None: method append (line 59) | def append(self, sample: WifiSample) -> None: method get_all (line 63) | def get_all(self) -> List[WifiSample]: method get_last_n (line 68) | def get_last_n(self, n: int) -> List[WifiSample]: method __len__ (line 74) | def __len__(self) -> int: method clear (line 78) | def clear(self) -> None: class WifiCollector (line 87) | class WifiCollector(Protocol): method start (line 90) | def start(self) -> None: ... method stop (line 91) | def stop(self) -> None: ... method get_samples (line 92) | def get_samples(self, n: Optional[int] = None) -> List[WifiSample]: ... method sample_rate_hz (line 94) | def sample_rate_hz(self) -> float: ... class LinuxWifiCollector (line 101) | class LinuxWifiCollector: method __init__ (line 119) | def __init__( method sample_rate_hz (line 134) | def sample_rate_hz(self) -> float: method start (line 137) | def start(self) -> None: method stop (line 153) | def stop(self) -> None: method get_samples (line 161) | def get_samples(self, n: Optional[int] = None) -> List[WifiSample]: method collect_once (line 174) | def collect_once(self) -> WifiSample: method is_available (line 181) | def is_available(cls, interface: str = "wlan0") -> tuple[bool, str]: method _validate_interface (line 214) | def _validate_interface(self) -> None: method _parse_interface_names (line 221) | def _parse_interface_names(proc_content: str) -> List[str]: method _sample_loop (line 230) | def _sample_loop(self) -> None: method _read_sample (line 244) | def _read_sample(self) -> WifiSample: method _read_proc_wireless (line 259) | def _read_proc_wireless(self) -> tuple[float, float, float]: method _read_iw_station (line 282) | def _read_iw_station(self) -> tuple[int, int, int]: method _extract_int (line 302) | def _extract_int(text: str, pattern: str) -> int: class SimulatedCollector (line 311) | class SimulatedCollector: method __init__ (line 347) | def __init__( method sample_rate_hz (line 378) | def sample_rate_hz(self) -> float: method start (line 381) | def start(self) -> None: method stop (line 393) | def stop(self) -> None: method get_samples (line 399) | def get_samples(self, n: Optional[int] = None) -> List[WifiSample]: method generate_samples (line 404) | def generate_samples(self, duration_seconds: float) -> List[WifiSample]: method _sample_loop (line 430) | def _sample_loop(self) -> None: method _make_sample (line 444) | def _make_sample(self, timestamp: float, t_offset: float, index: int) ... class WindowsWifiCollector (line 475) | class WindowsWifiCollector: method __init__ (line 494) | def __init__( method sample_rate_hz (line 511) | def sample_rate_hz(self) -> float: method start (line 514) | def start(self) -> None: method stop (line 529) | def stop(self) -> None: method get_samples (line 536) | def get_samples(self, n: Optional[int] = None) -> List[WifiSample]: method collect_once (line 541) | def collect_once(self) -> WifiSample: method _validate_interface (line 546) | def _validate_interface(self) -> None: method _sample_loop (line 567) | def _sample_loop(self) -> None: method _read_sample (line 581) | def _read_sample(self) -> WifiSample: class MacosWifiCollector (line 633) | class MacosWifiCollector: method __init__ (line 641) | def __init__( method sample_rate_hz (line 662) | def sample_rate_hz(self) -> float: method start (line 665) | def start(self) -> None: method stop (line 687) | def stop(self) -> None: method get_samples (line 702) | def get_samples(self, n: Optional[int] = None) -> List[WifiSample]: method _sample_loop (line 709) | def _sample_loop(self) -> None: function create_collector (line 770) | def create_collector( FILE: v1/src/sensing/ws_server.py class Esp32UdpCollector (line 63) | class Esp32UdpCollector: method __init__ (line 79) | def __init__( method sample_rate_hz (line 99) | def sample_rate_hz(self) -> float: method frames_received (line 103) | def frames_received(self) -> int: method start (line 106) | def start(self) -> None: method stop (line 120) | def stop(self) -> None: method get_samples (line 130) | def get_samples(self, n: Optional[int] = None) -> List[WifiSample]: method _recv_loop (line 135) | def _recv_loop(self) -> None: method _parse_and_store (line 146) | def _parse_and_store(self, raw: bytes, addr) -> None: function probe_esp32_udp (line 214) | def probe_esp32_udp(port: int = ESP32_UDP_PORT, timeout: float = 2.0) ->... function generate_signal_field (line 236) | def generate_signal_field( class SensingWebSocketServer (line 307) | class SensingWebSocketServer: method __init__ (line 310) | def __init__(self) -> None: method _create_collector (line 318) | def _create_collector(self): method _build_message (line 346) | def _build_message(self, features: RssiFeatures, result: SensingResult... method _handler (line 402) | async def _handler(self, websocket): method _broadcast (line 414) | async def _broadcast(self, message: str) -> None: method _tick_loop (line 426) | async def _tick_loop(self) -> None: method run (line 458) | async def run(self) -> None: method stop (line 479) | def stop(self) -> None: function main (line 491) | def main(): FILE: v1/src/services/hardware_service.py class HardwareService (line 20) | class HardwareService: method __init__ (line 23) | def __init__(self, settings: Settings, domain_config: DomainConfig): method initialize (line 54) | async def initialize(self): method start (line 58) | async def start(self): method stop (line 84) | async def stop(self): method _initialize_routers (line 108) | async def _initialize_routers(self): method _disconnect_routers (line 146) | async def _disconnect_routers(self): method _data_collection_loop (line 158) | async def _data_collection_loop(self): method _monitoring_loop (line 180) | async def _monitoring_loop(self): method _collect_data_from_routers (line 198) | async def _collect_data_from_routers(self): method _process_collected_data (line 221) | async def _process_collected_data(self, router_id: str, csi_data: np.n... method _monitor_router_health (line 253) | async def _monitor_router_health(self): method _update_sample_rate_stats (line 279) | def _update_sample_rate_stats(self): method get_router_status (line 305) | async def get_router_status(self, router_id: str) -> Dict[str, Any]: method get_all_router_status (line 333) | async def get_all_router_status(self) -> List[Dict[str, Any]]: method get_recent_data (line 350) | async def get_recent_data(self, router_id: Optional[str] = None, limit... method get_status (line 367) | async def get_status(self) -> Dict[str, Any]: method get_metrics (line 383) | async def get_metrics(self) -> Dict[str, Any]: method reset (line 400) | async def reset(self): method trigger_manual_collection (line 416) | async def trigger_manual_collection(self, router_id: Optional[str] = N... method health_check (line 445) | async def health_check(self) -> Dict[str, Any]: method is_ready (line 480) | async def is_ready(self) -> bool: FILE: v1/src/services/health_check.py class HealthStatus (line 18) | class HealthStatus(Enum): class HealthCheck (line 27) | class HealthCheck: class ServiceHealth (line 38) | class ServiceHealth: class HealthCheckService (line 49) | class HealthCheckService: method __init__ (line 52) | def __init__(self, settings: Settings): method initialize (line 59) | async def initialize(self): method start (line 79) | async def start(self): method shutdown (line 87) | async def shutdown(self): method perform_health_checks (line 92) | async def perform_health_checks(self) -> Dict[str, HealthCheck]: method _check_api_health (line 132) | async def _check_api_health(self) -> HealthCheck: method _check_database_health (line 162) | async def _check_database_health(self) -> HealthCheck: method _check_redis_health (line 203) | async def _check_redis_health(self) -> HealthCheck: method _check_hardware_health (line 241) | async def _check_hardware_health(self) -> HealthCheck: method _check_pose_health (line 282) | async def _check_pose_health(self) -> HealthCheck: method _check_stream_health (line 323) | async def _check_stream_health(self) -> HealthCheck: method _update_service_health (line 364) | def _update_service_health(self, service_name: str, health_check: Heal... method get_overall_health (line 384) | async def get_overall_health(self) -> Dict[str, Any]: method get_service_health (line 432) | async def get_service_health(self, service_name: str) -> Optional[Dict... method get_status (line 457) | async def get_status(self) -> Dict[str, Any]: FILE: v1/src/services/metrics.py class MetricPoint (line 20) | class MetricPoint: class MetricSeries (line 28) | class MetricSeries: method add_point (line 35) | def add_point(self, value: float, labels: Optional[Dict[str, str]] = N... method get_latest (line 44) | def get_latest(self) -> Optional[MetricPoint]: method get_average (line 48) | def get_average(self, duration: timedelta) -> Optional[float]: method get_max (line 61) | def get_max(self, duration: timedelta) -> Optional[float]: class MetricsService (line 75) | class MetricsService: method __init__ (line 78) | def __init__(self, settings: Settings): method _initialize_standard_metrics (line 91) | def _initialize_standard_metrics(self): method initialize (line 143) | async def initialize(self): method start (line 152) | async def start(self): method shutdown (line 160) | async def shutdown(self): method collect_metrics (line 165) | async def collect_metrics(self): method _collect_system_metrics (line 180) | async def _collect_system_metrics(self): method _collect_application_metrics (line 204) | async def _collect_application_metrics(self): method increment_counter (line 228) | def increment_counter(self, name: str, value: float = 1.0, labels: Opt... method set_gauge (line 235) | def set_gauge(self, name: str, value: float, labels: Optional[Dict[str... method record_histogram (line 242) | def record_histogram(self, name: str, value: float, labels: Optional[D... method time_function (line 253) | def time_function(self, metric_name: str): method get_metric (line 282) | def get_metric(self, name: str) -> Optional[MetricSeries]: method get_metric_value (line 286) | def get_metric_value(self, name: str) -> Optional[float]: method get_counter_value (line 294) | def get_counter_value(self, name: str) -> float: method get_gauge_value (line 298) | def get_gauge_value(self, name: str) -> Optional[float]: method get_histogram_stats (line 302) | def get_histogram_stats(self, name: str) -> Dict[str, float]: method get_all_metrics (line 323) | async def get_all_metrics(self) -> Dict[str, Any]: method get_system_metrics (line 359) | async def get_system_metrics(self) -> Dict[str, Any]: method get_application_metrics (line 369) | async def get_application_metrics(self) -> Dict[str, Any]: method get_performance_summary (line 382) | async def get_performance_summary(self) -> Dict[str, Any]: method get_status (line 405) | async def get_status(self) -> Dict[str, Any]: method reset_metrics (line 418) | def reset_metrics(self): FILE: v1/src/services/orchestrator.py class ServiceOrchestrator (line 24) | class ServiceOrchestrator: method __init__ (line 27) | def __init__(self, settings: Settings): method initialize (line 44) | async def initialize(self): method _initialize_application_services (line 79) | async def _initialize_application_services(self): method start (line 109) | async def start(self): method _start_application_services (line 139) | async def _start_application_services(self): method _start_background_tasks (line 160) | async def _start_background_tasks(self): method _health_check_loop (line 183) | async def _health_check_loop(self): method _metrics_collection_loop (line 198) | async def _metrics_collection_loop(self): method shutdown (line 213) | async def shutdown(self): method _shutdown_application_services (line 249) | async def _shutdown_application_services(self): method restart_service (line 267) | async def restart_service(self, service_name: str): method reset_services (line 296) | async def reset_services(self): method get_service_status (line 320) | async def get_service_status(self) -> Dict[str, Any]: method get_service_metrics (line 335) | async def get_service_metrics(self) -> Dict[str, Any]: method get_service_info (line 351) | async def get_service_info(self) -> Dict[str, Any]: method get_service (line 378) | def get_service(self, name: str) -> Optional[Any]: method is_healthy (line 383) | def is_healthy(self) -> bool: method service_context (line 388) | async def service_context(self): FILE: v1/src/services/pose_service.py class PoseService (line 27) | class PoseService: method __init__ (line 30) | def __init__(self, settings: Settings, domain_config: DomainConfig): method initialize (line 60) | async def initialize(self): method _initialize_models (line 107) | async def _initialize_models(self): method start (line 138) | async def start(self): method stop (line 146) | async def stop(self): method process_csi_data (line 151) | async def process_csi_data(self, csi_data: np.ndarray, metadata: Dict[... method _process_csi (line 183) | async def _process_csi(self, csi_data: np.ndarray, metadata: Dict[str,... method _estimate_poses (line 234) | async def _estimate_poses(self, csi_data: np.ndarray, metadata: Dict[s... method _parse_pose_outputs (line 277) | def _parse_pose_outputs(self, outputs: torch.Tensor) -> List[Dict[str,... method _extract_keypoints_from_output (line 321) | def _extract_keypoints_from_output(self, output: torch.Tensor) -> List... method _extract_bbox_from_output (line 364) | def _extract_bbox_from_output(self, output: torch.Tensor) -> Dict[str,... method _generate_mock_poses (line 387) | def _generate_mock_poses(self) -> List[Dict[str, Any]]: method _classify_activity (line 406) | def _classify_activity(self, features: torch.Tensor) -> str: method _update_stats (line 426) | def _update_stats(self, poses: List[Dict[str, Any]], processing_time: ... method get_status (line 447) | async def get_status(self) -> Dict[str, Any]: method get_metrics (line 463) | async def get_metrics(self) -> Dict[str, Any]: method reset (line 478) | async def reset(self): method estimate_poses (line 491) | async def estimate_poses(self, zone_ids=None, confidence_threshold=Non... method analyze_with_params (line 582) | async def analyze_with_params(self, zone_ids=None, confidence_threshol... method get_zone_occupancy (line 588) | async def get_zone_occupancy(self, zone_id: str): method get_zones_summary (line 612) | async def get_zones_summary(self): method get_historical_data (line 644) | async def get_historical_data(self, start_time, end_time, zone_ids=None, method get_recent_activities (line 674) | async def get_recent_activities(self, zone_id=None, limit=10): method is_calibrating (line 692) | async def is_calibrating(self): method start_calibration (line 696) | async def start_calibration(self): method run_calibration (line 706) | async def run_calibration(self, calibration_id): method get_calibration_status (line 715) | async def get_calibration_status(self): method get_statistics (line 737) | async def get_statistics(self, start_time, end_time): method process_segmentation_data (line 775) | async def process_segmentation_data(self, frame_id): method get_current_pose_data (line 783) | async def get_current_pose_data(self): method health_check (line 830) | async def health_check(self): method is_ready (line 854) | async def is_ready(self): FILE: v1/src/services/stream_service.py class StreamService (line 21) | class StreamService: method __init__ (line 24) | def __init__(self, settings: Settings, domain_config: DomainConfig): method initialize (line 55) | async def initialize(self): method start (line 59) | async def start(self): method stop (line 71) | async def stop(self): method add_connection (line 88) | async def add_connection(self, websocket: WebSocket, metadata: Dict[st... method remove_connection (line 107) | async def remove_connection(self, websocket: WebSocket): method broadcast_pose_data (line 121) | async def broadcast_pose_data(self, pose_data: Dict[str, Any]): method broadcast_csi_data (line 140) | async def broadcast_csi_data(self, csi_data: np.ndarray, metadata: Dic... method broadcast_system_status (line 164) | async def broadcast_system_status(self, status_data: Dict[str, Any]): method send_to_connection (line 175) | async def send_to_connection(self, websocket: WebSocket, message: Dict... method _broadcast_message (line 187) | async def _broadcast_message(self, message: Dict[str, Any]): method _send_initial_data (line 211) | async def _send_initial_data(self, websocket: WebSocket): method _streaming_loop (line 243) | async def _streaming_loop(self): method _close_all_connections (line 264) | async def _close_all_connections(self): method get_status (line 280) | async def get_status(self) -> Dict[str, Any]: method get_metrics (line 304) | async def get_metrics(self) -> Dict[str, Any]: method get_connection_info (line 321) | async def get_connection_info(self) -> List[Dict[str, Any]]: method reset (line 340) | async def reset(self): method get_buffer_data (line 359) | def get_buffer_data(self, buffer_type: str, limit: int = 100) -> List[... method is_active (line 369) | def is_active(self) -> bool: method health_check (line 373) | async def health_check(self) -> Dict[str, Any]: method is_ready (line 395) | async def is_ready(self) -> bool: FILE: v1/src/tasks/backup.py class BackupTask (line 26) | class BackupTask: method __init__ (line 29) | def __init__(self, name: str, settings: Settings): method execute_backup (line 39) | async def execute_backup(self, session: AsyncSession) -> Dict[str, Any]: method run (line 43) | async def run(self, session: AsyncSession) -> Dict[str, Any]: method get_stats (line 81) | def get_stats(self) -> Dict[str, Any]: method _get_backup_filename (line 92) | def _get_backup_filename(self, prefix: str, extension: str = ".gz") ->... method _get_file_size_mb (line 97) | def _get_file_size_mb(self, file_path: Path) -> float: method _cleanup_old_backups (line 103) | def _cleanup_old_backups(self, pattern: str, retention_days: int): class DatabaseBackup (line 119) | class DatabaseBackup(BackupTask): method __init__ (line 122) | def __init__(self, settings: Settings): method execute_backup (line 126) | async def execute_backup(self, session: AsyncSession) -> Dict[str, Any]: class ConfigurationBackup (line 184) | class ConfigurationBackup(BackupTask): method __init__ (line 187) | def __init__(self, settings: Settings): method execute_backup (line 198) | async def execute_backup(self, session: AsyncSession) -> Dict[str, Any]: class DataExportBackup (line 284) | class DataExportBackup(BackupTask): method __init__ (line 287) | def __init__(self, settings: Settings): method execute_backup (line 292) | async def execute_backup(self, session: AsyncSession) -> Dict[str, Any]: method _export_table_data (line 345) | async def _export_table_data(self, session: AsyncSession, model_class,... method _export_query_data (line 350) | async def _export_query_data(self, session: AsyncSession, query, table... class LogsBackup (line 377) | class LogsBackup(BackupTask): method __init__ (line 380) | def __init__(self, settings: Settings): method execute_backup (line 385) | async def execute_backup(self, session: AsyncSession) -> Dict[str, Any]: class BackupManager (line 434) | class BackupManager: method __init__ (line 437) | def __init__(self, settings: Settings): method _initialize_tasks (line 446) | def _initialize_tasks(self) -> List[BackupTask]: method run_all_tasks (line 461) | async def run_all_tasks(self) -> Dict[str, Any]: method run_task (line 516) | async def run_task(self, task_name: str) -> Dict[str, Any]: method get_stats (line 536) | def get_stats(self) -> Dict[str, Any]: method list_backups (line 548) | def list_backups(self) -> Dict[str, List[Dict[str, Any]]]: function get_backup_manager (line 585) | def get_backup_manager(settings: Settings) -> BackupManager: function run_periodic_backup (line 593) | async def run_periodic_backup(settings: Settings): FILE: v1/src/tasks/cleanup.py class CleanupTask (line 24) | class CleanupTask: method __init__ (line 27) | def __init__(self, name: str, settings: Settings): method execute (line 36) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: method run (line 40) | async def run(self, session: AsyncSession) -> Dict[str, Any]: method get_stats (line 82) | def get_stats(self) -> Dict[str, Any]: class OldCSIDataCleanup (line 94) | class OldCSIDataCleanup(CleanupTask): method __init__ (line 97) | def __init__(self, settings: Settings): method execute (line 102) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: class OldPoseDetectionCleanup (line 152) | class OldPoseDetectionCleanup(CleanupTask): method __init__ (line 155) | def __init__(self, settings: Settings): method execute (line 160) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: class OldMetricsCleanup (line 210) | class OldMetricsCleanup(CleanupTask): method __init__ (line 213) | def __init__(self, settings: Settings): method execute (line 218) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: class OldAuditLogCleanup (line 268) | class OldAuditLogCleanup(CleanupTask): method __init__ (line 271) | def __init__(self, settings: Settings): method execute (line 276) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: class OrphanedSessionCleanup (line 326) | class OrphanedSessionCleanup(CleanupTask): method __init__ (line 329) | def __init__(self, settings: Settings): method execute (line 334) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: class InvalidDataCleanup (line 371) | class InvalidDataCleanup(CleanupTask): method __init__ (line 374) | def __init__(self, settings: Settings): method execute (line 378) | async def execute(self, session: AsyncSession) -> Dict[str, Any]: class CleanupManager (line 436) | class CleanupManager: method __init__ (line 439) | def __init__(self, settings: Settings): method _initialize_tasks (line 448) | def _initialize_tasks(self) -> List[CleanupTask]: method run_all_tasks (line 465) | async def run_all_tasks(self) -> Dict[str, Any]: method run_task (line 520) | async def run_task(self, task_name: str) -> Dict[str, Any]: method get_stats (line 540) | def get_stats(self) -> Dict[str, Any]: method enable_task (line 552) | def enable_task(self, task_name: str) -> bool: method disable_task (line 560) | def disable_task(self, task_name: str) -> bool: function get_cleanup_manager (line 573) | def get_cleanup_manager(settings: Settings) -> CleanupManager: function run_periodic_cleanup (line 581) | async def run_periodic_cleanup(settings: Settings): FILE: v1/src/tasks/monitoring.py class MonitoringTask (line 23) | class MonitoringTask: method __init__ (line 26) | def __init__(self, name: str, settings: Settings): method collect_metrics (line 35) | async def collect_metrics(self, session: AsyncSession) -> List[Dict[st... method run (line 39) | async def run(self, session: AsyncSession) -> Dict[str, Any]: method get_stats (line 92) | def get_stats(self) -> Dict[str, Any]: class SystemResourceMonitoring (line 104) | class SystemResourceMonitoring(MonitoringTask): method __init__ (line 107) | def __init__(self, settings: Settings): method collect_metrics (line 111) | async def collect_metrics(self, session: AsyncSession) -> List[Dict[st... class DatabaseMonitoring (line 325) | class DatabaseMonitoring(MonitoringTask): method __init__ (line 328) | def __init__(self, settings: Settings): method collect_metrics (line 332) | async def collect_metrics(self, session: AsyncSession) -> List[Dict[st... method _get_table_counts (line 413) | async def _get_table_counts(self, session: AsyncSession) -> Dict[str, ... class ApplicationMonitoring (line 440) | class ApplicationMonitoring(MonitoringTask): method __init__ (line 443) | def __init__(self, settings: Settings): method collect_metrics (line 448) | async def collect_metrics(self, session: AsyncSession) -> List[Dict[st... class PerformanceMonitoring (line 558) | class PerformanceMonitoring(MonitoringTask): method __init__ (line 561) | def __init__(self, settings: Settings): method collect_metrics (line 567) | async def collect_metrics(self, session: AsyncSession) -> List[Dict[st... method record_response_time (line 618) | def record_response_time(self, response_time_ms: float): method record_error (line 622) | def record_error(self, error_type: str): class MonitoringManager (line 627) | class MonitoringManager: method __init__ (line 630) | def __init__(self, settings: Settings): method _initialize_tasks (line 638) | def _initialize_tasks(self) -> List[MonitoringTask]: method run_all_tasks (line 653) | async def run_all_tasks(self) -> Dict[str, Any]: method run_task (line 707) | async def run_task(self, task_name: str) -> Dict[str, Any]: method get_stats (line 727) | def get_stats(self) -> Dict[str, Any]: method get_performance_task (line 738) | def get_performance_task(self) -> Optional[PerformanceMonitoring]: function get_monitoring_manager (line 747) | def get_monitoring_manager(settings: Settings) -> MonitoringManager: function run_periodic_monitoring (line 755) | async def run_periodic_monitoring(settings: Settings): FILE: v1/src/testing/mock_csi_generator.py class MockCSIGenerator (line 30) | class MockCSIGenerator: method __init__ (line 43) | def __init__( method show_banner (line 76) | def show_banner(self) -> None: method generate (line 82) | def generate(self) -> np.ndarray: method configure (line 136) | def configure(self, config: Dict[str, Any]) -> None: method get_router_info (line 161) | def get_router_info(self) -> Dict[str, Any]: FILE: v1/src/testing/mock_pose_generator.py function _show_banner (line 33) | def _show_banner() -> None: function generate_mock_keypoints (line 41) | def generate_mock_keypoints() -> List[Dict[str, Any]]: function generate_mock_bounding_box (line 66) | def generate_mock_bounding_box() -> Dict[str, float]: function generate_mock_poses (line 80) | def generate_mock_poses(max_persons: int = 3) -> List[Dict[str, Any]]: function generate_mock_zone_occupancy (line 111) | def generate_mock_zone_occupancy(zone_id: str) -> Dict[str, Any]: function generate_mock_zones_summary (line 140) | def generate_mock_zones_summary( function generate_mock_historical_data (line 176) | def generate_mock_historical_data( function generate_mock_recent_activities (line 236) | def generate_mock_recent_activities( function generate_mock_statistics (line 268) | def generate_mock_statistics( FILE: v1/test_application.py function test_health_endpoints (line 16) | async def test_health_endpoints(): function test_api_endpoints (line 46) | async def test_api_endpoints(): function test_pose_endpoints (line 75) | async def test_pose_endpoints(): function test_stream_endpoints (line 107) | async def test_stream_endpoints(): function test_websocket_connection (line 129) | async def test_websocket_connection(): function test_calibration_endpoints (line 164) | async def test_calibration_endpoints(): function main (line 177) | async def main(): FILE: v1/test_auth_rate_limit.py class AuthRateLimitTester (line 30) | class AuthRateLimitTester: method __init__ (line 31) | def __init__(self, base_url: str = BASE_URL): method log_result (line 37) | def log_result(self, test_name: str, success: bool, message: str, deta... method generate_test_token (line 54) | def generate_test_token(self, username: str, expired: bool = False) ->... method test_public_endpoints (line 66) | def test_public_endpoints(self): method test_protected_endpoints (line 94) | def test_protected_endpoints(self): method test_authentication_headers (line 127) | def test_authentication_headers(self): method test_rate_limiting (line 164) | async def test_rate_limiting(self): method test_rate_limit_headers (line 253) | def test_rate_limit_headers(self): method test_cors_headers (line 300) | def test_cors_headers(self): method test_security_headers (line 356) | def test_security_headers(self): method test_authentication_states (line 389) | def test_authentication_states(self): method run_all_tests (line 418) | async def run_all_tests(self): function main (line 475) | async def main(): FILE: v1/tests/e2e/test_healthcare_scenario.py class AlertSeverity (line 18) | class AlertSeverity(Enum): class HealthcareAlert (line 27) | class HealthcareAlert: class MockPatientMonitor (line 40) | class MockPatientMonitor: method __init__ (line 43) | def __init__(self, patient_id: str, room_id: str): method start_monitoring (line 53) | async def start_monitoring(self) -> bool: method stop_monitoring (line 61) | async def stop_monitoring(self) -> bool: method process_pose_data (line 69) | async def process_pose_data(self, pose_data: Dict[str, Any]) -> Option... method _extract_activity_metrics (line 90) | def _extract_activity_metrics(self, pose_data: Dict[str, Any]) -> Dict... method _detect_anomalies (line 146) | async def _detect_anomalies(self, current_metrics: Dict[str, Any], pos... method _generate_fall_alert (line 166) | async def _generate_fall_alert(self, metrics: Dict[str, Any], pose_dat... method _generate_inactivity_alert (line 184) | async def _generate_inactivity_alert(self, metrics: Dict[str, Any], po... method _generate_instability_alert (line 202) | async def _generate_instability_alert(self, metrics: Dict[str, Any], p... method get_monitoring_stats (line 220) | def get_monitoring_stats(self) -> Dict[str, Any]: class MockHealthcareNotificationSystem (line 236) | class MockHealthcareNotificationSystem: method __init__ (line 239) | def __init__(self): method send_alert_notification (line 254) | async def send_alert_notification(self, alert: HealthcareAlert) -> Dic... method _send_to_channel (line 274) | async def _send_to_channel(self, channel: str, alert: HealthcareAlert)... method get_notification_stats (line 285) | def get_notification_stats(self) -> Dict[str, Any]: class TestHealthcareFallDetection (line 300) | class TestHealthcareFallDetection: method patient_monitor (line 304) | def patient_monitor(self): method notification_system (line 309) | def notification_system(self): method fall_pose_data (line 314) | def fall_pose_data(self): method normal_pose_data (line 331) | def normal_pose_data(self): method test_fall_detection_workflow_should_fail_initially (line 348) | async def test_fall_detection_workflow_should_fail_initially(self, pat... method test_normal_activity_monitoring_should_fail_initially (line 381) | async def test_normal_activity_monitoring_should_fail_initially(self, ... method test_prolonged_inactivity_detection_should_fail_initially (line 403) | async def test_prolonged_inactivity_detection_should_fail_initially(se... method test_movement_instability_detection_should_fail_initially (line 433) | async def test_movement_instability_detection_should_fail_initially(se... class TestHealthcareMultiPatientMonitoring (line 463) | class TestHealthcareMultiPatientMonitoring: method multi_patient_setup (line 467) | def multi_patient_setup(self): method test_concurrent_patient_monitoring_should_fail_initially (line 480) | async def test_concurrent_patient_monitoring_should_fail_initially(sel... method test_alert_prioritization_should_fail_initially (line 531) | async def test_alert_prioritization_should_fail_initially(self, multi_... class TestHealthcareSystemIntegration (line 593) | class TestHealthcareSystemIntegration: method test_end_to_end_healthcare_workflow_should_fail_initially (line 597) | async def test_end_to_end_healthcare_workflow_should_fail_initially(se... method test_healthcare_system_resilience_should_fail_initially (line 697) | async def test_healthcare_system_resilience_should_fail_initially(self): FILE: v1/tests/fixtures/api_client.py class AuthenticationError (line 20) | class AuthenticationError(Exception): class APIError (line 25) | class APIError(Exception): class RateLimitError (line 30) | class RateLimitError(Exception): class APIResponse (line 36) | class APIResponse: class MockAPIClient (line 45) | class MockAPIClient: method __init__ (line 48) | def __init__(self, base_url: str = "http://localhost:8000"): method __aenter__ (line 64) | async def __aenter__(self): method __aexit__ (line 69) | async def __aexit__(self, exc_type, exc_val, exc_tb): method connect (line 73) | async def connect(self): method disconnect (line 77) | async def disconnect(self): method set_response_delay (line 82) | def set_response_delay(self, endpoint: str, delay_ms: float): method simulate_error (line 86) | def simulate_error(self, endpoint: str, error_type: str, probability: ... method enable_rate_limiting (line 93) | def enable_rate_limiting(self, requests_per_minute: int = 60): method _check_rate_limit (line 102) | async def _check_rate_limit(self): method _simulate_network_delay (line 121) | async def _simulate_network_delay(self, endpoint: str): method _check_error_simulation (line 127) | async def _check_error_simulation(self, endpoint: str): method _make_request (line 140) | async def _make_request(self, method: str, endpoint: str, **kwargs) ->... method _generate_mock_response (line 176) | async def _generate_mock_response(self, method: str, endpoint: str, kw... method get (line 277) | async def get(self, endpoint: str, **kwargs) -> APIResponse: method post (line 281) | async def post(self, endpoint: str, **kwargs) -> APIResponse: method put (line 285) | async def put(self, endpoint: str, **kwargs) -> APIResponse: method delete (line 289) | async def delete(self, endpoint: str, **kwargs) -> APIResponse: method login (line 293) | async def login(self, username: str, password: str) -> bool: method refresh_auth_token (line 305) | async def refresh_auth_token(self) -> bool: method is_authenticated (line 319) | def is_authenticated(self) -> bool: method get_request_history (line 326) | def get_request_history(self) -> List[Dict[str, Any]]: method clear_request_history (line 330) | def clear_request_history(self): class MockWebSocketClient (line 335) | class MockWebSocketClient: method __init__ (line 338) | def __init__(self, uri: str = "ws://localhost:8000/ws"): method connect (line 348) | async def connect(self) -> bool: method disconnect (line 359) | async def disconnect(self): method send_message (line 364) | async def send_message(self, message: Dict[str, Any]) -> bool: method receive_message (line 387) | async def receive_message(self, timeout: float = 1.0) -> Optional[Dict... method _generate_auto_response (line 401) | async def _generate_auto_response(self, message: Dict[str, Any]) -> Op... method set_auto_respond (line 437) | def set_auto_respond(self, enabled: bool, delay_ms: float = 10): method inject_message (line 442) | def inject_message(self, message: Dict[str, Any]): method get_sent_messages (line 449) | def get_sent_messages(self) -> List[Dict[str, Any]]: method get_received_messages (line 453) | def get_received_messages(self) -> List[Dict[str, Any]]: method clear_message_history (line 457) | def clear_message_history(self): class APITestClient (line 463) | class APITestClient: method __init__ (line 466) | def __init__(self, base_url: str = "http://localhost:8000"): method __aenter__ (line 473) | async def __aenter__(self): method __aexit__ (line 478) | async def __aexit__(self, exc_type, exc_val, exc_tb): method setup (line 482) | async def setup(self): method teardown (line 488) | async def teardown(self): method authenticate (line 493) | async def authenticate(self, username: str = "test_user", password: st... method test_health_endpoint (line 497) | async def test_health_endpoint(self) -> APIResponse: method test_pose_detection (line 501) | async def test_pose_detection(self, csi_data: Dict[str, Any]) -> APIRe... method test_websocket_streaming (line 505) | async def test_websocket_streaming(self, duration_seconds: int = 5) ->... method simulate_concurrent_requests (line 525) | async def simulate_concurrent_requests(self, num_requests: int = 10) -... method simulate_websocket_load (line 536) | async def simulate_websocket_load(self, num_connections: int = 5, dura... method _send_messages_for_duration (line 569) | async def _send_messages_for_duration(self, client: MockWebSocketClien... method configure_error_simulation (line 585) | def configure_error_simulation(self, endpoint: str, error_type: str, p... method configure_rate_limiting (line 589) | def configure_rate_limiting(self, requests_per_minute: int = 60): method get_performance_metrics (line 593) | def get_performance_metrics(self) -> Dict[str, Any]: function generate_test_csi_data (line 627) | def generate_test_csi_data() -> Dict[str, Any]: function create_test_user_credentials (line 643) | def create_test_user_credentials() -> Dict[str, str]: function wait_for_condition (line 652) | async def wait_for_condition(condition_func, timeout: float = 5.0, inter... FILE: v1/tests/fixtures/csi_data.py class CSIDataGenerator (line 14) | class CSIDataGenerator: method __init__ (line 17) | def __init__(self, method _initialize_patterns (line 32) | def _initialize_patterns(self): method generate_empty_room_sample (line 81) | def generate_empty_room_sample(self, timestamp: Optional[datetime] = N... method generate_single_person_sample (line 129) | def generate_single_person_sample(self, method generate_multi_person_sample (line 191) | def generate_multi_person_sample(self, method generate_time_series (line 276) | def generate_time_series(self, method add_noise (line 302) | def add_noise(self, sample: Dict[str, Any], noise_level: Optional[floa... method simulate_hardware_artifacts (line 328) | def simulate_hardware_artifacts(self, sample: Dict[str, Any]) -> Dict[... function generate_fall_detection_sequence (line 358) | def generate_fall_detection_sequence() -> List[Dict[str, Any]]: function generate_multi_person_scenario (line 379) | def generate_multi_person_scenario() -> List[Dict[str, Any]]: function generate_noisy_environment_data (line 402) | def generate_noisy_environment_data() -> List[Dict[str, Any]]: function generate_hardware_test_data (line 421) | def generate_hardware_test_data() -> List[Dict[str, Any]]: function validate_csi_sample (line 438) | def validate_csi_sample(sample: Dict[str, Any]) -> bool: function extract_features_from_csi (line 469) | def extract_features_from_csi(sample: Dict[str, Any]) -> Dict[str, Any]: FILE: v1/tests/integration/live_sense_monitor.py function main (line 24) | def main(): FILE: v1/tests/integration/test_api_endpoints.py class TestAPIEndpoints (line 28) | class TestAPIEndpoints: method app (line 32) | def app(self): method mock_pose_service (line 41) | def mock_pose_service(self): method mock_stream_service (line 62) | def mock_stream_service(self): method mock_hardware_service (line 80) | def mock_hardware_service(self): method mock_user (line 93) | def mock_user(self): method client (line 105) | def client(self, app, mock_pose_service, mock_stream_service, mock_har... method test_health_check_endpoint_should_fail_initially (line 115) | def test_health_check_endpoint_should_fail_initially(self, client): method test_readiness_check_endpoint_should_fail_initially (line 126) | def test_readiness_check_endpoint_should_fail_initially(self, client): method test_liveness_check_endpoint_should_fail_initially (line 137) | def test_liveness_check_endpoint_should_fail_initially(self, client): method test_version_info_endpoint_should_fail_initially (line 147) | def test_version_info_endpoint_should_fail_initially(self, client): method test_pose_current_endpoint_should_fail_initially (line 158) | def test_pose_current_endpoint_should_fail_initially(self, client): method test_pose_analyze_endpoint_should_fail_initially (line 170) | def test_pose_analyze_endpoint_should_fail_initially(self, client): method test_zone_occupancy_endpoint_should_fail_initially (line 188) | def test_zone_occupancy_endpoint_should_fail_initially(self, client): method test_zones_summary_endpoint_should_fail_initially (line 198) | def test_zones_summary_endpoint_should_fail_initially(self, client): method test_stream_status_endpoint_should_fail_initially (line 208) | def test_stream_status_endpoint_should_fail_initially(self, client): method test_stream_start_endpoint_should_fail_initially (line 218) | def test_stream_start_endpoint_should_fail_initially(self, client): method test_stream_stop_endpoint_should_fail_initially (line 227) | def test_stream_stop_endpoint_should_fail_initially(self, client): class TestAPIErrorHandling (line 237) | class TestAPIErrorHandling: method app_with_failing_services (line 241) | def app_with_failing_services(self): method test_health_check_with_failing_service_should_fail_initially (line 255) | def test_health_check_with_failing_service_should_fail_initially(self,... class TestAPIAuthentication (line 268) | class TestAPIAuthentication: method app_with_auth (line 272) | def app_with_auth(self): method test_authenticated_endpoint_access_should_fail_initially (line 290) | def test_authenticated_endpoint_access_should_fail_initially(self, app... class TestAPIValidation (line 302) | class TestAPIValidation: method validation_app (line 306) | def validation_app(self): method test_invalid_confidence_threshold_should_fail_initially (line 317) | def test_invalid_confidence_threshold_should_fail_initially(self, vali... method test_invalid_max_persons_should_fail_initially (line 329) | def test_invalid_max_persons_should_fail_initially(self, validation_app): FILE: v1/tests/integration/test_authentication.py class MockJWTToken (line 19) | class MockJWTToken: method __init__ (line 22) | def __init__(self, payload: Dict[str, Any], secret: str = "test-secret"): method decode (line 27) | def decode(self, token: str, secret: str) -> Dict[str, Any]: class TestJWTAuthentication (line 32) | class TestJWTAuthentication: method valid_user_payload (line 36) | def valid_user_payload(self): method admin_user_payload (line 50) | def admin_user_payload(self): method expired_user_payload (line 64) | def expired_user_payload(self): method mock_jwt_service (line 78) | def mock_jwt_service(self): method test_jwt_token_creation_should_fail_initially (line 120) | def test_jwt_token_creation_should_fail_initially(self, mock_jwt_servi... method test_jwt_token_verification_should_fail_initially (line 133) | def test_jwt_token_verification_should_fail_initially(self, mock_jwt_s... method test_expired_token_rejection_should_fail_initially (line 144) | def test_expired_token_rejection_should_fail_initially(self, mock_jwt_... method test_invalid_token_rejection_should_fail_initially (line 156) | def test_invalid_token_rejection_should_fail_initially(self, mock_jwt_... method test_token_refresh_should_fail_initially (line 167) | def test_token_refresh_should_fail_initially(self, mock_jwt_service, v... class TestUserAuthentication (line 188) | class TestUserAuthentication: method mock_user_service (line 192) | def mock_user_service(self): method test_user_authentication_success_should_fail_initially (line 248) | async def test_user_authentication_success_should_fail_initially(self,... method test_user_authentication_failure_should_fail_initially (line 259) | async def test_user_authentication_failure_should_fail_initially(self,... method test_admin_user_authentication_should_fail_initially (line 271) | async def test_admin_user_authentication_should_fail_initially(self, m... class TestAuthorizationDependencies (line 282) | class TestAuthorizationDependencies: method mock_request (line 286) | def mock_request(self): method mock_credentials (line 296) | def mock_credentials(self): method test_get_current_user_with_valid_token_should_fail_initially (line 306) | async def test_get_current_user_with_valid_token_should_fail_initially... method test_get_current_user_without_credentials_should_fail_initially (line 333) | async def test_get_current_user_without_credentials_should_fail_initia... method test_require_active_user_should_fail_initially (line 346) | async def test_require_active_user_should_fail_initially(self): method test_require_admin_user_should_fail_initially (line 384) | async def test_require_admin_user_should_fail_initially(self): method test_permission_checking_should_fail_initially (line 409) | async def test_permission_checking_should_fail_initially(self): class TestZoneAndRouterAccess (line 457) | class TestZoneAndRouterAccess: method mock_domain_config (line 461) | def mock_domain_config(self): method test_zone_access_validation_should_fail_initially (line 484) | async def test_zone_access_validation_should_fail_initially(self, mock... method test_router_access_validation_should_fail_initially (line 543) | async def test_router_access_validation_should_fail_initially(self, mo... FILE: v1/tests/integration/test_csi_pipeline.py class TestCSIPipeline (line 11) | class TestCSIPipeline: method mock_router_config (line 15) | def mock_router_config(self): method mock_extractor_config (line 27) | def mock_extractor_config(self): method mock_processor_config (line 40) | def mock_processor_config(self): method mock_sanitizer_config (line 53) | def mock_sanitizer_config(self): method csi_pipeline_components (line 64) | def csi_pipeline_components(self, mock_router_config, mock_extractor_c... method mock_raw_csi_data (line 80) | def mock_raw_csi_data(self): method test_end_to_end_csi_pipeline_processes_data_correctly (line 102) | def test_end_to_end_csi_pipeline_processes_data_correctly(self, csi_pi... method test_pipeline_handles_hardware_connection_failure (line 139) | def test_pipeline_handles_hardware_connection_failure(self, csi_pipeli... method test_pipeline_handles_csi_extraction_timeout (line 155) | def test_pipeline_handles_csi_extraction_timeout(self, csi_pipeline_co... method test_pipeline_handles_invalid_csi_data_format (line 167) | def test_pipeline_handles_invalid_csi_data_format(self, csi_pipeline_c... method test_pipeline_maintains_data_consistency_across_stages (line 179) | def test_pipeline_maintains_data_consistency_across_stages(self, csi_p... method test_pipeline_performance_meets_real_time_requirements (line 202) | def test_pipeline_performance_meets_real_time_requirements(self, csi_p... method test_pipeline_handles_different_data_sizes (line 224) | def test_pipeline_handles_different_data_sizes(self, csi_pipeline_comp... method test_pipeline_configuration_validation (line 246) | def test_pipeline_configuration_validation(self, mock_router_config, m... method test_pipeline_error_recovery_and_logging (line 275) | def test_pipeline_error_recovery_and_logging(self, csi_pipeline_compon... method test_pipeline_memory_usage_optimization (line 288) | def test_pipeline_memory_usage_optimization(self, csi_pipeline_compone... method test_pipeline_supports_concurrent_processing (line 312) | def test_pipeline_supports_concurrent_processing(self, csi_pipeline_co... FILE: v1/tests/integration/test_full_system_integration.py class TestFullSystemIntegration (line 24) | class TestFullSystemIntegration: method settings (line 28) | async def settings(self): method db_manager (line 38) | async def db_manager(self, settings): method client (line 46) | async def client(self, settings): method orchestrator (line 52) | async def orchestrator(self, settings, db_manager): method test_application_startup_and_shutdown (line 59) | async def test_application_startup_and_shutdown(self, settings, db_man... method test_api_endpoints_integration (line 82) | async def test_api_endpoints_integration(self, client, settings, db_ma... method test_data_processing_pipeline (line 113) | async def test_data_processing_pipeline( method test_background_tasks_integration (line 205) | async def test_background_tasks_integration(self, settings, db_manager): method test_error_handling_integration (line 235) | async def test_error_handling_integration(self, client, settings, db_m... method test_authentication_and_authorization (line 263) | async def test_authentication_and_authorization(self, client, settings): method test_rate_limiting_integration (line 275) | async def test_rate_limiting_integration(self, client, settings): method test_monitoring_and_metrics_integration (line 290) | async def test_monitoring_and_metrics_integration(self, client, settin... method test_configuration_management_integration (line 311) | async def test_configuration_management_integration(self, settings): method test_database_migration_integration (line 327) | async def test_database_migration_integration(self, settings, db_manag... method test_concurrent_operations_integration (line 351) | async def test_concurrent_operations_integration(self, client, setting... method test_system_resource_management (line 377) | async def test_system_resource_management(self, settings, db_manager, ... class TestSystemPerformance (line 399) | class TestSystemPerformance: method test_api_response_times (line 402) | async def test_api_response_times(self, client): method test_database_query_performance (line 412) | async def test_database_query_performance(self, db_manager): method test_memory_usage_stability (line 425) | async def test_memory_usage_stability(self, orchestrator): FILE: v1/tests/integration/test_hardware_integration.py class MockRouterInterface (line 17) | class MockRouterInterface: method __init__ (line 20) | def __init__(self, router_id: str, ip_address: str = "192.168.1.1"): method connect (line 31) | async def connect(self) -> bool: method authenticate (line 43) | async def authenticate(self, username: str, password: str) -> bool: method start_csi_streaming (line 55) | async def start_csi_streaming(self, config: Dict[str, Any]) -> bool: method stop_csi_streaming (line 63) | async def stop_csi_streaming(self) -> bool: method get_status (line 70) | async def get_status(self) -> Dict[str, Any]: method send_heartbeat (line 85) | async def send_heartbeat(self) -> bool: class TestRouterConnection (line 94) | class TestRouterConnection: method router_interface (line 98) | def router_interface(self): method test_router_connection_should_fail_initially (line 103) | async def test_router_connection_should_fail_initially(self, router_in... method test_router_authentication_should_fail_initially (line 119) | async def test_router_authentication_should_fail_initially(self, route... method test_csi_streaming_start_should_fail_initially (line 138) | async def test_csi_streaming_start_should_fail_initially(self, router_... method test_router_status_retrieval_should_fail_initially (line 160) | async def test_router_status_retrieval_should_fail_initially(self, rou... method test_heartbeat_mechanism_should_fail_initially (line 175) | async def test_heartbeat_mechanism_should_fail_initially(self, router_... class TestMultiRouterManagement (line 193) | class TestMultiRouterManagement: method router_manager (line 197) | def router_manager(self): method test_multiple_router_addition_should_fail_initially (line 258) | async def test_multiple_router_addition_should_fail_initially(self, ro... method test_concurrent_router_connections_should_fail_initially (line 278) | async def test_concurrent_router_connections_should_fail_initially(sel... method test_router_status_aggregation_should_fail_initially (line 300) | async def test_router_status_aggregation_should_fail_initially(self, r... class TestCSIDataCollection (line 326) | class TestCSIDataCollection: method csi_collector (line 330) | def csi_collector(self): method test_csi_collection_start_should_fail_initially (line 380) | async def test_csi_collection_start_should_fail_initially(self, csi_co... method test_single_frame_collection_should_fail_initially (line 394) | async def test_single_frame_collection_should_fail_initially(self, csi... method test_collection_statistics_should_fail_initially (line 416) | async def test_collection_statistics_should_fail_initially(self, csi_c... class TestHardwareErrorHandling (line 432) | class TestHardwareErrorHandling: method unreliable_router (line 436) | def unreliable_router(self): method test_connection_retry_mechanism_should_fail_initially (line 469) | async def test_connection_retry_mechanism_should_fail_initially(self, ... method test_connection_drop_detection_should_fail_initially (line 488) | async def test_connection_drop_detection_should_fail_initially(self, u... method test_hardware_timeout_handling_should_fail_initially (line 507) | async def test_hardware_timeout_handling_should_fail_initially(self): method test_network_error_simulation_should_fail_initially (line 524) | async def test_network_error_simulation_should_fail_initially(self): class TestHardwareConfiguration (line 538) | class TestHardwareConfiguration: method config_manager (line 542) | def config_manager(self): method test_default_configuration_should_fail_initially (line 599) | def test_default_configuration_should_fail_initially(self, config_mana... method test_configuration_validation_should_fail_initially (line 612) | def test_configuration_validation_should_fail_initially(self, config_m... method test_router_specific_configuration_should_fail_initially (line 638) | def test_router_specific_configuration_should_fail_initially(self, con... FILE: v1/tests/integration/test_inference_pipeline.py class TestInferencePipeline (line 11) | class TestInferencePipeline: method mock_csi_processor_config (line 15) | def mock_csi_processor_config(self): method mock_sanitizer_config (line 28) | def mock_sanitizer_config(self): method mock_translation_config (line 39) | def mock_translation_config(self): method mock_densepose_config (line 56) | def mock_densepose_config(self): method inference_pipeline_components (line 73) | def inference_pipeline_components(self, mock_csi_processor_config, moc... method mock_raw_csi_input (line 89) | def mock_raw_csi_input(self): method mock_ground_truth_densepose (line 103) | def mock_ground_truth_densepose(self): method test_end_to_end_inference_pipeline_produces_valid_output (line 121) | def test_end_to_end_inference_pipeline_produces_valid_output(self, inf... method test_inference_pipeline_handles_different_batch_sizes (line 165) | def test_inference_pipeline_handles_different_batch_sizes(self, infere... method test_inference_pipeline_maintains_gradient_flow_during_training (line 201) | def test_inference_pipeline_maintains_gradient_flow_during_training(se... method test_inference_pipeline_performance_benchmarking (line 260) | def test_inference_pipeline_performance_benchmarking(self, inference_p... method test_inference_pipeline_handles_edge_cases (line 296) | def test_inference_pipeline_handles_edge_cases(self, inference_pipelin... method test_inference_pipeline_memory_efficiency (line 331) | def test_inference_pipeline_memory_efficiency(self, inference_pipeline... method test_inference_pipeline_deterministic_output (line 368) | def test_inference_pipeline_deterministic_output(self, inference_pipel... method test_inference_pipeline_confidence_estimation (line 398) | def test_inference_pipeline_confidence_estimation(self, inference_pipe... method test_inference_pipeline_post_processing (line 431) | def test_inference_pipeline_post_processing(self, inference_pipeline_c... FILE: v1/tests/integration/test_pose_pipeline.py class CSIData (line 19) | class CSIData: class PoseResult (line 32) | class PoseResult: class MockCSIProcessor (line 43) | class MockCSIProcessor: method __init__ (line 46) | def __init__(self): method initialize (line 50) | async def initialize(self): method process_csi_data (line 54) | async def process_csi_data(self, csi_data: CSIData) -> Dict[str, Any]: method set_processing_enabled (line 73) | def set_processing_enabled(self, enabled: bool): class MockPoseEstimator (line 78) | class MockPoseEstimator: method __init__ (line 81) | def __init__(self): method load_model (line 86) | async def load_model(self): method estimate_poses (line 91) | async def estimate_poses(self, features: np.ndarray) -> Dict[str, Any]: method set_confidence_threshold (line 139) | def set_confidence_threshold(self, threshold: float): class MockZoneManager (line 144) | class MockZoneManager: method __init__ (line 147) | def __init__(self): method assign_persons_to_zones (line 154) | def assign_persons_to_zones(self, persons: List[Dict[str, Any]]) -> Di... class TestPosePipelineIntegration (line 176) | class TestPosePipelineIntegration: method csi_processor (line 180) | def csi_processor(self): method pose_estimator (line 185) | def pose_estimator(self): method zone_manager (line 190) | def zone_manager(self): method sample_csi_data (line 195) | def sample_csi_data(self): method pose_pipeline (line 209) | async def pose_pipeline(self, csi_processor, pose_estimator, zone_mana... method test_pipeline_initialization_should_fail_initially (line 267) | async def test_pipeline_initialization_should_fail_initially(self, csi... method test_end_to_end_pose_estimation_should_fail_initially (line 297) | async def test_end_to_end_pose_estimation_should_fail_initially(self, ... method test_pipeline_with_multiple_frames_should_fail_initially (line 326) | async def test_pipeline_with_multiple_frames_should_fail_initially(sel... method test_pipeline_error_handling_should_fail_initially (line 356) | async def test_pipeline_error_handling_should_fail_initially(self, csi... method test_confidence_threshold_filtering_should_fail_initially (line 399) | async def test_confidence_threshold_filtering_should_fail_initially(se... class TestPipelinePerformance (line 424) | class TestPipelinePerformance: method test_pipeline_throughput_should_fail_initially (line 428) | async def test_pipeline_throughput_should_fail_initially(self, pose_pi... method test_concurrent_frame_processing_should_fail_initially (line 457) | async def test_concurrent_frame_processing_should_fail_initially(self,... method test_memory_usage_stability_should_fail_initially (line 483) | async def test_memory_usage_stability_should_fail_initially(self, pose... class TestPipelineDataFlow (line 522) | class TestPipelineDataFlow: method test_data_transformation_chain_should_fail_initially (line 526) | async def test_data_transformation_chain_should_fail_initially(self, c... method test_pipeline_state_consistency_should_fail_initially (line 559) | async def test_pipeline_state_consistency_should_fail_initially(self, ... FILE: v1/tests/integration/test_rate_limiting.py class MockRateLimiter (line 17) | class MockRateLimiter: method __init__ (line 20) | def __init__(self, requests_per_minute: int = 60, requests_per_hour: i... method _get_client_key (line 26) | def _get_client_key(self, client_id: str, endpoint: str = None) -> str: method _cleanup_old_requests (line 30) | def _cleanup_old_requests(self, client_key: str): method check_rate_limit (line 45) | def check_rate_limit(self, client_id: str, endpoint: str = None) -> Di... method block_client (line 101) | def block_client(self, client_id: str): method unblock_client (line 105) | def unblock_client(self, client_id: str): class TestRateLimitingBasic (line 110) | class TestRateLimitingBasic: method rate_limiter (line 114) | def rate_limiter(self): method test_rate_limit_within_bounds_should_fail_initially (line 118) | def test_rate_limit_within_bounds_should_fail_initially(self, rate_lim... method test_rate_limit_per_minute_exceeded_should_fail_initially (line 131) | def test_rate_limit_per_minute_exceeded_should_fail_initially(self, ra... method test_rate_limit_per_hour_exceeded_should_fail_initially (line 150) | def test_rate_limit_per_hour_exceeded_should_fail_initially(self, rate... method test_blocked_client_should_fail_initially (line 169) | def test_blocked_client_should_fail_initially(self, rate_limiter): method test_endpoint_specific_rate_limiting_should_fail_initially (line 189) | def test_endpoint_specific_rate_limiting_should_fail_initially(self, r... class TestRateLimitMiddleware (line 213) | class TestRateLimitMiddleware: method mock_request (line 217) | def mock_request(self): method mock_response (line 232) | def mock_response(self): method rate_limit_middleware (line 242) | def rate_limit_middleware(self, rate_limiter): method test_middleware_allows_normal_requests_should_fail_initially (line 294) | async def test_middleware_allows_normal_requests_should_fail_initially( method test_middleware_blocks_excessive_requests_should_fail_initially (line 312) | async def test_middleware_blocks_excessive_requests_should_fail_initia... method test_middleware_client_identification_should_fail_initially (line 337) | async def test_middleware_client_identification_should_fail_initially( class TestRateLimitingStrategies (line 366) | class TestRateLimitingStrategies: method sliding_window_limiter (line 370) | def sliding_window_limiter(self): method token_bucket_limiter (line 415) | def token_bucket_limiter(self): method test_sliding_window_limiter_should_fail_initially (line 458) | def test_sliding_window_limiter_should_fail_initially(self, sliding_wi... method test_token_bucket_limiter_should_fail_initially (line 476) | def test_token_bucket_limiter_should_fail_initially(self, token_bucket... method test_token_bucket_refill_should_fail_initially (line 494) | async def test_token_bucket_refill_should_fail_initially(self, token_b... class TestRateLimitingPerformance (line 516) | class TestRateLimitingPerformance: method test_concurrent_rate_limit_checks_should_fail_initially (line 520) | async def test_concurrent_rate_limit_checks_should_fail_initially(self): method test_rate_limiter_memory_cleanup_should_fail_initially (line 541) | async def test_rate_limiter_memory_cleanup_should_fail_initially(self): FILE: v1/tests/integration/test_streaming_pipeline.py class StreamFrame (line 20) | class StreamFrame: class MockStreamBuffer (line 30) | class MockStreamBuffer: method __init__ (line 33) | def __init__(self, max_size: int = 100): method put_frame (line 39) | async def put_frame(self, frame: StreamFrame) -> bool: method get_frame (line 50) | async def get_frame(self, timeout: float = 1.0) -> Optional[StreamFrame]: method get_stats (line 57) | def get_stats(self) -> Dict[str, Any]: class MockStreamProcessor (line 68) | class MockStreamProcessor: method __init__ (line 71) | def __init__(self): method start_processing (line 77) | async def start_processing(self, input_buffer: MockStreamBuffer, outpu... method _process_frame (line 105) | async def _process_frame(self, frame: StreamFrame) -> StreamFrame: method stop_processing (line 124) | def stop_processing(self): method set_error_rate (line 128) | def set_error_rate(self, error_rate: float): class MockWebSocketManager (line 133) | class MockWebSocketManager: method __init__ (line 136) | def __init__(self): method add_client (line 142) | async def add_client(self, client_id: str, websocket_mock) -> bool: method remove_client (line 155) | async def remove_client(self, client_id: str) -> bool: method broadcast_frame (line 162) | async def broadcast_frame(self, frame: StreamFrame) -> Dict[str, bool]: method _send_to_client (line 194) | async def _send_to_client(self, client_id: str, message: Dict[str, Any... method get_client_stats (line 204) | def get_client_stats(self) -> Dict[str, Any]: class TestStreamingPipelineBasic (line 220) | class TestStreamingPipelineBasic: method stream_buffer (line 224) | def stream_buffer(self): method stream_processor (line 229) | def stream_processor(self): method websocket_manager (line 234) | def websocket_manager(self): method sample_frame (line 239) | def sample_frame(self): method test_buffer_frame_operations_should_fail_initially (line 261) | async def test_buffer_frame_operations_should_fail_initially(self, str... method test_buffer_overflow_handling_should_fail_initially (line 280) | async def test_buffer_overflow_handling_should_fail_initially(self, sa... method test_stream_processing_should_fail_initially (line 303) | async def test_stream_processing_should_fail_initially(self, stream_pr... method test_websocket_client_management_should_fail_initially (line 333) | async def test_websocket_client_management_should_fail_initially(self,... method test_frame_broadcasting_should_fail_initially (line 354) | async def test_frame_broadcasting_should_fail_initially(self, websocke... class TestStreamingPipelineIntegration (line 373) | class TestStreamingPipelineIntegration: method streaming_pipeline (line 377) | async def streaming_pipeline(self): method test_end_to_end_streaming_should_fail_initially (line 456) | async def test_end_to_end_streaming_should_fail_initially(self, stream... method test_pipeline_performance_should_fail_initially (line 493) | async def test_pipeline_performance_should_fail_initially(self, stream... method test_pipeline_error_recovery_should_fail_initially (line 533) | async def test_pipeline_error_recovery_should_fail_initially(self, str... class TestStreamingLatency (line 565) | class TestStreamingLatency: method test_end_to_end_latency_should_fail_initially (line 569) | async def test_end_to_end_latency_should_fail_initially(self): method test_concurrent_stream_handling_should_fail_initially (line 612) | async def test_concurrent_stream_handling_should_fail_initially(self): class TestStreamingResilience (line 655) | class TestStreamingResilience: method test_client_disconnection_handling_should_fail_initially (line 659) | async def test_client_disconnection_handling_should_fail_initially(self): method test_memory_pressure_handling_should_fail_initially (line 697) | async def test_memory_pressure_handling_should_fail_initially(self): FILE: v1/tests/integration/test_websocket_streaming.py class MockWebSocket (line 19) | class MockWebSocket: method __init__ (line 22) | def __init__(self): method accept (line 28) | async def accept(self): method send_json (line 32) | async def send_json(self, data: Dict[str, Any]): method send_text (line 36) | async def send_text(self, text: str): method receive_text (line 40) | async def receive_text(self) -> str: method close (line 48) | async def close(self): method add_received_message (line 52) | def add_received_message(self, message: str): class TestWebSocketStreaming (line 57) | class TestWebSocketStreaming: method mock_websocket (line 61) | def mock_websocket(self): method mock_connection_manager (line 66) | def mock_connection_manager(self): method mock_stream_service (line 79) | def mock_stream_service(self): method test_websocket_pose_connection_should_fail_initially (line 93) | async def test_websocket_pose_connection_should_fail_initially(self, m... method test_websocket_message_handling_should_fail_initially (line 143) | async def test_websocket_message_handling_should_fail_initially(self, ... method test_websocket_events_stream_should_fail_initially (line 189) | async def test_websocket_events_stream_should_fail_initially(self, moc... method test_websocket_disconnect_handling_should_fail_initially (line 230) | async def test_websocket_disconnect_handling_should_fail_initially(sel... class TestWebSocketConnectionManager (line 243) | class TestWebSocketConnectionManager: method connection_manager (line 247) | def connection_manager(self): method test_connection_manager_connect_should_fail_initially (line 298) | async def test_connection_manager_connect_should_fail_initially(self, ... method test_connection_manager_disconnect_should_fail_initially (line 314) | async def test_connection_manager_disconnect_should_fail_initially(sel... method test_connection_manager_broadcast_should_fail_initially (line 330) | async def test_connection_manager_broadcast_should_fail_initially(self... class TestWebSocketPerformance (line 358) | class TestWebSocketPerformance: method test_multiple_concurrent_connections_should_fail_initially (line 362) | async def test_multiple_concurrent_connections_should_fail_initially(s... method test_websocket_message_throughput_should_fail_initially (line 395) | async def test_websocket_message_throughput_should_fail_initially(self): FILE: v1/tests/integration/test_windows_live_sensing.py function _wifi_connected (line 25) | def _wifi_connected() -> bool: class TestWindowsWifiCollectorLive (line 49) | class TestWindowsWifiCollectorLive: method test_collect_once_returns_valid_sample (line 52) | def test_collect_once_returns_valid_sample(self): method test_collect_multiple_samples_over_time (line 64) | def test_collect_multiple_samples_over_time(self): method test_rssi_varies_between_samples (line 82) | def test_rssi_varies_between_samples(self): class TestFullPipelineLive (line 99) | class TestFullPipelineLive: method test_full_pipeline_produces_sensing_result (line 102) | def test_full_pipeline_produces_sensing_result(self): method test_commodity_backend_with_windows_collector (line 138) | def test_commodity_backend_with_windows_collector(self): FILE: v1/tests/mocks/hardware_mocks.py class RouterStatus (line 18) | class RouterStatus(Enum): class SignalQuality (line 27) | class SignalQuality(Enum): class RouterConfig (line 36) | class RouterConfig: class MockWiFiRouter (line 48) | class MockWiFiRouter: method __init__ (line 51) | def __init__(self, config: RouterConfig): method connect (line 72) | async def connect(self) -> bool: method disconnect (line 98) | async def disconnect(self): method start_csi_streaming (line 118) | async def start_csi_streaming(self, sample_rate: int = 1000) -> bool: method stop_csi_streaming (line 131) | async def stop_csi_streaming(self): method _csi_streaming_loop (line 145) | async def _csi_streaming_loop(self, sample_rate: int): method _heartbeat_loop (line 171) | async def _heartbeat_loop(self): method _generate_csi_sample (line 192) | def _generate_csi_sample(self) -> Dict[str, Any]: method register_callback (line 238) | def register_callback(self, event: str, callback: Callable): method unregister_callback (line 243) | def unregister_callback(self, event: str, callback: Callable): method _notify_status_change (line 248) | async def _notify_status_change(self): method _notify_csi_data (line 259) | async def _notify_csi_data(self, data: Dict[str, Any]): method _notify_error (line 270) | async def _notify_error(self, error_message: str): method get_status (line 281) | def get_status(self) -> Dict[str, Any]: method set_signal_quality (line 299) | def set_signal_quality(self, quality: SignalQuality): method set_error_rate (line 303) | def set_error_rate(self, error_rate: float): method simulate_interference (line 307) | def simulate_interference(self, duration_seconds: float = 5.0): method get_csi_buffer (line 317) | def get_csi_buffer(self) -> List[Dict[str, Any]]: method clear_csi_buffer (line 321) | def clear_csi_buffer(self): class MockRouterNetwork (line 326) | class MockRouterNetwork: method __init__ (line 329) | def __init__(self): method add_router (line 339) | def add_router(self, config: RouterConfig) -> MockWiFiRouter: method remove_router (line 357) | def remove_router(self, router_id: str) -> bool: method get_router (line 376) | def get_router(self, router_id: str) -> Optional[MockWiFiRouter]: method get_all_routers (line 380) | def get_all_routers(self) -> Dict[str, MockWiFiRouter]: method connect_all_routers (line 384) | async def connect_all_routers(self) -> Dict[str, bool]: method disconnect_all_routers (line 402) | async def disconnect_all_routers(self): method start_all_streaming (line 414) | async def start_all_streaming(self, sample_rate: int = 1000) -> Dict[s... method stop_all_streaming (line 427) | async def stop_all_streaming(self): method get_network_status (line 439) | def get_network_status(self) -> Dict[str, Any]: method simulate_network_partition (line 454) | def simulate_network_partition(self, router_ids: List[str], duration_s... method add_interference_source (line 474) | def add_interference_source(self, location: Dict[str, float], strength... method _calculate_distance (line 495) | def _calculate_distance(self, loc1: Dict[str, float], loc2: Dict[str, ... method _on_router_status_change (line 502) | async def _on_router_status_change(self, status: RouterStatus): method _on_router_error (line 507) | async def _on_router_error(self, error_message: str): method register_global_callback (line 512) | def register_global_callback(self, event: str, callback: Callable): class MockSensorArray (line 518) | class MockSensorArray: method __init__ (line 521) | def __init__(self, sensor_id: str, location: Dict[str, float]): method start_monitoring (line 536) | async def start_monitoring(self, interval_seconds: float = 1.0): method stop_monitoring (line 545) | def stop_monitoring(self): method _monitoring_loop (line 549) | async def _monitoring_loop(self, interval: float): method _generate_sensor_reading (line 575) | def _generate_sensor_reading(self) -> Dict[str, Any]: method register_callback (line 608) | def register_callback(self, callback: Callable): method unregister_callback (line 612) | def unregister_callback(self, callback: Callable): method get_latest_reading (line 617) | def get_latest_reading(self) -> Optional[Dict[str, Any]]: method get_reading_history (line 621) | def get_reading_history(self, limit: int = 100) -> List[Dict[str, Any]]: method simulate_event (line 625) | def simulate_event(self, event_type: str, duration_seconds: float = 5.0): function create_test_router_network (line 649) | def create_test_router_network(num_routers: int = 3) -> MockRouterNetwork: function create_test_sensor_array (line 663) | def create_test_sensor_array(num_sensors: int = 2) -> List[MockSensorArr... function setup_test_hardware_environment (line 677) | async def setup_test_hardware_environment() -> Dict[str, Any]: function teardown_test_hardware_environment (line 705) | async def teardown_test_hardware_environment(environment: Dict[str, Any]): FILE: v1/tests/performance/test_api_throughput.py class MockAPIServer (line 19) | class MockAPIServer: method __init__ (line 22) | def __init__(self): method handle_request (line 33) | async def handle_request(self, endpoint: str, method: str = "GET", dat... method _get_processing_time (line 83) | def _get_processing_time(self, endpoint: str, method: str) -> float: method _generate_response (line 99) | def _generate_response(self, endpoint: str, method: str, data: Dict[st... method get_performance_stats (line 128) | def get_performance_stats(self) -> Dict[str, Any]: method _calculate_rps (line 155) | def _calculate_rps(self) -> float: method enable_rate_limiting (line 163) | def enable_rate_limiting(self, requests_per_second: int): method reset_stats (line 168) | def reset_stats(self): class TestAPIThroughput (line 178) | class TestAPIThroughput: method api_server (line 182) | def api_server(self): method test_single_request_performance_should_fail_initially (line 187) | async def test_single_request_performance_should_fail_initially(self, ... method test_concurrent_request_handling_should_fail_initially (line 205) | async def test_concurrent_request_handling_should_fail_initially(self,... method test_sustained_load_performance_should_fail_initially (line 233) | async def test_sustained_load_performance_should_fail_initially(self, ... method test_different_endpoint_performance_should_fail_initially (line 260) | async def test_different_endpoint_performance_should_fail_initially(se... method test_rate_limiting_behavior_should_fail_initially (line 295) | async def test_rate_limiting_behavior_should_fail_initially(self, api_... class TestAPILoadTesting (line 323) | class TestAPILoadTesting: method load_test_server (line 327) | def load_test_server(self): method test_high_concurrency_load_should_fail_initially (line 333) | async def test_high_concurrency_load_should_fail_initially(self, load_... method test_mixed_endpoint_load_should_fail_initially (line 372) | async def test_mixed_endpoint_load_should_fail_initially(self, load_te... method test_stress_testing_should_fail_initially (line 422) | async def test_stress_testing_should_fail_initially(self, load_test_se... method test_memory_usage_under_load_should_fail_initially (line 462) | async def test_memory_usage_under_load_should_fail_initially(self, loa... class TestAPIPerformanceOptimization (line 496) | class TestAPIPerformanceOptimization: method test_response_caching_effect_should_fail_initially (line 500) | async def test_response_caching_effect_should_fail_initially(self): method test_connection_pooling_effect_should_fail_initially (line 543) | async def test_connection_pooling_effect_should_fail_initially(self): method test_request_batching_performance_should_fail_initially (line 589) | async def test_request_batching_performance_should_fail_initially(self): FILE: v1/tests/performance/test_inference_speed.py class MockPoseModel (line 18) | class MockPoseModel: method __init__ (line 21) | def __init__(self, model_complexity: str = "standard"): method load_model (line 35) | async def load_model(self): method predict (line 47) | async def predict(self, features: np.ndarray) -> Dict[str, Any]: method get_performance_stats (line 91) | def get_performance_stats(self) -> Dict[str, Any]: class TestInferenceSpeed (line 107) | class TestInferenceSpeed: method lightweight_model (line 111) | def lightweight_model(self): method standard_model (line 116) | def standard_model(self): method high_accuracy_model (line 121) | def high_accuracy_model(self): method sample_features (line 126) | def sample_features(self): method test_single_inference_speed_should_fail_initially (line 131) | async def test_single_inference_speed_should_fail_initially(self, stan... method test_model_complexity_comparison_should_fail_initially (line 148) | async def test_model_complexity_comparison_should_fail_initially(self,... method test_batch_inference_performance_should_fail_initially (line 182) | async def test_batch_inference_performance_should_fail_initially(self,... method test_sustained_inference_performance_should_fail_initially (line 218) | async def test_sustained_inference_performance_should_fail_initially(s... class TestInferenceOptimization (line 250) | class TestInferenceOptimization: method test_model_warmup_effect_should_fail_initially (line 254) | async def test_model_warmup_effect_should_fail_initially(self, standar... method test_concurrent_inference_performance_should_fail_initially (line 279) | async def test_concurrent_inference_performance_should_fail_initially(... method test_memory_usage_during_inference_should_fail_initially (line 308) | async def test_memory_usage_during_inference_should_fail_initially(sel... class TestInferenceAccuracy (line 335) | class TestInferenceAccuracy: method test_prediction_consistency_should_fail_initially (line 339) | async def test_prediction_consistency_should_fail_initially(self, stan... method test_confidence_score_distribution_should_fail_initially (line 364) | async def test_confidence_score_distribution_should_fail_initially(sel... method test_keypoint_detection_quality_should_fail_initially (line 386) | async def test_keypoint_detection_quality_should_fail_initially(self, ... class TestInferenceScaling (line 408) | class TestInferenceScaling: method test_input_size_scaling_should_fail_initially (line 412) | async def test_input_size_scaling_should_fail_initially(self, standard... method test_throughput_under_load_should_fail_initially (line 448) | async def test_throughput_under_load_should_fail_initially(self, stand... class TestInferenceBenchmarks (line 476) | class TestInferenceBenchmarks: method test_benchmark_lightweight_model_should_fail_initially (line 480) | async def test_benchmark_lightweight_model_should_fail_initially(self,... method test_benchmark_batch_processing_should_fail_initially (line 495) | async def test_benchmark_batch_processing_should_fail_initially(self, ... FILE: v1/tests/unit/test_csi_extractor.py class TestCSIExtractor (line 8) | class TestCSIExtractor: method mock_config (line 12) | def mock_config(self): method mock_router_interface (line 24) | def mock_router_interface(self): method csi_extractor (line 32) | def csi_extractor(self, mock_config, mock_router_interface): method mock_csi_data (line 37) | def mock_csi_data(self): method test_extractor_initialization_creates_correct_configuration (line 46) | def test_extractor_initialization_creates_correct_configuration(self, ... method test_start_extraction_configures_monitor_mode (line 62) | def test_start_extraction_configures_monitor_mode(self, csi_extractor,... method test_start_extraction_handles_monitor_mode_failure (line 76) | def test_start_extraction_handles_monitor_mode_failure(self, csi_extra... method test_stop_extraction_disables_monitor_mode (line 87) | def test_stop_extraction_disables_monitor_mode(self, csi_extractor, mo... method test_extract_csi_data_returns_valid_format (line 104) | def test_extract_csi_data_returns_valid_format(self, csi_extractor, mo... method test_extract_csi_data_requires_active_extraction (line 123) | def test_extract_csi_data_requires_active_extraction(self, csi_extract... method test_extract_csi_data_handles_timeout (line 129) | def test_extract_csi_data_handles_timeout(self, csi_extractor, mock_ro... method test_convert_to_tensor_produces_correct_format (line 144) | def test_convert_to_tensor_produces_correct_format(self, csi_extractor... method test_convert_to_tensor_handles_invalid_input (line 155) | def test_convert_to_tensor_handles_invalid_input(self, csi_extractor): method test_get_extraction_stats_returns_valid_statistics (line 164) | def test_get_extraction_stats_returns_valid_statistics(self, csi_extra... method test_set_channel_configures_wifi_channel (line 183) | def test_set_channel_configures_wifi_channel(self, csi_extractor, mock... method test_set_channel_validates_channel_range (line 197) | def test_set_channel_validates_channel_range(self, csi_extractor): method test_extractor_supports_context_manager (line 206) | def test_extractor_supports_context_manager(self, csi_extractor, mock_... method test_extractor_validates_configuration (line 221) | def test_extractor_validates_configuration(self, mock_router_interface): method test_parse_csi_output_processes_raw_data (line 234) | def test_parse_csi_output_processes_raw_data(self, csi_extractor): method test_buffer_management_handles_overflow (line 247) | def test_buffer_management_handles_overflow(self, csi_extractor, mock_... FILE: v1/tests/unit/test_csi_extractor_direct.py class TestCSIExtractorDirect (line 29) | class TestCSIExtractorDirect: method mock_logger (line 33) | def mock_logger(self): method esp32_config (line 38) | def esp32_config(self): method router_config (line 50) | def router_config(self): method sample_csi_data (line 62) | def sample_csi_data(self): method test_should_initialize_with_valid_config (line 77) | def test_should_initialize_with_valid_config(self, esp32_config, mock_... method test_should_create_esp32_parser (line 86) | def test_should_create_esp32_parser(self, esp32_config, mock_logger): method test_should_create_router_parser (line 92) | def test_should_create_router_parser(self, router_config, mock_logger): method test_should_raise_error_for_unsupported_hardware (line 99) | def test_should_raise_error_for_unsupported_hardware(self, mock_logger): method test_config_validation_missing_fields (line 112) | def test_config_validation_missing_fields(self, mock_logger): method test_config_validation_negative_sampling_rate (line 119) | def test_config_validation_negative_sampling_rate(self, mock_logger): method test_config_validation_zero_buffer_size (line 131) | def test_config_validation_zero_buffer_size(self, mock_logger): method test_config_validation_negative_timeout (line 143) | def test_config_validation_negative_timeout(self, mock_logger): method test_should_establish_connection_successfully (line 157) | async def test_should_establish_connection_successfully(self, esp32_co... method test_should_handle_connection_failure (line 171) | async def test_should_handle_connection_failure(self, esp32_config, mo... method test_should_disconnect_properly (line 185) | async def test_should_disconnect_properly(self, esp32_config, mock_log... method test_disconnect_when_not_connected (line 197) | async def test_disconnect_when_not_connected(self, esp32_config, mock_... method test_should_extract_csi_data_successfully (line 211) | async def test_should_extract_csi_data_successfully(self, esp32_config... method test_should_handle_extraction_failure_when_not_connected (line 227) | async def test_should_handle_extraction_failure_when_not_connected(sel... method test_should_retry_on_temporary_failure (line 236) | async def test_should_retry_on_temporary_failure(self, esp32_config, m... method test_extract_with_validation_disabled (line 253) | async def test_extract_with_validation_disabled(self, esp32_config, mo... method test_extract_max_retries_exceeded (line 270) | async def test_extract_max_retries_exceeded(self, esp32_config, mock_l... method test_should_validate_csi_data_successfully (line 285) | def test_should_validate_csi_data_successfully(self, esp32_config, moc... method test_validation_empty_amplitude (line 293) | def test_validation_empty_amplitude(self, esp32_config, mock_logger): method test_validation_empty_phase (line 312) | def test_validation_empty_phase(self, esp32_config, mock_logger): method test_validation_invalid_frequency (line 331) | def test_validation_invalid_frequency(self, esp32_config, mock_logger): method test_validation_invalid_bandwidth (line 350) | def test_validation_invalid_bandwidth(self, esp32_config, mock_logger): method test_validation_invalid_subcarriers (line 369) | def test_validation_invalid_subcarriers(self, esp32_config, mock_logger): method test_validation_invalid_antennas (line 388) | def test_validation_invalid_antennas(self, esp32_config, mock_logger): method test_validation_snr_too_low (line 407) | def test_validation_snr_too_low(self, esp32_config, mock_logger): method test_validation_snr_too_high (line 426) | def test_validation_snr_too_high(self, esp32_config, mock_logger): method test_should_start_streaming_successfully (line 447) | async def test_should_start_streaming_successfully(self, esp32_config,... method test_should_stop_streaming_gracefully (line 465) | async def test_should_stop_streaming_gracefully(self, esp32_config, mo... method test_streaming_with_exception (line 475) | async def test_streaming_with_exception(self, esp32_config, mock_logger): class TestESP32CSIParserDirect (line 497) | class TestESP32CSIParserDirect: method parser (line 501) | def parser(self): method raw_esp32_data (line 506) | def raw_esp32_data(self): method test_should_parse_valid_esp32_data (line 510) | def test_should_parse_valid_esp32_data(self, parser, raw_esp32_data): method test_should_handle_malformed_data (line 521) | def test_should_handle_malformed_data(self, parser): method test_should_handle_empty_data (line 528) | def test_should_handle_empty_data(self, parser): method test_parse_with_value_error (line 533) | def test_parse_with_value_error(self, parser): method test_parse_with_index_error (line 540) | def test_parse_with_index_error(self, parser): class TestRouterCSIParserDirect (line 551) | class TestRouterCSIParserDirect: method parser (line 555) | def parser(self): method test_should_parse_atheros_format (line 559) | def test_should_parse_atheros_format(self, parser): method test_should_handle_unknown_format (line 569) | def test_should_handle_unknown_format(self, parser): method test_parse_atheros_format_directly (line 576) | def test_parse_atheros_format_directly(self, parser): method test_should_handle_empty_data_router (line 585) | def test_should_handle_empty_data_router(self, parser): FILE: v1/tests/unit/test_csi_extractor_tdd.py class TestCSIExtractor (line 24) | class TestCSIExtractor: method mock_logger (line 28) | def mock_logger(self): method mock_config (line 33) | def mock_config(self): method csi_extractor (line 45) | def csi_extractor(self, mock_config, mock_logger): method sample_csi_data (line 50) | def sample_csi_data(self): method test_should_initialize_with_valid_config (line 64) | def test_should_initialize_with_valid_config(self, mock_config, mock_l... method test_should_raise_error_with_invalid_config (line 73) | def test_should_raise_error_with_invalid_config(self, mock_logger): method test_should_create_appropriate_parser (line 80) | def test_should_create_appropriate_parser(self, mock_config, mock_logg... method test_should_establish_connection_successfully (line 87) | async def test_should_establish_connection_successfully(self, csi_extr... method test_should_handle_connection_failure (line 99) | async def test_should_handle_connection_failure(self, csi_extractor): method test_should_disconnect_properly (line 111) | async def test_should_disconnect_properly(self, csi_extractor): method test_should_extract_csi_data_successfully (line 122) | async def test_should_extract_csi_data_successfully(self, csi_extracto... method test_should_handle_extraction_failure_when_not_connected (line 137) | async def test_should_handle_extraction_failure_when_not_connected(sel... method test_should_retry_on_temporary_failure (line 145) | async def test_should_retry_on_temporary_failure(self, csi_extractor, ... method test_should_validate_csi_data_successfully (line 160) | def test_should_validate_csi_data_successfully(self, csi_extractor, sa... method test_should_reject_invalid_csi_data (line 166) | def test_should_reject_invalid_csi_data(self, csi_extractor): method test_should_start_streaming_successfully (line 184) | async def test_should_start_streaming_successfully(self, csi_extractor... method test_should_stop_streaming_gracefully (line 201) | async def test_should_stop_streaming_gracefully(self, csi_extractor): class TestESP32CSIParser (line 213) | class TestESP32CSIParser: method parser (line 217) | def parser(self): method raw_esp32_data (line 222) | def raw_esp32_data(self): method test_should_parse_valid_esp32_data (line 229) | def test_should_parse_valid_esp32_data(self, parser, raw_esp32_data): method test_should_handle_malformed_data (line 240) | def test_should_handle_malformed_data(self, parser): method test_should_handle_empty_data (line 247) | def test_should_handle_empty_data(self, parser): class TestRouterCSIParser (line 256) | class TestRouterCSIParser: method parser (line 260) | def parser(self): method test_should_parse_atheros_format (line 264) | def test_should_parse_atheros_format(self, parser): method test_should_handle_unknown_format (line 274) | def test_should_handle_unknown_format(self, parser): FILE: v1/tests/unit/test_csi_extractor_tdd_complete.py class TestCSIExtractorComplete (line 24) | class TestCSIExtractorComplete: method mock_logger (line 28) | def mock_logger(self): method esp32_config (line 33) | def esp32_config(self): method router_config (line 45) | def router_config(self): method sample_csi_data (line 57) | def sample_csi_data(self): method test_should_create_router_parser (line 71) | def test_should_create_router_parser(self, router_config, mock_logger): method test_should_raise_error_for_unsupported_hardware (line 78) | def test_should_raise_error_for_unsupported_hardware(self, mock_logger): method test_config_validation_negative_sampling_rate (line 90) | def test_config_validation_negative_sampling_rate(self, mock_logger): method test_config_validation_zero_buffer_size (line 102) | def test_config_validation_zero_buffer_size(self, mock_logger): method test_config_validation_negative_timeout (line 114) | def test_config_validation_negative_timeout(self, mock_logger): method test_disconnect_when_not_connected (line 127) | async def test_disconnect_when_not_connected(self, esp32_config, mock_... method test_extract_with_validation_disabled (line 140) | async def test_extract_with_validation_disabled(self, esp32_config, mo... method test_extract_max_retries_exceeded (line 157) | async def test_extract_max_retries_exceeded(self, esp32_config, mock_l... method test_validation_empty_amplitude (line 171) | def test_validation_empty_amplitude(self, esp32_config, mock_logger): method test_validation_empty_phase (line 190) | def test_validation_empty_phase(self, esp32_config, mock_logger): method test_validation_invalid_frequency (line 209) | def test_validation_invalid_frequency(self, esp32_config, mock_logger): method test_validation_invalid_bandwidth (line 228) | def test_validation_invalid_bandwidth(self, esp32_config, mock_logger): method test_validation_invalid_subcarriers (line 247) | def test_validation_invalid_subcarriers(self, esp32_config, mock_logger): method test_validation_invalid_antennas (line 266) | def test_validation_invalid_antennas(self, esp32_config, mock_logger): method test_validation_snr_too_low (line 285) | def test_validation_snr_too_low(self, esp32_config, mock_logger): method test_validation_snr_too_high (line 304) | def test_validation_snr_too_high(self, esp32_config, mock_logger): method test_streaming_with_exception (line 324) | async def test_streaming_with_exception(self, esp32_config, mock_logger): class TestESP32CSIParserComplete (line 346) | class TestESP32CSIParserComplete: method parser (line 350) | def parser(self): method test_parse_with_value_error (line 354) | def test_parse_with_value_error(self, parser): method test_parse_with_index_error (line 361) | def test_parse_with_index_error(self, parser): class TestRouterCSIParserComplete (line 372) | class TestRouterCSIParserComplete: method parser (line 376) | def parser(self): method test_parse_atheros_format_directly (line 380) | def test_parse_atheros_format_directly(self, parser): FILE: v1/tests/unit/test_csi_processor.py function make_csi_data (line 10) | def make_csi_data(amplitude=None, phase=None, n_ant=3, n_sub=56): class TestCSIProcessor (line 43) | class TestCSIProcessor: method csi_processor (line 47) | def csi_processor(self): method sample_csi (line 52) | def sample_csi(self): method test_preprocess_returns_csi_data (line 56) | def test_preprocess_returns_csi_data(self, csi_processor, sample_csi): method test_preprocess_normalises_amplitude (line 63) | def test_preprocess_normalises_amplitude(self, csi_processor, sample_c... method test_preprocess_removes_nan (line 72) | def test_preprocess_removes_nan(self, csi_processor): method test_extract_features_returns_csi_features (line 80) | def test_extract_features_returns_csi_features(self, csi_processor, sa... method test_extract_features_has_correct_shapes (line 86) | def test_extract_features_has_correct_shapes(self, csi_processor, samp... method test_preprocess_performance (line 93) | def test_preprocess_performance(self, csi_processor, sample_csi): FILE: v1/tests/unit/test_csi_processor_tdd.py class TestCSIProcessor (line 48) | class TestCSIProcessor: method mock_logger (line 52) | def mock_logger(self): method processor_config (line 57) | def processor_config(self): method csi_processor (line 73) | def csi_processor(self, processor_config, mock_logger): method sample_csi_data (line 78) | def sample_csi_data(self): method sample_features (line 93) | def sample_features(self): method test_should_initialize_with_valid_config (line 107) | def test_should_initialize_with_valid_config(self, processor_config, m... method test_should_raise_error_with_invalid_config (line 122) | def test_should_raise_error_with_invalid_config(self, mock_logger): method test_should_validate_required_fields (line 129) | def test_should_validate_required_fields(self, mock_logger): method test_should_use_default_values (line 146) | def test_should_use_default_values(self, mock_logger): method test_should_initialize_without_logger (line 161) | def test_should_initialize_without_logger(self, processor_config): method test_should_preprocess_csi_data_successfully (line 168) | def test_should_preprocess_csi_data_successfully(self, csi_processor, ... method test_should_skip_preprocessing_when_disabled (line 184) | def test_should_skip_preprocessing_when_disabled(self, processor_confi... method test_should_handle_preprocessing_error (line 193) | def test_should_handle_preprocessing_error(self, csi_processor, sample... method test_should_extract_features_successfully (line 202) | def test_should_extract_features_successfully(self, csi_processor, sam... method test_should_skip_feature_extraction_when_disabled (line 223) | def test_should_skip_feature_extraction_when_disabled(self, processor_... method test_should_handle_feature_extraction_error (line 232) | def test_should_handle_feature_extraction_error(self, csi_processor, s... method test_should_detect_human_presence_successfully (line 241) | def test_should_detect_human_presence_successfully(self, csi_processor... method test_should_detect_no_human_presence (line 260) | def test_should_detect_no_human_presence(self, csi_processor, sample_f... method test_should_skip_human_detection_when_disabled (line 275) | def test_should_skip_human_detection_when_disabled(self, processor_con... method test_should_handle_human_detection_error (line 284) | def test_should_handle_human_detection_error(self, csi_processor, samp... method test_should_process_csi_data_pipeline_successfully (line 294) | async def test_should_process_csi_data_pipeline_successfully(self, csi... method test_should_handle_pipeline_processing_error (line 317) | async def test_should_handle_pipeline_processing_error(self, csi_proce... method test_should_add_csi_data_to_history (line 326) | def test_should_add_csi_data_to_history(self, csi_processor, sample_cs... method test_should_maintain_history_size_limit (line 333) | def test_should_maintain_history_size_limit(self, processor_config, mo... method test_should_clear_history (line 357) | def test_should_clear_history(self, csi_processor, sample_csi_data): method test_should_get_recent_history (line 366) | def test_should_get_recent_history(self, csi_processor): method test_should_get_processing_statistics (line 391) | def test_should_get_processing_statistics(self, csi_processor): method test_should_reset_statistics (line 407) | def test_should_reset_statistics(self, csi_processor): class TestCSIFeatures (line 423) | class TestCSIFeatures: method test_should_create_csi_features (line 426) | def test_should_create_csi_features(self): class TestHumanDetectionResult (line 452) | class TestHumanDetectionResult: method sample_features (line 456) | def sample_features(self): method test_should_create_detection_result (line 469) | def test_should_create_detection_result(self, sample_features): FILE: v1/tests/unit/test_csi_standalone.py class TestCSIExtractorStandalone (line 39) | class TestCSIExtractorStandalone: method mock_logger (line 43) | def mock_logger(self): method esp32_config (line 48) | def esp32_config(self): method router_config (line 60) | def router_config(self): method sample_csi_data (line 72) | def sample_csi_data(self): method test_init_esp32_config (line 87) | def test_init_esp32_config(self, esp32_config, mock_logger): method test_init_router_config (line 97) | def test_init_router_config(self, router_config, mock_logger): method test_init_unsupported_hardware (line 104) | def test_init_unsupported_hardware(self, mock_logger): method test_init_without_logger (line 116) | def test_init_without_logger(self, esp32_config): method test_validation_missing_fields (line 123) | def test_validation_missing_fields(self, mock_logger): method test_validation_negative_sampling_rate (line 137) | def test_validation_negative_sampling_rate(self, mock_logger): method test_validation_zero_buffer_size (line 149) | def test_validation_zero_buffer_size(self, mock_logger): method test_validation_negative_timeout (line 161) | def test_validation_negative_timeout(self, mock_logger): method test_connect_success (line 175) | async def test_connect_success(self, esp32_config, mock_logger): method test_connect_failure (line 188) | async def test_connect_failure(self, esp32_config, mock_logger): method test_disconnect_when_connected (line 201) | async def test_disconnect_when_connected(self, esp32_config, mock_logg... method test_disconnect_when_not_connected (line 213) | async def test_disconnect_when_not_connected(self, esp32_config, mock_... method test_extract_not_connected (line 225) | async def test_extract_not_connected(self, esp32_config, mock_logger): method test_extract_success_with_validation (line 234) | async def test_extract_success_with_validation(self, esp32_config, moc... method test_extract_success_without_validation (line 250) | async def test_extract_success_without_validation(self, esp32_config, ... method test_extract_retry_success (line 267) | async def test_extract_retry_success(self, esp32_config, mock_logger, ... method test_extract_retry_failure (line 284) | async def test_extract_retry_failure(self, esp32_config, mock_logger): method test_validate_success (line 297) | def test_validate_success(self, esp32_config, mock_logger, sample_csi_... method test_validate_empty_amplitude (line 305) | def test_validate_empty_amplitude(self, esp32_config, mock_logger): method test_validate_empty_phase (line 324) | def test_validate_empty_phase(self, esp32_config, mock_logger): method test_validate_invalid_frequency (line 343) | def test_validate_invalid_frequency(self, esp32_config, mock_logger): method test_validate_invalid_bandwidth (line 362) | def test_validate_invalid_bandwidth(self, esp32_config, mock_logger): method test_validate_invalid_subcarriers (line 381) | def test_validate_invalid_subcarriers(self, esp32_config, mock_logger): method test_validate_invalid_antennas (line 400) | def test_validate_invalid_antennas(self, esp32_config, mock_logger): method test_validate_snr_too_low (line 419) | def test_validate_snr_too_low(self, esp32_config, mock_logger): method test_validate_snr_too_high (line 438) | def test_validate_snr_too_high(self, esp32_config, mock_logger): method test_streaming_success (line 459) | async def test_streaming_success(self, esp32_config, mock_logger, samp... method test_streaming_exception (line 477) | async def test_streaming_exception(self, esp32_config, mock_logger): method test_stop_streaming (line 492) | def test_stop_streaming(self, esp32_config, mock_logger): method test_establish_hardware_connection_placeholder (line 503) | async def test_establish_hardware_connection_placeholder(self, esp32_c... method test_close_hardware_connection_placeholder (line 512) | async def test_close_hardware_connection_placeholder(self, esp32_confi... method test_read_raw_data_placeholder (line 520) | async def test_read_raw_data_placeholder(self, esp32_config, mock_logg... class TestESP32CSIParserStandalone (line 531) | class TestESP32CSIParserStandalone: method parser (line 535) | def parser(self): method test_parse_valid_data (line 539) | def test_parse_valid_data(self, parser): method test_parse_empty_data (line 555) | def test_parse_empty_data(self, parser): method test_parse_invalid_format (line 560) | def test_parse_invalid_format(self, parser): method test_parse_value_error (line 565) | def test_parse_value_error(self, parser): method test_parse_index_error (line 572) | def test_parse_index_error(self, parser): class TestRouterCSIParserStandalone (line 582) | class TestRouterCSIParserStandalone: method parser (line 586) | def parser(self): method test_parse_empty_data (line 590) | def test_parse_empty_data(self, parser): method test_parse_atheros_format (line 595) | def test_parse_atheros_format(self, parser): method test_parse_unknown_format (line 601) | def test_parse_unknown_format(self, parser): FILE: v1/tests/unit/test_densepose_head.py class TestDensePoseHead (line 9) | class TestDensePoseHead: method mock_config (line 13) | def mock_config(self): method densepose_head (line 30) | def densepose_head(self, mock_config): method mock_feature_input (line 35) | def mock_feature_input(self): method mock_target_masks (line 44) | def mock_target_masks(self): method mock_target_uv (line 53) | def mock_target_uv(self): method test_head_initialization_creates_correct_architecture (line 61) | def test_head_initialization_creates_correct_architecture(self, mock_c... method test_forward_pass_produces_correct_output_format (line 78) | def test_forward_pass_produces_correct_output_format(self, densepose_h... method test_segmentation_head_produces_correct_shape (line 97) | def test_segmentation_head_produces_correct_shape(self, densepose_head... method test_uv_regression_head_produces_correct_shape (line 109) | def test_uv_regression_head_produces_correct_shape(self, densepose_hea... method test_compute_segmentation_loss_measures_pixel_classification (line 120) | def test_compute_segmentation_loss_measures_pixel_classification(self,... method test_compute_uv_loss_measures_coordinate_regression (line 142) | def test_compute_uv_loss_measures_coordinate_regression(self, densepos... method test_compute_total_loss_combines_segmentation_and_uv_losses (line 165) | def test_compute_total_loss_combines_segmentation_and_uv_losses(self, ... method test_fpn_integration_enhances_multi_scale_features (line 197) | def test_fpn_integration_enhances_multi_scale_features(self, mock_conf... method test_get_prediction_confidence_provides_uncertainty_estimates (line 219) | def test_get_prediction_confidence_provides_uncertainty_estimates(self... method test_post_process_predictions_formats_output (line 241) | def test_post_process_predictions_formats_output(self, densepose_head,... method test_training_mode_enables_dropout (line 256) | def test_training_mode_enables_dropout(self, densepose_head, mock_feat... method test_evaluation_mode_disables_dropout (line 269) | def test_evaluation_mode_disables_dropout(self, densepose_head, mock_f... method test_head_validates_input_dimensions (line 282) | def test_head_validates_input_dimensions(self, densepose_head): method test_head_handles_different_input_sizes (line 291) | def test_head_handles_different_input_sizes(self, densepose_head): method test_head_supports_gradient_computation (line 305) | def test_head_supports_gradient_computation(self, densepose_head, mock... method test_head_configuration_validation (line 339) | def test_head_configuration_validation(self): method test_save_and_load_model_state (line 352) | def test_save_and_load_model_state(self, densepose_head, mock_feature_... FILE: v1/tests/unit/test_esp32_binary_parser.py function build_binary_frame (line 30) | def build_binary_frame( class TestESP32BinaryParser (line 66) | class TestESP32BinaryParser: method setup_method (line 69) | def setup_method(self): method test_parse_valid_binary_frame (line 72) | def test_parse_valid_binary_frame(self): method test_parse_frame_too_short (line 98) | def test_parse_frame_too_short(self): method test_parse_invalid_magic (line 103) | def test_parse_invalid_magic(self): method test_parse_multi_antenna_frame (line 111) | def test_parse_multi_antenna_frame(self): method test_udp_read_with_mock_server (line 129) | def test_udp_read_with_mock_server(self): method test_udp_timeout (line 179) | def test_udp_timeout(self): FILE: v1/tests/unit/test_modality_translation.py class TestModalityTranslationNetwork (line 9) | class TestModalityTranslationNetwork: method mock_config (line 13) | def mock_config(self): method translation_network (line 30) | def translation_network(self, mock_config): method mock_csi_input (line 35) | def mock_csi_input(self): method mock_target_features (line 44) | def mock_target_features(self): method test_network_initialization_creates_correct_architecture (line 52) | def test_network_initialization_creates_correct_architecture(self, moc... method test_forward_pass_produces_correct_output_shape (line 68) | def test_forward_pass_produces_correct_output_shape(self, translation_... method test_forward_pass_handles_different_input_sizes (line 81) | def test_forward_pass_handles_different_input_sizes(self, translation_... method test_encoder_extracts_hierarchical_features (line 95) | def test_encoder_extracts_hierarchical_features(self, translation_netw... method test_decoder_reconstructs_target_features (line 110) | def test_decoder_reconstructs_target_features(self, translation_networ... method test_attention_mechanism_enhances_features (line 124) | def test_attention_mechanism_enhances_features(self, mock_config, mock... method test_training_mode_enables_dropout (line 145) | def test_training_mode_enables_dropout(self, translation_network, mock... method test_evaluation_mode_disables_dropout (line 157) | def test_evaluation_mode_disables_dropout(self, translation_network, m... method test_compute_translation_loss_measures_feature_alignment (line 169) | def test_compute_translation_loss_measures_feature_alignment(self, tra... method test_compute_translation_loss_handles_different_loss_types (line 183) | def test_compute_translation_loss_handles_different_loss_types(self, t... method test_get_feature_statistics_provides_analysis (line 197) | def test_get_feature_statistics_provides_analysis(self, translation_ne... method test_network_supports_gradient_computation (line 214) | def test_network_supports_gradient_computation(self, translation_netwo... method test_network_validates_input_dimensions (line 233) | def test_network_validates_input_dimensions(self, translation_network): method test_network_handles_batch_size_one (line 242) | def test_network_handles_batch_size_one(self, translation_network): method test_save_and_load_model_state (line 253) | def test_save_and_load_model_state(self, translation_network, mock_csi... method test_network_configuration_validation (line 269) | def test_network_configuration_validation(self): method test_feature_visualization_support (line 282) | def test_feature_visualization_support(self, translation_network, mock... FILE: v1/tests/unit/test_phase_sanitizer.py class TestPhaseSanitizer (line 19) | class TestPhaseSanitizer: method mock_phase_data (line 23) | def mock_phase_data(self): method phase_sanitizer (line 32) | def phase_sanitizer(self): method test_unwrap_phase_removes_discontinuities (line 36) | def test_unwrap_phase_removes_discontinuities(self, phase_sanitizer): method test_remove_outliers_returns_same_shape (line 48) | def test_remove_outliers_returns_same_shape(self, phase_sanitizer, moc... method test_smooth_phase_reduces_noise (line 56) | def test_smooth_phase_reduces_noise(self, phase_sanitizer, mock_phase_... method test_sanitize_raises_for_1d_input (line 70) | def test_sanitize_raises_for_1d_input(self, phase_sanitizer): method test_sanitize_raises_for_empty_2d_input (line 75) | def test_sanitize_raises_for_empty_2d_input(self, phase_sanitizer): method test_sanitize_full_pipeline_integration (line 80) | def test_sanitize_full_pipeline_integration(self, phase_sanitizer, moc... method test_sanitize_performance_requirement (line 89) | def test_sanitize_performance_requirement(self, phase_sanitizer, mock_... FILE: v1/tests/unit/test_phase_sanitizer_tdd.py class TestPhaseSanitizer (line 33) | class TestPhaseSanitizer: method mock_logger (line 37) | def mock_logger(self): method sanitizer_config (line 42) | def sanitizer_config(self): method phase_sanitizer (line 56) | def phase_sanitizer(self, sanitizer_config, mock_logger): method sample_wrapped_phase (line 61) | def sample_wrapped_phase(self): method sample_noisy_phase (line 69) | def sample_noisy_phase(self): method test_should_initialize_with_valid_config (line 80) | def test_should_initialize_with_valid_config(self, sanitizer_config, m... method test_should_raise_error_with_invalid_config (line 95) | def test_should_raise_error_with_invalid_config(self, mock_logger): method test_should_validate_required_fields (line 102) | def test_should_validate_required_fields(self, mock_logger): method test_should_use_default_values (line 118) | def test_should_use_default_values(self, mock_logger): method test_should_initialize_without_logger (line 134) | def test_should_initialize_without_logger(self, sanitizer_config): method test_should_unwrap_phase_successfully (line 141) | def test_should_unwrap_phase_successfully(self, phase_sanitizer, sampl... method test_should_handle_different_unwrapping_methods (line 153) | def test_should_handle_different_unwrapping_methods(self, sanitizer_co... method test_should_handle_unwrapping_error (line 167) | def test_should_handle_unwrapping_error(self, phase_sanitizer): method test_should_remove_outliers_successfully (line 175) | def test_should_remove_outliers_successfully(self, phase_sanitizer, sa... method test_should_skip_outlier_removal_when_disabled (line 192) | def test_should_skip_outlier_removal_when_disabled(self, sanitizer_con... method test_should_handle_outlier_removal_error (line 201) | def test_should_handle_outlier_removal_error(self, phase_sanitizer): method test_should_smooth_phase_successfully (line 212) | def test_should_smooth_phase_successfully(self, phase_sanitizer, sampl... method test_should_skip_smoothing_when_disabled (line 223) | def test_should_skip_smoothing_when_disabled(self, sanitizer_config, m... method test_should_handle_smoothing_error (line 232) | def test_should_handle_smoothing_error(self, phase_sanitizer): method test_should_filter_noise_successfully (line 243) | def test_should_filter_noise_successfully(self, phase_sanitizer, sampl... method test_should_skip_noise_filtering_when_disabled (line 254) | def test_should_skip_noise_filtering_when_disabled(self, sanitizer_con... method test_should_handle_noise_filtering_error (line 263) | def test_should_handle_noise_filtering_error(self, phase_sanitizer): method test_should_sanitize_phase_pipeline_successfully (line 274) | def test_should_sanitize_phase_pipeline_successfully(self, phase_sanit... method test_should_handle_sanitization_pipeline_error (line 289) | def test_should_handle_sanitization_pipeline_error(self, phase_sanitiz... method test_should_validate_phase_data_successfully (line 298) | def test_should_validate_phase_data_successfully(self, phase_sanitizer): method test_should_reject_invalid_phase_shape (line 306) | def test_should_reject_invalid_phase_shape(self, phase_sanitizer): method test_should_reject_empty_phase_data (line 313) | def test_should_reject_empty_phase_data(self, phase_sanitizer): method test_should_reject_phase_out_of_range (line 320) | def test_should_reject_phase_out_of_range(self, phase_sanitizer): method test_should_get_sanitization_statistics (line 328) | def test_should_get_sanitization_statistics(self, phase_sanitizer): method test_should_reset_statistics (line 344) | def test_should_reset_statistics(self, phase_sanitizer): method test_should_validate_unwrapping_method (line 357) | def test_should_validate_unwrapping_method(self, mock_logger): method test_should_validate_outlier_threshold (line 368) | def test_should_validate_outlier_threshold(self, mock_logger): method test_should_validate_smoothing_window (line 379) | def test_should_validate_smoothing_window(self, mock_logger): method test_should_handle_single_antenna_data (line 391) | def test_should_handle_single_antenna_data(self, phase_sanitizer): method test_should_handle_small_phase_arrays (line 399) | def test_should_handle_small_phase_arrays(self, phase_sanitizer): method test_should_handle_constant_phase_data (line 407) | def test_should_handle_constant_phase_data(self, phase_sanitizer): FILE: v1/tests/unit/test_router_interface.py class TestRouterInterface (line 7) | class TestRouterInterface: method mock_config (line 11) | def mock_config(self): method router_interface (line 23) | def router_interface(self, mock_config): method mock_ssh_client (line 28) | def mock_ssh_client(self): method test_interface_initialization_creates_correct_configuration (line 36) | def test_interface_initialization_creates_correct_configuration(self, ... method test_connect_establishes_ssh_connection (line 52) | def test_connect_establishes_ssh_connection(self, mock_ssh_class, rout... method test_connect_handles_connection_failure (line 73) | def test_connect_handles_connection_failure(self, mock_ssh_class, rout... method test_disconnect_closes_ssh_connection (line 86) | def test_disconnect_closes_ssh_connection(self, mock_ssh_class, router... method test_execute_command_runs_ssh_command (line 100) | def test_execute_command_runs_ssh_command(self, mock_ssh_class, router... method test_execute_command_handles_command_errors (line 120) | def test_execute_command_handles_command_errors(self, mock_ssh_class, ... method test_execute_command_requires_connection (line 136) | def test_execute_command_requires_connection(self, router_interface): method test_get_router_info_retrieves_system_information (line 143) | def test_get_router_info_retrieves_system_information(self, mock_ssh_c... method test_enable_monitor_mode_configures_wifi_monitoring (line 165) | def test_enable_monitor_mode_configures_wifi_monitoring(self, mock_ssh... method test_disable_monitor_mode_disables_wifi_monitoring (line 185) | def test_disable_monitor_mode_disables_wifi_monitoring(self, mock_ssh_... method test_interface_supports_context_manager (line 205) | def test_interface_supports_context_manager(self, mock_ssh_class, rout... method test_interface_validates_configuration (line 219) | def test_interface_validates_configuration(self): method test_interface_implements_retry_logic (line 233) | def test_interface_implements_retry_logic(self, mock_ssh_class, router... FILE: v1/tests/unit/test_router_interface_tdd.py class TestRouterInterface (line 54) | class TestRouterInterface: method mock_logger (line 58) | def mock_logger(self): method router_config (line 63) | def router_config(self): method router_interface (line 77) | def router_interface(self, router_config, mock_logger): method test_should_initialize_with_valid_config (line 82) | def test_should_initialize_with_valid_config(self, router_config, mock... method test_should_raise_error_with_invalid_config (line 97) | def test_should_raise_error_with_invalid_config(self, mock_logger): method test_should_validate_required_fields (line 104) | def test_should_validate_required_fields(self, mock_logger): method test_should_use_default_values (line 121) | def test_should_use_default_values(self, mock_logger): method test_should_initialize_without_logger (line 137) | def test_should_initialize_without_logger(self, router_config): method test_should_connect_successfully (line 145) | async def test_should_connect_successfully(self, router_interface): method test_should_handle_connection_failure (line 166) | async def test_should_handle_connection_failure(self, router_interface): method test_should_disconnect_when_connected (line 179) | async def test_should_disconnect_when_connected(self, router_interface): method test_should_handle_disconnect_when_not_connected (line 192) | async def test_should_handle_disconnect_when_not_connected(self, route... method test_should_execute_command_successfully (line 204) | async def test_should_execute_command_successfully(self, router_interf... method test_should_handle_command_execution_when_not_connected (line 224) | async def test_should_handle_command_execution_when_not_connected(self... method test_should_handle_command_execution_error (line 232) | async def test_should_handle_command_execution_error(self, router_inte... method test_should_retry_command_execution_on_failure (line 250) | async def test_should_retry_command_execution_on_failure(self, router_... method test_should_fail_after_max_retries (line 275) | async def test_should_fail_after_max_retries(self, router_interface): method test_should_get_csi_data_successfully (line 292) | async def test_should_get_csi_data_successfully(self, router_interface): method test_should_handle_csi_data_retrieval_failure (line 307) | async def test_should_handle_csi_data_retrieval_failure(self, router_i... method test_should_get_router_status_successfully (line 317) | async def test_should_get_router_status_successfully(self, router_inte... method test_should_configure_csi_monitoring_successfully (line 338) | async def test_should_configure_csi_monitoring_successfully(self, rout... method test_should_handle_csi_monitoring_configuration_failure (line 357) | async def test_should_handle_csi_monitoring_configuration_failure(self... method test_should_perform_health_check_successfully (line 374) | async def test_should_perform_health_check_successfully(self, router_i... method test_should_handle_health_check_failure (line 385) | async def test_should_handle_health_check_failure(self, router_interfa... method test_should_parse_csi_response (line 395) | def test_should_parse_csi_response(self, router_interface): method test_should_parse_status_response (line 401) | def test_should_parse_status_response(self, router_interface): FILE: v1/tests/unit/test_sensing.py function make_sinusoidal_rssi (line 48) | def make_sinusoidal_rssi( function make_step_signal (line 61) | def make_step_signal( class TestRingBuffer (line 77) | class TestRingBuffer: method test_append_and_get_all (line 78) | def test_append_and_get_all(self): method test_ring_buffer_overflow (line 92) | def test_ring_buffer_overflow(self): method test_get_last_n (line 106) | def test_get_last_n(self): method test_clear (line 119) | def test_clear(self): class TestSimulatedCollector (line 134) | class TestSimulatedCollector: method test_deterministic_output_same_seed (line 135) | def test_deterministic_output_same_seed(self): method test_different_seeds_differ (line 151) | def test_different_seeds_differ(self): method test_sinusoidal_component (line 164) | def test_sinusoidal_component(self): method test_step_change_injection (line 184) | def test_step_change_injection(self): method test_sample_count (line 206) | def test_sample_count(self): class TestFeatureExtractor (line 217) | class TestFeatureExtractor: method test_time_domain_from_known_sine (line 218) | def test_time_domain_from_known_sine(self): method test_frequency_domain_dominant_frequency (line 245) | def test_frequency_domain_dominant_frequency(self): method test_breathing_band_power (line 263) | def test_breathing_band_power(self): method test_motion_band_power (line 286) | def test_motion_band_power(self): method test_band_isolation_multi_frequency (line 308) | def test_band_isolation_multi_frequency(self): method test_constant_signal_features (line 326) | def test_constant_signal_features(self): method test_too_few_samples (line 338) | def test_too_few_samples(self): method test_extract_from_wifi_samples (line 346) | def test_extract_from_wifi_samples(self): class TestCusum (line 367) | class TestCusum: method test_step_change_detected (line 368) | def test_step_change_detected(self): method test_no_change_point_in_constant (line 388) | def test_no_change_point_in_constant(self): method test_multiple_step_changes (line 394) | def test_multiple_step_changes(self): method test_cusum_with_feature_extractor (line 412) | def test_cusum_with_feature_extractor(self): class TestPresenceClassifier (line 431) | class TestPresenceClassifier: method test_absent_when_low_variance (line 432) | def test_absent_when_low_variance(self): method test_present_still_when_high_variance_low_motion (line 446) | def test_present_still_when_high_variance_low_motion(self): method test_active_when_high_variance_high_motion (line 463) | def test_active_when_high_variance_high_motion(self): method test_confidence_for_absent_decreases_with_rising_variance (line 480) | def test_confidence_for_absent_decreases_with_rising_variance(self): method test_confidence_bounded_0_to_1 (line 501) | def test_confidence_bounded_0_to_1(self): method test_cross_receiver_agreement_boosts_confidence (line 513) | def test_cross_receiver_agreement_boosts_confidence(self): method test_result_dataclass_fields (line 536) | def test_result_dataclass_fields(self): class TestCommodityBackend (line 564) | class TestCommodityBackend: method test_capabilities (line 565) | def test_capabilities(self): method test_is_capable (line 577) | def test_is_capable(self): method test_protocol_conformance (line 586) | def test_protocol_conformance(self): method test_full_pipeline (line 592) | def test_full_pipeline(self): method test_absent_with_constant_signal (line 631) | def test_absent_with_constant_signal(self): method test_repr (line 656) | def test_repr(self): class TestBandPower (line 669) | class TestBandPower: method test_band_power_single_frequency (line 670) | def test_band_power_single_frequency(self): method test_band_power_zero_for_empty_band (line 697) | def test_band_power_zero_for_empty_band(self): class TestLinuxWifiCollectorAvailability (line 715) | class TestLinuxWifiCollectorAvailability: method test_unavailable_when_proc_missing (line 716) | def test_unavailable_when_proc_missing(self): method test_unavailable_when_interface_not_listed (line 723) | def test_unavailable_when_interface_not_listed(self): method test_available_when_interface_listed (line 737) | def test_available_when_interface_listed(self): method test_unavailable_when_file_unreadable (line 750) | def test_unavailable_when_file_unreadable(self): class TestCreateCollector (line 763) | class TestCreateCollector: method test_returns_simulated_when_no_wifi (line 764) | def test_returns_simulated_when_no_wifi(self): method test_returns_simulated_for_explicit_preference (line 771) | def test_returns_simulated_for_explicit_preference(self): method test_returns_linux_collector_when_available (line 776) | def test_returns_linux_collector_when_available(self): method test_never_raises (line 789) | def test_never_raises(self): method test_windows_default_interface_mapping (line 801) | def test_windows_default_interface_mapping(self): FILE: wifi_densepose/__init__.py class WiFiDensePose (line 27) | class WiFiDensePose: method __init__ (line 35) | def __init__(self, host: str = "0.0.0.0", port: int = 3000, **kwargs): method start (line 48) | def start(self): method _async_start (line 55) | async def _async_start(self): method stop (line 75) | def stop(self): method get_latest_poses (line 85) | def get_latest_poses(self): method _fetch_poses (line 97) | async def _fetch_poses(self): method __enter__ (line 110) | def __enter__(self): method __exit__ (line 114) | def __exit__(self, *exc): method version (line 122) | def version(): function _get_or_create_event_loop (line 126) | def _get_or_create_event_loop():