Generating R/B Light Curves#

Creating and comparing light curves for two rocket body models

  • Light Curve Measurements - Rocket Body
  • Light Curve Measurements - Rocket Body
  • Measurement Standard Deviation - Rocket Body
  • Shadowing Methods Compared - Rocket Body
synth case gen
25515.236161088542
5670.052480241899
Running Light Curve Engine:
/Users/liamrobinson/Documents/maintained-research/mirage/mirage/ctools/engine/LightCurveEngine-mac-arm -m /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/matlib_saturn_v_sii.obj -i 1 -c 100 -d 360 -r lce_result_875688.lcr -R lce_command_100879.lcc -x /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out -s -M -b 2 -f 1000

Model path: /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/matlib_saturn_v_sii.obj
Pixel width: 360
Instance count: 1
Frame rate: 1000
Data points: 100
Results file: lce_result_875688.lcr
BRDF index: 2
BRDF cd: 0.50
BRDF cs: 0.50
BRDF n: 10.00
Saving images: true
.mtl file properties WILL be used
INFO: FILEIO: [lce_command_100879.lcc] Text file loaded successfully
INFO: Initializing raylib 4.5
INFO: Supported raylib modules:
INFO:     > rcore:..... loaded (mandatory)
INFO:     > rlgl:...... loaded (mandatory)
INFO:     > rshapes:... loaded (optional)
INFO:     > rtextures:. loaded (optional)
INFO:     > rtext:..... loaded (optional)
INFO:     > rmodels:... loaded (optional)
INFO:     > raudio:.... loaded (optional)
INFO: DISPLAY: Device initialized successfully
INFO:     > Display size: 1440 x 900
INFO:     > Screen size:  360 x 360
INFO:     > Render size:  360 x 360
INFO:     > Viewport offsets: 0, 0
INFO: GLAD: OpenGL extensions loaded successfully
INFO: GL: Supported extensions count: 43
INFO: GL: OpenGL device information:
INFO:     > Vendor:   Apple
INFO:     > Renderer: Apple M1
INFO:     > Version:  4.1 Metal - 89.3
INFO:     > GLSL:     4.10
INFO: GL: VAO extension detected, VAO functions loaded successfully
INFO: GL: NPOT textures extension detected, full NPOT textures supported
INFO: GL: DXT compressed textures supported
INFO: TEXTURE: [ID 1] Texture loaded successfully (1x1 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Default texture loaded successfully
INFO: SHADER: [ID 1] Vertex shader compiled successfully
INFO: SHADER: [ID 2] Fragment shader compiled successfully
INFO: SHADER: [ID 3] Program shader loaded successfully
INFO: SHADER: [ID 3] Default shader loaded successfully
INFO: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
INFO: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
INFO: RLGL: Default OpenGL state initialized successfully
INFO: TEXTURE: [ID 2] Texture loaded successfully (128x128 | GRAY_ALPHA | 1 mipmaps)
INFO: FONT: Default font loaded successfully (224 glyphs)
Initializing objects
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/matlib_saturn_v_sii.obj] Text file loaded successfully
INFO: MODEL: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/matlib_saturn_v_sii.obj] OBJ data loaded successfully: 1 meshes/7 materials
INFO: MODEL: model has 7 material meshes
INFO: VAO: [ID 2] Mesh uploaded successfully to VRAM (GPU)
INFO: VAO: [ID 3] Mesh uploaded successfully to VRAM (GPU)
INFO: VAO: [ID 4] Mesh uploaded successfully to VRAM (GPU)
INFO: VAO: [ID 5] Mesh uploaded successfully to VRAM (GPU)
INFO: VAO: [ID 6] Mesh uploaded successfully to VRAM (GPU)
INFO: VAO: [ID 7] Mesh uploaded successfully to VRAM (GPU)
INFO: VAO: [ID 8] Mesh uploaded successfully to VRAM (GPU)
INFO: FILEIO: [shaders/shadow_depth.vs] Text file loaded successfully
INFO: FILEIO: [shaders/shadow_depth.fs] Text file loaded successfully
INFO: SHADER: [ID 4] Vertex shader compiled successfully
INFO: SHADER: [ID 5] Fragment shader compiled successfully
INFO: SHADER: [ID 6] Program shader loaded successfully
INFO: SHADER: [ID 6] Shader attribute (vertexPosition) set at location: 0
INFO: SHADER: [ID 6] Shader attribute (vertexTexCoord) set at location: 1
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexTexCoord2
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexNormal
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexTangent
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexColor
WARNING: SHADER: [ID 6] Failed to find shader uniform: mvp
WARNING: SHADER: [ID 6] Failed to find shader uniform: matView
WARNING: SHADER: [ID 6] Failed to find shader uniform: matProjection
WARNING: SHADER: [ID 6] Failed to find shader uniform: matModel
WARNING: SHADER: [ID 6] Failed to find shader uniform: matNormal
WARNING: SHADER: [ID 6] Failed to find shader uniform: colDiffuse
WARNING: SHADER: [ID 6] Failed to find shader uniform: texture0
WARNING: SHADER: [ID 6] Failed to find shader uniform: texture1
WARNING: SHADER: [ID 6] Failed to find shader uniform: texture2
INFO: FILEIO: [shaders/lighting.vs] Text file loaded successfully
INFO: FILEIO: [shaders/lighting.fs] Text file loaded successfully
INFO: SHADER: [ID 4] Vertex shader compiled successfully
INFO: SHADER: [ID 5] Fragment shader compiled successfully
INFO: SHADER: [ID 7] Program shader loaded successfully
INFO: SHADER: [ID 7] Shader attribute (vertexPosition) set at location: 0
INFO: SHADER: [ID 7] Shader attribute (vertexTexCoord) set at location: 1
WARNING: SHADER: [ID 7] Failed to find shader attribute: vertexTexCoord2
INFO: SHADER: [ID 7] Shader attribute (vertexNormal) set at location: 2
WARNING: SHADER: [ID 7] Failed to find shader attribute: vertexTangent
WARNING: SHADER: [ID 7] Failed to find shader attribute: vertexColor
WARNING: SHADER: [ID 7] Failed to find shader uniform: mvp
WARNING: SHADER: [ID 7] Failed to find shader uniform: matView
WARNING: SHADER: [ID 7] Failed to find shader uniform: matProjection
WARNING: SHADER: [ID 7] Failed to find shader uniform: matModel
INFO: SHADER: [ID 7] Shader uniform (matNormal) set at location: 22
INFO: SHADER: [ID 7] Shader uniform (colDiffuse) set at location: 6
WARNING: SHADER: [ID 7] Failed to find shader uniform: texture0
WARNING: SHADER: [ID 7] Failed to find shader uniform: texture1
WARNING: SHADER: [ID 7] Failed to find shader uniform: texture2
INFO: FILEIO: [shaders/averaging.vs] Text file loaded successfully
INFO: FILEIO: [shaders/averaging.fs] Text file loaded successfully
INFO: SHADER: [ID 4] Vertex shader compiled successfully
INFO: SHADER: [ID 5] Fragment shader compiled successfully
INFO: SHADER: [ID 8] Program shader loaded successfully
INFO: SHADER: [ID 8] Shader attribute (vertexPosition) set at location: 0
INFO: SHADER: [ID 8] Shader attribute (vertexTexCoord) set at location: 1
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexTexCoord2
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexNormal
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexTangent
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexColor
INFO: SHADER: [ID 8] Shader uniform (mvp) set at location: 2
WARNING: SHADER: [ID 8] Failed to find shader uniform: matView
WARNING: SHADER: [ID 8] Failed to find shader uniform: matProjection
WARNING: SHADER: [ID 8] Failed to find shader uniform: matModel
WARNING: SHADER: [ID 8] Failed to find shader uniform: matNormal
WARNING: SHADER: [ID 8] Failed to find shader uniform: colDiffuse
INFO: SHADER: [ID 8] Shader uniform (texture0) set at location: 0
WARNING: SHADER: [ID 8] Failed to find shader uniform: texture1
WARNING: SHADER: [ID 8] Failed to find shader uniform: texture2
WARNING: SHADER: [ID 6] Failed to find shader uniform: viewPos
INFO: SHADER: [ID 6] Shader uniform (lightPos) set at location: 101
WARNING: SHADER: [ID 6] Failed to find shader uniform: light_mvp
INFO: SHADER: [ID 6] Shader uniform (model_id) set at location: 100
INFO: SHADER: [ID 6] Shader uniform (light_mvps[0].mat) set at location: 0
INFO: SHADER: [ID 7] Shader uniform (viewPos) set at location: 11
INFO: SHADER: [ID 7] Shader uniform (lightPos) set at location: 9
INFO: SHADER: [ID 7] Shader uniform (grid_width) set at location: 5
INFO: SHADER: [ID 7] Shader uniform (depthTex) set at location: 12
INFO: SHADER: [ID 7] Shader uniform (view_mvp) set at location: 0
INFO: SHADER: [ID 7] Shader uniform (light_mvp) set at location: 13
INFO: SHADER: [ID 7] Shader uniform (use_brdf) set at location: 4
INFO: SHADER: [ID 7] Shader uniform (cd_in) set at location: 10
INFO: SHADER: [ID 7] Shader uniform (cs_in) set at location: 26
INFO: SHADER: [ID 7] Shader uniform (n_in) set at location: 8
INFO: SHADER: [ID 7] Shader uniform (use_mtl) set at location: 7
INFO: SHADER: [ID 8] Shader uniform (grid_width) set at location: 1
INFO: SHADER: [ID 7] Shader uniform (lights[0].enabled) set at location: 17
INFO: SHADER: [ID 7] Shader uniform (lights[0].type) set at location: 18
INFO: SHADER: [ID 7] Shader uniform (lights[0].position) set at location: 19
INFO: SHADER: [ID 7] Shader uniform (lights[0].target) set at location: 20
INFO: SHADER: [ID 7] Shader uniform (lights[0].color) set at location: 21
INFO: TEXTURE: [ID 3] Texture loaded successfully (720x720 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Depth renderbuffer loaded successfully (32 bits)
INFO: FBO: [ID 1] Framebuffer object created successfully
INFO: TEXTURE: [ID 4] Texture loaded successfully (360x360 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 2] Depth renderbuffer loaded successfully (32 bits)
INFO: FBO: [ID 2] Framebuffer object created successfully
INFO: TEXTURE: [ID 5] Texture loaded successfully (1x360 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 3] Depth renderbuffer loaded successfully (32 bits)
INFO: FBO: [ID 3] Framebuffer object created successfully
INFO: TIMER: Target time per frame: 1.000 milliseconds
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame1.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame1.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame2.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame2.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame3.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame3.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame4.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame4.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame5.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame5.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame6.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame6.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame7.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame7.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame8.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame8.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame9.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame9.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame10.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame10.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame11.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame11.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame12.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame12.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame13.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame13.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame14.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame14.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame15.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame15.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame16.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame16.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame17.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame17.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame18.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame18.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame19.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame19.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame20.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame20.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame21.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame21.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame22.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame22.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame23.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame23.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame24.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame24.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame25.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame25.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame26.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame26.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame27.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame27.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame28.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame28.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame29.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame29.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame30.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame30.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame31.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame31.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame32.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame32.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame33.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame33.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame34.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame34.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame35.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame35.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame36.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame36.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame37.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame37.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame38.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame38.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame39.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame39.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame40.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame40.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame41.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame41.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame42.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame42.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame43.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame43.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame44.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame44.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame45.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame45.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame46.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame46.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame47.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame47.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame48.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame48.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame49.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame49.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame50.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame50.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame51.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame51.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame52.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame52.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame53.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame53.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame54.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame54.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame55.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame55.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame56.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame56.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame57.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame57.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame58.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame58.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame59.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame59.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame60.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame60.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame61.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame61.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame62.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame62.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame63.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame63.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame64.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame64.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame65.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame65.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame66.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame66.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame67.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame67.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame68.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame68.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame69.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame69.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame70.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame70.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame71.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame71.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame72.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame72.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame73.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame73.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame74.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame74.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame75.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame75.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame76.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame76.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame77.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame77.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame78.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame78.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame79.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame79.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame80.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame80.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame81.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame81.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame82.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame82.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame83.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame83.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame84.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame84.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame85.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame85.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame86.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame86.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame87.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame87.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame88.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame88.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame89.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame89.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame90.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame90.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame91.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame91.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame92.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame92.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame93.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame93.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame94.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame94.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame95.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame95.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame96.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame96.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame97.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame97.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame98.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame98.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame99.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame99.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
Trying to write results...
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame100.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame100.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 2] Unloaded texture data from VRAM (GPU)
INFO: SHADER: [ID 3] Default shader unloaded successfully
INFO: TEXTURE: [ID 1] Default texture unloaded successfully
INFO: Window closed successfully

