File indexing completed on 2026-10-27 08:41:17
0001 <app-firebird-shell>
0002
0003
0004
0005 <ng-container header>
0006 <app-custom-event-selector></app-custom-event-selector>
0007 <app-geometry-clipping></app-geometry-clipping>
0008 <app-recording-menu></app-recording-menu>
0009 </ng-container>
0010
0011 <ng-container mobile-header>
0012 <app-custom-event-selector></app-custom-event-selector>
0013 </ng-container>
0014
0015 <ng-container mobile-tools>
0016 <app-geometry-clipping></app-geometry-clipping>
0017 </ng-container>
0018
0019 <firebird-display central-pane class="quad-host" (attached)="onDisplayAttached()">
0020 <div class="quad-grid">
0021 <div class="cell" #cellTop>
0022 <span class="view-label">Top</span>
0023 </div>
0024 <div class="cell" #cellSide>
0025 <span class="view-label">Side</span>
0026 </div>
0027 <div class="cell" #cellFront>
0028 <span class="view-label">Front (XY)</span>
0029 </div>
0030 <div class="cell" #cellMain>
0031 <span class="view-label">3D</span>
0032 </div>
0033 </div>
0034 </firebird-display>
0035
0036 <div footer-left class="hide-on-mobile">
0037 <app-perf-stats></app-perf-stats>
0038 </div>
0039
0040 <div footer-center>
0041 <div class="time-controls">
0042 <app-animation-settings></app-animation-settings>
0043 <app-event-time-control></app-event-time-control>
0044
0045 <button mat-icon-button aria-label="Rewind" matTooltip="Rewind time to 0" class="tcontrol" (click)="eventDisplay.rewindTime()">
0046 <mat-icon>first_page</mat-icon>
0047 </button>
0048 @for (action of toolbarActions; track action.id) {
0049 <button mat-icon-button [attr.aria-label]="action.label" [matTooltip]="action.tooltip ?? ''" class="tcontrol" (click)="runToolbarAction(action)">
0050 <mat-icon>{{ action.icon }}</mat-icon>
0051 </button>
0052 }
0053 <button mat-icon-button aria-label="Play" matTooltip="Play time forward" class="tcontrol" (click)="eventDisplay.animateTime()">
0054 <mat-icon>play_arrow</mat-icon>
0055 </button>
0056 <button mat-icon-button aria-label="Pause" matTooltip="Pause time playing" class="tcontrol" (click)="eventDisplay.stopTimeAnimation()">
0057 <mat-icon>pause</mat-icon>
0058 </button>
0059 <button mat-icon-button aria-label="Stop" matTooltip="Stop and show all particles" class="tcontrol" (click)="eventDisplay.exitTimedDisplay()">
0060 <mat-icon>stop</mat-icon>
0061 </button>
0062 <button mat-icon-button aria-label="Step back" matTooltip="Step backward" (click)="eventDisplay.timeStepBack()" class="tcontrol">
0063 <mat-icon>chevron_left</mat-icon>
0064 </button>
0065 <button mat-icon-button aria-label="Step forward" matTooltip="Step forward" (click)="eventDisplay.timeStep()" class="tcontrol">
0066 <mat-icon>chevron_right</mat-icon>
0067 </button>
0068 </div>
0069 </div>
0070
0071 <div footer-right>
0072 <div class="loading-indicators">
0073 @if (loadingDex()) {
0074 <div class="loader-container">
0075 <mat-spinner diameter="24" color="accent"></mat-spinner>
0076 <div class="loader-label">loading json</div>
0077 </div>
0078 }
0079 @if (loadingEdm()) {
0080 <div class="loader-container">
0081 <mat-spinner diameter="24" color="accent"></mat-spinner>
0082 <div class="loader-label">loading root</div>
0083 </div>
0084 }
0085 @if (loadingGeometry()) {
0086 <div class="loader-container">
0087 <mat-spinner diameter="24" color="accent"></mat-spinner>
0088 <div class="loader-label">loading geo</div>
0089 </div>
0090 }
0091 </div>
0092 </div>
0093 </app-firebird-shell>