Integrated Three.js `OrbitControls` for smoother camera navigation and implemented new mouse interaction methods (`onMouseDown`, `onMouseUp`, `onMouseMove`) for enhanced usability. Adjusted scene, camera, and renderer setup for better responsiveness.
129 lines
1.8 KiB
SCSS
129 lines
1.8 KiB
SCSS
.renderer-section {
|
|
flex: 1;
|
|
min-width: 300px;
|
|
display: flex;
|
|
}
|
|
|
|
.renderer-container {
|
|
width: 100%;
|
|
height: 400px;
|
|
border: 1px solid #ccc;
|
|
border-radius: 4px;
|
|
overflow: hidden;
|
|
background-color: #f0f0f0;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
.plane-controls {
|
|
margin-top: 10px;
|
|
padding: 10px;
|
|
background-color: #f5f5f5;
|
|
border-radius: 4px;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.plane-controls mat-slider {
|
|
flex: 1;
|
|
}
|
|
|
|
.controls-section {
|
|
flex: 1;
|
|
min-width: 300px;
|
|
gap: 20px;
|
|
}
|
|
|
|
.form-row {
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
mat-form-field {
|
|
width: 100%;
|
|
}
|
|
|
|
.color-picker-card {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.color-picker {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 15px;
|
|
}
|
|
|
|
.color-picker input[type="color"] {
|
|
width: 50px;
|
|
height: 50px;
|
|
border: none;
|
|
border-radius: 4px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.frames-section {
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
.frames-container {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.frame-content {
|
|
padding: 15px;
|
|
}
|
|
|
|
.particles-list {
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
border: 1px solid #eee;
|
|
border-radius: 4px;
|
|
padding: 10px;
|
|
margin-bottom: 15px;
|
|
}
|
|
|
|
.particle-item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 8px;
|
|
border-bottom: 1px solid #eee;
|
|
}
|
|
|
|
.particle-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.no-particles {
|
|
padding: 20px;
|
|
text-align: center;
|
|
color: #888;
|
|
}
|
|
|
|
.frame-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.add-frame {
|
|
margin-top: 15px;
|
|
display: flex;
|
|
justify-content: center;
|
|
}
|
|
|
|
.json-output {
|
|
margin-top: 20px;
|
|
}
|
|
|
|
.json-output pre {
|
|
background-color: #f5f5f5;
|
|
padding: 15px;
|
|
border-radius: 4px;
|
|
overflow-x: auto;
|
|
max-height: 300px;
|
|
font-family: monospace;
|
|
white-space: pre-wrap;
|
|
}
|