{"id":31223478,"url":"https://github.com/jrcalgo/generative-mouse-trajectories","last_synced_at":"2026-01-18T07:13:06.456Z","repository":{"id":281925559,"uuid":"776296779","full_name":"jrcalgo/generative-mouse-trajectories","owner":"jrcalgo","description":"GAN-based imitation learning of user mouse movements","archived":false,"fork":false,"pushed_at":"2026-01-17T20:01:40.000Z","size":5735,"stargazers_count":5,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-18T03:47:47.261Z","etag":null,"topics":["biometrics","deep-learning","generative-adversarial-network","gui-application","human-computer-interaction","tabular-data","user-activity-logger"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jrcalgo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-23T05:33:17.000Z","updated_at":"2026-01-17T20:00:48.000Z","dependencies_parsed_at":"2025-10-20T01:23:42.491Z","dependency_job_id":"501a7115-e8ed-4344-9e0e-b2c5f9f28c51","html_url":"https://github.com/jrcalgo/generative-mouse-trajectories","commit_stats":null,"previous_names":["jrcalgo/generative-mouse-trajectories"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jrcalgo/generative-mouse-trajectories","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrcalgo%2Fgenerative-mouse-trajectories","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrcalgo%2Fgenerative-mouse-trajectories/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrcalgo%2Fgenerative-mouse-trajectories/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrcalgo%2Fgenerative-mouse-trajectories/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jrcalgo","download_url":"https://codeload.github.com/jrcalgo/generative-mouse-trajectories/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jrcalgo%2Fgenerative-mouse-trajectories/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28532767,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["biometrics","deep-learning","generative-adversarial-network","gui-application","human-computer-interaction","tabular-data","user-activity-logger"],"created_at":"2025-09-21T22:45:25.768Z","updated_at":"2026-01-18T07:13:06.451Z","avatar_url":"https://github.com/jrcalgo.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generative Mouse Trajectories\n\n**Generative Mouse Trajectories** is a comprehensive project dedicated to capturing, analyzing, and generating realistic computer mouse cursor movements. It leverages state-of-the-art Generative Adversarial Networks (GANs) to simulate authentic human-like interactions, significantly enhancing applications in accessibility, automation, UX/UI testing, and user behavior analysis.\n\n---\n\n## 🚀 Project Overview\n\nThe project consists of three key components:\n\n1. **Mouse Collection Environment**: Captures high-fidelity mouse trajectory data from real users in real-time.\n2. **Trajectory Data Analysis**: Computes instantaneous and derived behavioral metrics, ensuring data is clean, meaningful, and actionable.\n3. **GAN-based Generation \u0026 Demonstration**: Trains GAN models on the collected data to generate realistic synthetic mouse trajectories. A demonstration application showcases a computer autonomously performing these generated cursor movements.\n\n---\n\n\n## 📥 Mouse Collection Environment\n\nThe **Mouse Collection Environment** is built using Rust, `tokio`, and `winit`. Its purpose is to record precise, granular mouse events, capturing essential attributes such as:\n\n- **Temporal Data**: Timestamp, duration between movements, hover times.\n- **Spatial Metrics**: Coordinates, path lengths, direction angles.\n- **Kinematic Metrics**: Velocity, acceleration, jerk, curvature.\n- **Behavioral Metrics**: Mouse clicks, scroll events.\n\n### 🛠️ Key Features:\n- **Real-time Data Collection**: Efficient, non-blocking, asynchronous event listening.\n- **Detailed Attribute Computation**: Instantly calculates sophisticated metrics.\n- **CSV Exporting**: Structured data for ease of access and downstream processing.\n\n### ▶️ Getting Started:\n```bash\n# Navigate into collection environment directory\ncd mouse-collection-environment\n\n# Build and run data collection environment\ncargo run --release\n\n# Navigate to build directory and run collection environment\n./mouse-collection-environmnet\n```\n\n### 📂 Output:\n\nCollected data is stored in data/data.csv, containing extensive trajectory details for analysis and GAN training.\n\n---\n\n### 🤖 GAN-based Mouse Trajectory Generation\n\nWe utilize advanced Generative Adversarial Networks (GANs) trained on collected mouse trajectory data. The GAN model captures the complexity of real human cursor movements, including nuanced aspects like pauses, accelerations, and subtle directional shifts.\n\n### 🔑 GAN Architecture:\n- **Generator**: Synthesizes realistic trajectories from random latent inputs.\n- **Discriminator**: Evaluates authenticity against real collected data.\n- **Latent Space Control**: Enables custom trajectory generation with controlled behaviors (speed, path complexity).\n\n---\n\n### 📌 Potential Use Cases\n\nThis system provides realistic synthetic cursor movements applicable to various domains:\n- **Accessibility Tools**: Assistive technologies that simulate human interactions for users with limited mobility.\n- **Automated UI Testing**: Generating user-like interaction sequences for rigorous interface testing.\n- **Behavioral Biometrics**: Authenticating users based on mouse-movement patterns.\n- **Simulation and Robotics**: Emulating realistic interactions in virtual or robotic environments.\n\n---\n\n### 📜 Licensing\n\nThis project is licensed under the MIT License, enabling open collaboration and integration into broader projects. Refer to LICENSE for details.\n\n---\n\n### 👐 Contribution\n\nContributions are warmly welcomed! Please open an issue or pull request describing your proposed improvements, enhancements, or fixes.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrcalgo%2Fgenerative-mouse-trajectories","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjrcalgo%2Fgenerative-mouse-trajectories","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjrcalgo%2Fgenerative-mouse-trajectories/lists"}