Running Light Curve Engine:
/Users/liamrobinson/Documents/maintained-research/mirage/mirage/ctools/engine/LightCurveEngine-mac-arm -m /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/saturn_simple_tri.obj -i 1 -c 100 -d 360 -r lce_result_247957.lcr -R lce_command_410020.lcc -x /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out -s -M -b 2 -f 1000

Model path: /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/saturn_simple_tri.obj
Pixel width: 360
Instance count: 1
Frame rate: 1000
Data points: 100
Results file: lce_result_247957.lcr
BRDF index: 2
BRDF cd: 0.50
BRDF cs: 0.50
BRDF n: 10.00
Saving images: true
.mtl file properties WILL be used
INFO: FILEIO: [lce_command_410020.lcc] Text file loaded successfully
INFO: Initializing raylib 4.5
INFO: Supported raylib modules:
INFO:     > rcore:..... loaded (mandatory)
INFO:     > rlgl:...... loaded (mandatory)
INFO:     > rshapes:... loaded (optional)
INFO:     > rtextures:. loaded (optional)
INFO:     > rtext:..... loaded (optional)
INFO:     > rmodels:... loaded (optional)
INFO:     > raudio:.... loaded (optional)
INFO: DISPLAY: Device initialized successfully
INFO:     > Display size: 1440 x 900
INFO:     > Screen size:  360 x 360
INFO:     > Render size:  360 x 360
INFO:     > Viewport offsets: 0, 0
INFO: GLAD: OpenGL extensions loaded successfully
INFO: GL: Supported extensions count: 43
INFO: GL: OpenGL device information:
INFO:     > Vendor:   Apple
INFO:     > Renderer: Apple M1
INFO:     > Version:  4.1 Metal - 89.3
INFO:     > GLSL:     4.10
INFO: GL: VAO extension detected, VAO functions loaded successfully
INFO: GL: NPOT textures extension detected, full NPOT textures supported
INFO: GL: DXT compressed textures supported
INFO: TEXTURE: [ID 1] Texture loaded successfully (1x1 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Default texture loaded successfully
INFO: SHADER: [ID 1] Vertex shader compiled successfully
INFO: SHADER: [ID 2] Fragment shader compiled successfully
INFO: SHADER: [ID 3] Program shader loaded successfully
INFO: SHADER: [ID 3] Default shader loaded successfully
INFO: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
INFO: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
INFO: RLGL: Default OpenGL state initialized successfully
INFO: TEXTURE: [ID 2] Texture loaded successfully (128x128 | GRAY_ALPHA | 1 mipmaps)
INFO: FONT: Default font loaded successfully (224 glyphs)
Initializing objects
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/saturn_simple_tri.obj] Text file loaded successfully
INFO: MODEL: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/saturn_simple_tri.obj] OBJ data loaded successfully: 1 meshes/1 materials
INFO: MODEL: model has 1 material meshes
INFO: VAO: [ID 2] Mesh uploaded successfully to VRAM (GPU)
INFO: FILEIO: [shaders/shadow_depth.vs] Text file loaded successfully
INFO: FILEIO: [shaders/shadow_depth.fs] Text file loaded successfully
INFO: SHADER: [ID 4] Vertex shader compiled successfully
INFO: SHADER: [ID 5] Fragment shader compiled successfully
INFO: SHADER: [ID 6] Program shader loaded successfully
INFO: SHADER: [ID 6] Shader attribute (vertexPosition) set at location: 0
INFO: SHADER: [ID 6] Shader attribute (vertexTexCoord) set at location: 1
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexTexCoord2
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexNormal
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexTangent
WARNING: SHADER: [ID 6] Failed to find shader attribute: vertexColor
WARNING: SHADER: [ID 6] Failed to find shader uniform: mvp
WARNING: SHADER: [ID 6] Failed to find shader uniform: matView
WARNING: SHADER: [ID 6] Failed to find shader uniform: matProjection
WARNING: SHADER: [ID 6] Failed to find shader uniform: matModel
WARNING: SHADER: [ID 6] Failed to find shader uniform: matNormal
WARNING: SHADER: [ID 6] Failed to find shader uniform: colDiffuse
WARNING: SHADER: [ID 6] Failed to find shader uniform: texture0
WARNING: SHADER: [ID 6] Failed to find shader uniform: texture1
WARNING: SHADER: [ID 6] Failed to find shader uniform: texture2
INFO: FILEIO: [shaders/lighting.vs] Text file loaded successfully
INFO: FILEIO: [shaders/lighting.fs] Text file loaded successfully
INFO: SHADER: [ID 4] Vertex shader compiled successfully
INFO: SHADER: [ID 5] Fragment shader compiled successfully
INFO: SHADER: [ID 7] Program shader loaded successfully
INFO: SHADER: [ID 7] Shader attribute (vertexPosition) set at location: 0
INFO: SHADER: [ID 7] Shader attribute (vertexTexCoord) set at location: 1
WARNING: SHADER: [ID 7] Failed to find shader attribute: vertexTexCoord2
INFO: SHADER: [ID 7] Shader attribute (vertexNormal) set at location: 2
WARNING: SHADER: [ID 7] Failed to find shader attribute: vertexTangent
WARNING: SHADER: [ID 7] Failed to find shader attribute: vertexColor
WARNING: SHADER: [ID 7] Failed to find shader uniform: mvp
WARNING: SHADER: [ID 7] Failed to find shader uniform: matView
WARNING: SHADER: [ID 7] Failed to find shader uniform: matProjection
WARNING: SHADER: [ID 7] Failed to find shader uniform: matModel
INFO: SHADER: [ID 7] Shader uniform (matNormal) set at location: 22
INFO: SHADER: [ID 7] Shader uniform (colDiffuse) set at location: 6
WARNING: SHADER: [ID 7] Failed to find shader uniform: texture0
WARNING: SHADER: [ID 7] Failed to find shader uniform: texture1
WARNING: SHADER: [ID 7] Failed to find shader uniform: texture2
INFO: FILEIO: [shaders/averaging.vs] Text file loaded successfully
INFO: FILEIO: [shaders/averaging.fs] Text file loaded successfully
INFO: SHADER: [ID 4] Vertex shader compiled successfully
INFO: SHADER: [ID 5] Fragment shader compiled successfully
INFO: SHADER: [ID 8] Program shader loaded successfully
INFO: SHADER: [ID 8] Shader attribute (vertexPosition) set at location: 0
INFO: SHADER: [ID 8] Shader attribute (vertexTexCoord) set at location: 1
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexTexCoord2
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexNormal
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexTangent
WARNING: SHADER: [ID 8] Failed to find shader attribute: vertexColor
INFO: SHADER: [ID 8] Shader uniform (mvp) set at location: 2
WARNING: SHADER: [ID 8] Failed to find shader uniform: matView
WARNING: SHADER: [ID 8] Failed to find shader uniform: matProjection
WARNING: SHADER: [ID 8] Failed to find shader uniform: matModel
WARNING: SHADER: [ID 8] Failed to find shader uniform: matNormal
WARNING: SHADER: [ID 8] Failed to find shader uniform: colDiffuse
INFO: SHADER: [ID 8] Shader uniform (texture0) set at location: 0
WARNING: SHADER: [ID 8] Failed to find shader uniform: texture1
WARNING: SHADER: [ID 8] Failed to find shader uniform: texture2
WARNING: SHADER: [ID 6] Failed to find shader uniform: viewPos
INFO: SHADER: [ID 6] Shader uniform (lightPos) set at location: 101
WARNING: SHADER: [ID 6] Failed to find shader uniform: light_mvp
INFO: SHADER: [ID 6] Shader uniform (model_id) set at location: 100
INFO: SHADER: [ID 6] Shader uniform (light_mvps[0].mat) set at location: 0
INFO: SHADER: [ID 7] Shader uniform (viewPos) set at location: 11
INFO: SHADER: [ID 7] Shader uniform (lightPos) set at location: 9
INFO: SHADER: [ID 7] Shader uniform (grid_width) set at location: 5
INFO: SHADER: [ID 7] Shader uniform (depthTex) set at location: 12
INFO: SHADER: [ID 7] Shader uniform (view_mvp) set at location: 0
INFO: SHADER: [ID 7] Shader uniform (light_mvp) set at location: 13
INFO: SHADER: [ID 7] Shader uniform (use_brdf) set at location: 4
INFO: SHADER: [ID 7] Shader uniform (cd_in) set at location: 10
INFO: SHADER: [ID 7] Shader uniform (cs_in) set at location: 26
INFO: SHADER: [ID 7] Shader uniform (n_in) set at location: 8
INFO: SHADER: [ID 7] Shader uniform (use_mtl) set at location: 7
INFO: SHADER: [ID 8] Shader uniform (grid_width) set at location: 1
INFO: SHADER: [ID 7] Shader uniform (lights[0].enabled) set at location: 17
INFO: SHADER: [ID 7] Shader uniform (lights[0].type) set at location: 18
INFO: SHADER: [ID 7] Shader uniform (lights[0].position) set at location: 19
INFO: SHADER: [ID 7] Shader uniform (lights[0].target) set at location: 20
INFO: SHADER: [ID 7] Shader uniform (lights[0].color) set at location: 21
INFO: TEXTURE: [ID 3] Texture loaded successfully (720x720 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 1] Depth renderbuffer loaded successfully (32 bits)
INFO: FBO: [ID 1] Framebuffer object created successfully
INFO: TEXTURE: [ID 4] Texture loaded successfully (360x360 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 2] Depth renderbuffer loaded successfully (32 bits)
INFO: FBO: [ID 2] Framebuffer object created successfully
INFO: TEXTURE: [ID 5] Texture loaded successfully (1x360 | R8G8B8A8 | 1 mipmaps)
INFO: TEXTURE: [ID 3] Depth renderbuffer loaded successfully (32 bits)
INFO: FBO: [ID 3] Framebuffer object created successfully
INFO: TIMER: Target time per frame: 1.000 milliseconds
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame1.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame1.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame2.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame2.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame3.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame3.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame4.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame4.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame5.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame5.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame6.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame6.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame7.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame7.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame8.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame8.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame9.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame9.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame10.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame10.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame11.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame11.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame12.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame12.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame13.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame13.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame14.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame14.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame15.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame15.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame16.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame16.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame17.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame17.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame18.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame18.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame19.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame19.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame20.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame20.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame21.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame21.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame22.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame22.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame23.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame23.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame24.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame24.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame25.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame25.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame26.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame26.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame27.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame27.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame28.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame28.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame29.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame29.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame30.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame30.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame31.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame31.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame32.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame32.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame33.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame33.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame34.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame34.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame35.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame35.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame36.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame36.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame37.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame37.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame38.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame38.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame39.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame39.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame40.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame40.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame41.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame41.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame42.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame42.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame43.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame43.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame44.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame44.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame45.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame45.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame46.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame46.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame47.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame47.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame48.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame48.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame49.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame49.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame50.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame50.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame51.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame51.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame52.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame52.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame53.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame53.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame54.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame54.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame55.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame55.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame56.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame56.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame57.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame57.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame58.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame58.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame59.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame59.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame60.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame60.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame61.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame61.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame62.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame62.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame63.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame63.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame64.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame64.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame65.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame65.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame66.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame66.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame67.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame67.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame68.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame68.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame69.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame69.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame70.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame70.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame71.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame71.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame72.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame72.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame73.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame73.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame74.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame74.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame75.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame75.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame76.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame76.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame77.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame77.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame78.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame78.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame79.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame79.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame80.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame80.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame81.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame81.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame82.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame82.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame83.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame83.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame84.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame84.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame85.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame85.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame86.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame86.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame87.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame87.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame88.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame88.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame89.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame89.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame90.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame90.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame91.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame91.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame92.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame92.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame93.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame93.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame94.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame94.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame95.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame95.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame96.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame96.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame97.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame97.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame98.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame98.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame99.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame99.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 5] Pixel data retrieved successfully
Trying to write results...
INFO: TEXTURE: [ID 4] Pixel data retrieved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame100.png] File saved successfully
INFO: FILEIO: [/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/out/frame100.png] Image exported successfully
Saved image!
INFO: TEXTURE: [ID 2] Unloaded texture data from VRAM (GPU)
INFO: SHADER: [ID 3] Default shader unloaded successfully
INFO: TEXTURE: [ID 1] Default texture unloaded successfully
INFO: Window closed successfully

