@class SUICFlameGroup, NSString, CADisplayLink, UIImage, SUICAudioLevelSmoother, UIImageView, NSMutableSet, NSMutableArray, UIScreen, UIColor; @protocol MTLBuffer, SUICFlamesViewProvidingDelegate, MTLCommandQueue, MTLRenderPipelineState; @interface SUICFlamesViewMetal : MTKView <SUICFlamesViewProviding> { CADisplayLink *_displayLink; long long _currentContextCount; NSMutableSet *_renderingDisabledReasons; unsigned int _framebufferHandle; unsigned int _renderbufferHandle; int _flameProgramHandle; int _auraProgramHandle; int _vShadID; int _fShadID; unsigned int _vertexArrayObjectHandle; unsigned int _vertexBufferHandle; unsigned int _elementArrayHandle; unsigned long long _numIndices; unsigned long long _numVertices; unsigned int _numAuraIndices; unsigned int _numAuraIndicesCulled; unsigned int _numWaveIndices; unsigned int _maxVertexCircles; unsigned int _auraVertexCircles; float _maxSubdivisionLevel; float _auraMinSubdivisionLevel; float _auraMaxSubdivisionLevel; NSMutableArray *_flameGroups; SUICFlameGroup *_currentFlameGroup; float _viewWidth; float _viewHeight; float _dictationUnitSize; UIScreen *_screen; UIImageView *_overlayImageView; double _startTime; double _dictationRedColor; double _dictationGreenColor; double _dictationBlueColor; SUICAudioLevelSmoother *_levelSmoother; long long _fidelity; double _frameRateScalingFactor; BOOL _transitionFinished; BOOL _isInitialized; BOOL _hasCustomActiveFrame; BOOL _shadersAreCompiled; BOOL _reduceMotionEnabled; id<MTLRenderPipelineState> _pipelineState[4]; id<MTLCommandQueue> _commandQueue; id<MTLBuffer> _vertexBuffer; id<MTLBuffer> _indexBuffer; void /* unknown type, empty encoding */ _viewportSize; } @property (readonly, nonatomic) BOOL isRenderingEnabled; @property (weak, nonatomic) id<SUICFlamesViewProvidingDelegate> flamesDelegate; @property (nonatomic) long long mode; @property (nonatomic) long long state; @property (nonatomic) BOOL showAura; @property (nonatomic) BOOL freezesAura; @property (nonatomic) BOOL reduceFrameRate; @property (nonatomic) BOOL reduceThinkingFramerate; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } activeFrame; @property (retain, nonatomic) UIImage *overlayImage; @property (retain, nonatomic) UIColor *dictationColor; @property (nonatomic) BOOL renderInBackground; @property (nonatomic) BOOL flamesPaused; @property (nonatomic) double horizontalScaleFactor; @property (nonatomic) BOOL accelerateTransitions; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (Class)layerClass; + (id)_indexCache; + (BOOL)_supportsAdaptiveFramerate; + (void)prewarmShadersForScreen:(id)a0 activeFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 fidelity:(long long)a2; + (void)prewarmShadersForScreen:(id)a0 initialFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 activeFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 fidelity:(long long)a3 prewarmInBackground:(BOOL)a4; + (void)prewarmShadersForScreen:(id)a0 size:(struct CGSize { double x0; double x1; })a1; + (void)prewarmShadersForScreen:(id)a0 size:(struct CGSize { double x0; double x1; })a1 fidelity:(long long)a2; + (void)prewarmShadersForScreen:(id)a0 size:(struct CGSize { double x0; double x1; })a1 fidelity:(long long)a2 prewarmInBackground:(BOOL)a3; + (void)setIndexCacheSize:(unsigned long long)a0; - (void /* unknown type, empty encoding */)_predeterminedVertexPositionForAuraWithPolarVertex:(SEL)a0; - (void)_applicationWillEnterForeground:(id)a0; - (void)_applicationWillResignActive:(id)a0; - (void)_applicationDidBecomeActive:(id)a0; - (void)_setPreferredFramesPerSecond; - (void)_didFinishTransition; - (void)dealloc; - (float)_currentMicPowerLevel; - (void)traitCollectionDidChange:(id)a0; - (void)_prewarmShaders; - (void)resetAndReinitialize:(BOOL)a0; - (id)_metalLayer; - (void)fadeOutCurrentAura; - (BOOL)inDictationMode; - (void)didMoveToSuperview; - (BOOL)_setupVertexBuffer; - (BOOL)_deviceNeeds2xFlamesWithCurrentScale:(double)a0; - (void)setFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (BOOL)_loadPipelineLibraries; - (double)_currentDisplayScale; - (void)_reduceMotionStatusChanged:(id)a0; - (void)_updateCurveLayer:(id)a0; - (int)_generateIndicesForNumCircleShapes:(int)a0 withMaxSubdivisionLevel:(float)a1 startingWithNumSubdivisionLevel:(float)a2 forIndices:(unsigned int **)a3 atStartIndex:(int)a4 withFill:(BOOL)a5 withCullingForAura:(BOOL)a6 forVertices:(struct { } *)a7; - (void)setHidden:(BOOL)a0; - (BOOL)_initMetalAndSetupDisplayLink:(BOOL)a0; - (void)setBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 screen:(id)a1 fidelity:(long long)a2; - (void)_setValuesForFidelity:(long long)a0; - (void)_setupDisplayLink; - (id)_from:(id)a0 getRenderPipeline:(id)a1 err:(id *)a2; - (void)_updateDisplayLinkPausedState; - (void).cxx_destruct; - (void)prewarmShadersForCurrentMode; - (long long)_preferredFramesPerSecond; - (void)_didSkipFrameUpdateWithReason:(id)a0 andCount:(unsigned long long)a1; - (void)_tearDownDisplayLink; - (id)initWithFrame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 screenScale:(double)a1 fidelity:(long long)a2; - (void)layoutSubviews; - (void)_updateOrthoProjection; - (BOOL)inSiriMode; - (BOOL)_resizeFromLayer:(id)a0; - (void)setRenderingEnabled:(BOOL)a0 forReason:(id)a1; - (unsigned int)_numVerticesPerCircle; - (BOOL)_isOriginatingProcessInBackground; - (id)_lazy_commandQueue; @end