mirror of
https://github.com/soconnor0919/hristudio.git
synced 2025-12-11 22:54:45 -05:00
feat: Implement visual experiment designer and enhance landing page
- Add drag-and-drop experiment design capabilities using @dnd-kit libraries - Introduce new experiment-related database schema and API routes - Enhance landing page with modern design, gradients, and improved call-to-action sections - Update app sidebar to include experiments navigation - Add new dependencies for experiment design and visualization (reactflow, react-zoom-pan-pinch) - Modify study and experiment schemas to support more flexible experiment configuration - Implement initial experiment creation and management infrastructure
This commit is contained in:
17
structure.md
17
structure.md
@@ -4,7 +4,7 @@
|
||||
|
||||
A *study* is a general term for a research project.
|
||||
|
||||
An *experiment* is a specific set of steps and actions that will be conducted with a participant and robot.
|
||||
An *experiment* is a specific set of steps and actions that will be conducted with a participant and robot. Experiments are designed and configured via a dedicated drag and drop experiment designer. This interactive designer features a dotted background—similar to Unreal Engine's IDE drag and drop area—that clearly indicates drop zones. Users can add, reorder, and connect individual steps and actions visually.
|
||||
|
||||
An *trial* is a specific instance of an experiment. It is a single run of the experiment with a specific participant and robot.
|
||||
|
||||
@@ -16,6 +16,21 @@ A *participant* is a person that has been added to a study. This person does not
|
||||
|
||||
A *user* is a person that has an account, which is a person that has been added to a study. Anyone can sign up for an account, but they must be added to a study or create their own. A user can have different roles in different studies.
|
||||
|
||||
## Experiment Design and Implementation
|
||||
|
||||
Experiments are central to HRIStudio and are managed with full CRUD operations. The Experiment Design feature includes:
|
||||
|
||||
- **Drag and Drop Designer:** An interactive design area with a dotted background, reminiscent of Unreal Engine's IDE, which allows users to visually add, reposition, and connect steps and actions. The designer includes:
|
||||
- A dotted grid background that provides visual cues for alignment and spacing
|
||||
- Highlighted drop zones that activate when dragging components
|
||||
- Visual feedback for valid/invalid drop targets
|
||||
- Smooth animations for reordering and nesting
|
||||
- Connection lines showing relationships between steps
|
||||
- A side panel of available actions that can be dragged into steps
|
||||
- **Experiment Templates:** The ability to save and reuse experiment configurations.
|
||||
- **CRUD Operations:** Procedures to create, retrieve, update, and delete experiments associated with a study.
|
||||
- **Dynamic Interaction:** Support for adding and reordering steps, and nesting actions within steps.
|
||||
|
||||
## Roles and Permissions
|
||||
|
||||
### Core Roles
|
||||
|
||||
Reference in New Issue
Block a user