shape: (100, 21)
┌─────────────┬────────┬─────────────┬─────────────┬───┬─────────────┬─────────────┬────────────┬────────────┐
│ date        ┆ epsecs ┆ r_obj       ┆ r_obs       ┆ … ┆ sigma_obs_n ┆ nll_simple_ ┆ normalized ┆ normalized │
│ ---         ┆ ---    ┆ ---         ┆ ---         ┆   ┆ orm         ┆ norm        ┆ _brightnes ┆ _brightnes │
│ datetime[μs ┆ f64    ┆ array[f64,  ┆ array[f64,  ┆   ┆ ---         ┆ ---         ┆ s_to_elect ┆ s_to_count │
│ , UTC]      ┆        ┆ 3]          ┆ 3]          ┆   ┆ f64         ┆ f64         ┆ …          ┆ …          │
│             ┆        ┆             ┆             ┆   ┆             ┆             ┆ ---        ┆ ---        │
│             ┆        ┆             ┆             ┆   ┆             ┆             ┆ f64        ┆ f64        │
╞═════════════╪════════╪═════════════╪═════════════╪═══╪═════════════╪═════════════╪════════════╪════════════╡
│ 2025-03-08  ┆ 0.0    ┆ [-28893.289 ┆ [-8.706485, ┆ … ┆ 0.025204    ┆ -1.675078   ┆ 25515.2361 ┆ 5670.05248 │
│ 02:00:00    ┆        ┆ 221, 30294. ┆ 5362.278169 ┆   ┆             ┆             ┆ 61         ┆            │
│ UTC         ┆        ┆ 875849, …   ┆ , 3446.…    ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 3.0    ┆ [-28899.970 ┆ [-9.879516, ┆ … ┆ 0.025525    ┆ -2.716808   ┆ 25514.8763 ┆ 5669.97251 │
│ 02:00:03    ┆        ┆ 137, 30288. ┆ 5362.274289 ┆   ┆             ┆             ┆ 08         ┆ 3          │
│ UTC         ┆        ┆ 77168, 4…   ┆ , 3446.…    ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 6.0    ┆ [-28906.649 ┆ [-11.052561 ┆ … ┆ 0.025853    ┆ -3.655305   ┆ 25514.5164 ┆ 5669.89255 │
│ 02:00:06    ┆        ┆ 596, 30282. ┆ , 5362.2701 ┆   ┆             ┆             ┆ 77         ┆            │
│ UTC         ┆        ┆ 666109, …   ┆ 53, 3446…   ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 9.0    ┆ [-28913.327 ┆ [-12.22559, ┆ … ┆ 0.026053    ┆ -3.646355   ┆ 25514.1565 ┆ 5669.81256 │
│ 02:00:09    ┆        ┆ 727, 30276. ┆ 5362.26576, ┆   ┆             ┆             ┆ 61         ┆ 9          │
│ UTC         ┆        ┆ 55902, 4…   ┆ 3446.0…     ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 12.0   ┆ [-28920.004 ┆ [-13.398618 ┆ … ┆ 0.026042    ┆ -2.529101   ┆ 25513.7966 ┆ 5669.73258 │
│ 02:00:12    ┆        ┆ 4, 30270.45 ┆ ,           ┆   ┆             ┆             ┆ 36         ┆ 6          │
│ UTC         ┆        ┆ 053, 411…   ┆ 5362.26111, ┆   ┆             ┆             ┆            ┆            │
│             ┆        ┆             ┆ 3446.…      ┆   ┆             ┆             ┆            ┆            │
│ …           ┆ …      ┆ …           ┆ …           ┆ … ┆ …           ┆ …           ┆ …          ┆ …          │
│ 2025-03-08  ┆ 285.0  ┆ [-29521.711 ┆ [-120.13330 ┆ … ┆ 0.025822    ┆ -3.650972   ┆ 25480.9107 ┆ 5662.42461 │
│ 02:04:45    ┆        ┆ 289, 29708. ┆ 3, 5360.763 ┆   ┆             ┆             ┆ 81         ┆ 8          │
│ UTC         ┆        ┆ 505852, …   ┆ 861, 344…   ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 288.0  ┆ [-29528.258 ┆ [-121.30601 ┆ … ┆ 0.025973    ┆ -3.272787   ┆ 25480.5479 ┆ 5662.34399 │
│ 02:04:48    ┆        ┆ 414, 29702. ┆ 6, 5360.735 ┆   ┆             ┆             ┆ 86         ┆ 7          │
│ UTC         ┆        ┆ 264406, …   ┆ 605, 344…   ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 291.0  ┆ [-29534.804 ┆ [-122.47870 ┆ … ┆ 0.026022    ┆ -2.707737   ┆ 25480.1851 ┆ 5662.26335 │
│ 02:04:51    ┆        ┆ 179, 29696. ┆ 6, 5360.707 ┆   ┆             ┆             ┆ 06         ┆ 7          │
│ UTC         ┆        ┆ 021469, …   ┆ 093, 344…   ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 294.0  ┆ [-29541.348 ┆ [-123.65139 ┆ … ┆ 0.026021    ┆ -2.657286   ┆ 25479.8222 ┆ 5662.18271 │
│ 02:04:54    ┆        ┆ 458, 29689. ┆ , 5360.6783 ┆   ┆             ┆             ┆ 19         ┆ 5          │
│ UTC         ┆        ┆ 777161, …   ┆ 24, 3446…   ┆   ┆             ┆             ┆            ┆            │
│ 2025-03-08  ┆ 297.0  ┆ [-29547.891 ┆ [-124.82408 ┆ … ┆ 0.025945    ┆ -3.408273   ┆ 25479.4592 ┆ 5662.10206 │
│ 02:04:57    ┆        ┆ 439, 29683. ┆ 4, 5360.649 ┆   ┆             ┆             ┆ 82         ┆ 3          │
│ UTC         ┆        ┆ 531304, …   ┆ 298, 344…   ┆   ┆             ┆             ┆            ┆            │
└─────────────┴────────┴─────────────┴─────────────┴───┴─────────────┴─────────────┴────────────┴────────────┘
[Taichi] Starting on arch=arm64
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 38, in load_finfo
    poly = PC3TYPE(0.0)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1436, in __call__
    return self._instantiate(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1530, in _instantiate
    return self._instantiate_in_python_scope(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1517, in _instantiate_in_python_scope
    return Matrix(

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 40, in load_finfo
    FINFOFIELD[i].vi = P3STRUCT(polygon=poly, k=num_verts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 634, in __call__
    data = dtype(data)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1451, in __call__
    return self._instantiate(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1530, in _instantiate
    return self._instantiate_in_python_scope(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1517, in _instantiate_in_python_scope
    return Matrix(

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 40, in load_finfo
    FINFOFIELD[i].vi = P3STRUCT(polygon=poly, k=num_verts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 640, in __call__
    struct = self.cast(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 767, in cast
    entries[k] = dtype(struct._Struct__entries[k])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1451, in __call__
    return self._instantiate(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1530, in _instantiate
    return self._instantiate_in_python_scope(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1517, in _instantiate_in_python_scope
    return Matrix(

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 40, in load_finfo
    FINFOFIELD[i].vi = P3STRUCT(polygon=poly, k=num_verts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
    return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 41, in load_finfo
    FINFOFIELD[i].fn = POINT3TYPE(*fn.astype(np.float64))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
    return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 42, in load_finfo
    FINFOFIELD[i].fc = POINT3TYPE(*fc.astype(np.float64))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
    return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 16x3 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (16, 3)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 104, in initialize
    load_finfo(obj_path)
  File "/Users/liamrobinson/Documents/maintained-wip/taichi-polyclip/ticlip/handler.py", line 43, in load_finfo
    FINFOFIELD[i].a = _poly_area_r3(vi)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 591, in __getitem__
    entries = {
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/struct.py", line 592, in <dictcomp>
    k: v._host_access(self._pad_key(indices))[0] if isinstance(v, ScalarField) else v[indices]
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py", line 351, in wrapped
    return func(*args, **kwargs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1367, in __getitem__
    return Matrix([[_host_access[i * self.m + j] for j in range(self.m)] for i in range(self.n)])

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 100x1 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (100, 1)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 130, in initialize
    load_lc_obs(lc_true, sigma_obs)
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/core.py", line 325, in load_lc_obs
    lc_obs = ti.types.vector(n=NTIMES, dtype=ti.f64)(lc_arr)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1621, in __call__
    return self._instantiate(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1634, in _instantiate
    return self._instantiate_in_python_scope(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1624, in _instantiate_in_python_scope
    return Vector(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1110, in __init__
    super().__init__(arr, dt=dt, **kwargs)

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/util.py:370: UserWarning: Taichi matrices/vectors with 100x1 > 32 entries are not suggested. Matrices/vectors will be automatically unrolled at compile-time for performance. So the compilation time could be extremely long if the matrix size is too big. You may use a field to store a large matrix like this, e.g.:
    x = ti.field(ti.f32, (100, 1)).
 See https://docs.taichi-lang.org/docs/field#matrix-size for more details.
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/bin/sphinx-build", line 8, in <module>
    sys.exit(main())
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 382, in main
    return make_main(argv)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 217, in make_main
    return make_mode.run_make_mode(argv[1:])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 176, in run_make_mode
    return make.run_generic_build(args[0])
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/make_mode.py", line 164, in run_generic_build
    return build_main(args + opts)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/cmd/build.py", line 332, in build_main
    app = Sphinx(args.sourcedir, args.confdir, args.outputdir,
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 292, in __init__
    self._init_builder()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/application.py", line 366, in _init_builder
    self.events.emit('builder-inited')
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx/events.py", line 100, in emit
    results.append(listener.handler(self.app, *args))
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_gallery.py", line 787, in generate_gallery_rst
    ) = generate_dir_rst(src_dir, target_dir, gallery_conf, seen_backrefs)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 598, in generate_dir_rst
    results = parallel(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 599, in <genexpr>
    p_fun(fname, target_dir, src_dir, gallery_conf) for fname in iterator
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1346, in generate_file_rst
    output_blocks, time_elapsed = execute_script(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1164, in execute_script
    execute_code_block(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1020, in execute_code_block
    is_last_expr, mem_max = _exec_and_get_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 865, in _exec_and_get_memory
    mem_max, _ = call_memory(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 1700, in _sg_call_memory_noop
    return 0.0, func()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/sphinx_gallery/gen_rst.py", line 783, in __call__
    exec(self.code, self.fake_main.__dict__)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 91, in <module>
    main()
  File "/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/synth_case_gen.py", line 70, in main
    mrp.generate_light_curves(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/mirage/papers/attitude_paper.py", line 298, in generate_light_curves
    tater.initialize(
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/handler.py", line 130, in initialize
    load_lc_obs(lc_true, sigma_obs)
  File "/Users/liamrobinson/Documents/maintained-wip/rhotater/tater/core.py", line 328, in load_lc_obs
    sigma_obs = ti.types.vector(n=NTIMES, dtype=ti.f64)(sigma)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1605, in __call__
    return self._instantiate(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1634, in _instantiate
    return self._instantiate_in_python_scope(entries)
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1624, in _instantiate_in_python_scope
    return Vector(
  File "/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/lang/matrix.py", line 1110, in __init__
    super().__init__(arr, dt=dt, **kwargs)

  warnings.warn(Fore.YELLOW + Style.BRIGHT + msg + Style.RESET_ALL, warning_type)
Reading /Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models/saturn_simple.mtl
/Users/liamrobinson/Documents/maintained-research/mirage/.venv/lib/python3.11/site-packages/taichi/_kernels.py:189: SyntaxWarning: You are unrolling more than
                        32 iterations, so the compile time may be extremely long.
                        You can use a non-static for loop if you want to decrease the compile time.
                        You can disable this warning by setting ti.init(unrolling_limit=0).
  for p in static(range(mat.n)):
mean analytic shadowing error: 0.07
mean convex error: 0.07

import os

import numpy as np
import pyvista as pv

import mirage as mr
import mirage.papers as mrp
import mirage.vis as mrv


def main():
    length = mr.minutes(5)
    cadence = mr.seconds(3)
    date0 = mr.utc(2025, 3, 8, 2, 0, 0)
    s0 = np.array([0.33333333, 0.33333333, -0.33333333])
    w0 = 0.03 * np.array([1.0, 2.0, 1.0])
    itensor = np.diag([1.0, 1.0, 0.25])

    model_dir = '/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/models'
    station = mr.Station()
    mr.set_model_directory(model_dir)
    obj_true = mr.SpaceObject('matlib_saturn_v_sii.obj', identifier=20662)
    obj_simple = mr.SpaceObject('saturn_simple_tri.obj', identifier=20662)
    invert_obj_path = os.path.join(model_dir, 'saturn_simple.obj')

    obj_true_mat = mr.load_obj(obj_true.file_name)
    obj_true_mat.material_names[obj_true_mat.material_names == 'none'] = 'aluminum'

    obj_simple_mat = mr.load_obj(obj_simple.file_name)

    # Plotting the objects themselves
    from matplotlib.colors import ListedColormap

    # Define the colors we want to use
    white = np.array([245 / 256, 245 / 256, 245 / 256, 1.0])
    grey = np.array([120 / 256, 120 / 256, 120 / 256, 1.0])

    # Plotting the objects themselves
    p = pv.Plotter()
    mrv.render_spaceobject(
        p,
        obj_simple_mat,
        origin=(8, 0, 1),
        scalars=obj_simple_mat.material_names,
        cmap=ListedColormap(np.vstack((white, grey))),
    )
    mrv.render_spaceobject(
        p,
        obj_true_mat,
        origin=(-8, 0, 1),
        scalars=obj_true_mat.material_names,
        cmap=ListedColormap(np.vstack((grey, white))),
    )

    p.add_axes(shaft_length=1.0, label_size=(0.5, 0.2), line_width=3)
    p.camera.position = (0, 60, 0)
    p.camera.focal_point = (0, 0, 0)
    p.show()
    p.screenshot(
        '/Users/liamrobinson/Documents/maintained-research/mirage/examples/15-attitude-sdc-2025/figs/rocket_bodies.png'
    )

    mrp.generate_light_curves(
        station,
        obj_true,
        obj_simple,
        invert_obj_path,
        lc_length=length,
        lc_cadence=cadence,
        integration_time_s=0.5,
        date0=date0,
        s0=s0,
        w0=w0,
        itensor=itensor,
        self_shadowing=True,
        trial_name='rocket_body_sdc',
        model_name='Rocket Body',
        make_plots=True,
        model_scale=0.3,
    )


if __name__ == '__main__':
    main()

Total running time of the script: (0 minutes 11.152 seconds)

Gallery generated by Sphinx-Gallery