diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 3b0c70d5..ef21ba25 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,18 +4,15 @@
-
+
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -25,29 +22,70 @@
+ {
+ "lastFilter": {
+ "state": "OPEN",
+ "assignee": "EmilyMoonstone"
+ }
+}
+ {
+ "selectedUrlAndAccountId": {
+ "url": "https://github.com/EmilyMoonstone/Moonforge.git",
+ "accountId": "b98d26bd-cc39-4b73-bbe4-e0bbd2bd58ce"
+ }
+}
+ {
+ "associatedIndex": 8
+}
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -82,7 +120,22 @@
1765382012258
-
+
+
+ 1765386115246
+
+
+
+ 1765386115246
+
+
+
+ 1765450913307
+
+
+ 1765450913307
+
+
@@ -90,7 +143,8 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/logging/log-2025-12-13_14-00.txt b/logging/log-2025-12-13_14-00.txt
new file mode 100644
index 00000000..9a969866
--- /dev/null
+++ b/logging/log-2025-12-13_14-00.txt
@@ -0,0 +1,3681 @@
+Performing hot restart...
+Syncing files to device Windows...
+Restarted application in 792ms.
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 _initializeLogger (package:moonforge/main.dart:127:12)
+#2 main (package:moonforge/main.dart:30:3)
+#3 _runMain. (dart:ui/hooks.dart:343:23)
+💡 Logger initialized with contexts: {LogContext.general, LogContext.sync, LogContext.database}
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:26:7)
+#3 DashboardService.fetchStats (package:moonforge/features/home/services/dashboard_service.dart:50:12)
+💡 [DashboardService] fetchStats started
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during layout:
+A RenderFlex overflowed by 81 pixels on the right.
+
+The relevant error-causing widget was:
+ Row Row:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/button_group_m3e-0.3.1/lib/src/button_group_m3e_widget.dart:479:24
+: To inspect this widget in Flutter DevTools, visit: http://127.0.0.1:9100/#/inspector?uri=http%3A%2F%2F127.0.0.1%3A62183%2FTEQGxANBOW4%3D%2F&inspectorRef=inspector-0
+The overflowing RenderFlex has an orientation of Axis.horizontal.
+The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
+
+Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.
+This is considered an error condition because it indicates that there is content that cannot be seen. If the content is legitimately bigger than the available space, consider clipping it with a ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, like a ListView.
+
+The specific RenderFlex in question is: RenderFlex#6374f relayoutBoundary=up9 OVERFLOWING
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=393.0, 0.0<=h<=56.0)
+... size: Size(393.0, 40.0)
+... direction: horizontal
+... mainAxisAlignment: end
+... mainAxisSize: max
+... crossAxisAlignment: center
+... textDirection: ltr
+... verticalDirection: down
+... spacing: 0.0
+◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
+====================================================================================================
+#0 ConditionalLogger.w (package:moonforge/core/utils/logger.dart:105:15)
+#1 _AppStateInitializerState.initState. (package:moonforge/core/widgets/app_state_initializer.dart:31:16)
+#2 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#3 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1361:11)
+! SyncCoordinator provider not registered in AppStateInitializer.
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:28:7)
+#3
+💡 [DashboardService] fetchStats completed
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+🐛 Saved last_visited_route to storage box: moonforge_storage
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+🐛 Saved current_campaign_id to storage box: moonforge_storage
+dynamic_color: Accent color detected.
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:26:7)
+#3 DashboardService.fetchStats (package:moonforge/features/home/services/dashboard_service.dart:50:12)
+💡 [DashboardService] fetchStats started
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:28:7)
+#3
+💡 [DashboardService] fetchStats completed
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:26:7)
+#3 DashboardService.fetchStats (package:moonforge/features/home/services/dashboard_service.dart:50:12)
+💡 [DashboardService] fetchStats started
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:28:7)
+#3
+💡 [DashboardService] fetchStats completed
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:26:7)
+#3 DashboardService.fetchStats (package:moonforge/features/home/services/dashboard_service.dart:50:12)
+💡 [DashboardService] fetchStats started
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:28:7)
+#3
+💡 [DashboardService] fetchStats completed
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:26:7)
+#3 DashboardService.fetchStats (package:moonforge/features/home/services/dashboard_service.dart:50:12)
+💡 [DashboardService] fetchStats started
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderCustomMultiChildLayoutBox object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderCustomMultiChildLayoutBox were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Scaffold Scaffold:file:///D:/Nextcloud/04%20BruckCode/Projekte/Moonforge/moonforge/lib/features/open5e_browser/views/open5e_browser_view.dart:361:12
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:419:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#33 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#34 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#35 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#49 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#50 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#79 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#84 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#85 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#86 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#87 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#88 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#89 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#90 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#91 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#92 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#93 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#94 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#95 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#96 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#97 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#98 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#99 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#100 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#102 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#103 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#104 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#105 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#106 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#107 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#108 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#109 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#110 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#111 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#112 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#113 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#114 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#115 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#116 _invoke (dart:ui/hooks.dart:356:13)
+#117 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#118 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderCustomMultiChildLayoutBox#b410d relayoutBoundary=up41 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: RenderCustomMultiChildLayoutBox#b410d relayoutBoundary=up41 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child 1: RenderFlex#afbf5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.body
+... constraints: MISSING
+... size: MISSING
+... direction: vertical
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... verticalDirection: down
+... spacing: 0.0
+... child 1: RenderPadding#c01c9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null
+... constraints: MISSING
+... size: MISSING
+... padding: EdgeInsets.all(16.0)
+... textDirection: ltr
+... child: RenderFlex#1bb2c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... direction: vertical
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... verticalDirection: down
+... spacing: 0.0
+... child 1: RenderFlex#95248 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null
+... constraints: MISSING
+... size: MISSING
+... direction: horizontal
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... textDirection: ltr
+... verticalDirection: down
+... spacing: 0.0
+... child 2: RenderConstrainedBox#4912e NEEDS-LAYOUT NEEDS-PAINT
+... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null
+... constraints: MISSING
+... size: MISSING
+... additionalConstraints: BoxConstraints(0.0<=w<=Infinity, h=16.0)
+... child 3: RenderMouseRegion#ca93e NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null
+... constraints: MISSING
+... size: MISSING
+... behavior: opaque
+... listeners: enter, exit
+... cursor: SystemMouseCursor(text)
+... child 2: RenderPositionedBox#db9f1 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.center
+... textDirection: ltr
+... widthFactor: expand
+... heightFactor: expand
+... child: RenderSemanticsAnnotations#36478 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... child: RenderConstrainedBox#ef86c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... additionalConstraints: BoxConstraints(36.0<=w<=Infinity, 36.0<=h<=Infinity)
+... child 2: RenderConstrainedBox#f54ce NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.appBar
+... constraints: MISSING
+... size: MISSING
+... additionalConstraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=56.0)
+... child: RenderSemanticsAnnotations#b47fc NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... semantic boundary
+... size: MISSING
+... child: RenderAnnotatedRegion#a187c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... child: RenderPhysicalModel#34639 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... elevation: 0.0
+... color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shape: BoxShape.rectangle
+... borderRadius: BorderRadius.zero
+... child 3: RenderStack#1f202 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.floatingActionButton
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.centerRight
+... textDirection: ltr
+... fit: loose
+... child 1: RenderTransform#89b22 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... transform matrix: [0] 0.0,0.0,0.0,0.0
+[1] 0.0,0.0,0.0,0.0
+[2] 0.0,0.0,1.0,0.0
+[3] 0.0,0.0,0.0,1.0
+... origin: null
+... alignment: Alignment.center
+... textDirection: ltr
+... transformHitTests: true
+... child: RenderTransform#e0fd0 NEEDS-LAYOUT NEEDS-PAINT
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... transform matrix: [0] 0.7,0.7,0.0,0.0
+[1] -0.7,0.7,0.0,0.0
+[2] 0.0,0.0,1.0,0.0
+[3] 0.0,0.0,0.0,1.0
+... origin: null
+... alignment: Alignment.center
+... textDirection: ltr
+... transformHitTests: true
+====================================================================================================
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+🐛 Saved last_visited_route to storage box: moonforge_storage
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderInkFeatures object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderInkFeatures were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Scaffold Scaffold:file:///D:/Nextcloud/04%20BruckCode/Projekte/Moonforge/moonforge/lib/features/open5e_browser/views/open5e_browser_view.dart:361:12
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#32 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#33 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#46 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#47 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#48 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#71 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#79 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#84 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#85 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#86 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#87 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#88 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#89 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#90 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#91 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#92 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#93 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#94 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#95 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#96 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#97 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#98 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#100 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#102 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#103 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#104 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#105 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#106 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#107 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#108 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#109 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#110 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#111 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#112 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#113 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#114 _invoke (dart:ui/hooks.dart:356:13)
+#115 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#116 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderInkFeatures#1340d relayoutBoundary=up40 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: _RenderInkFeatures#1340d relayoutBoundary=up40 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: RenderCustomMultiChildLayoutBox#b410d relayoutBoundary=up41 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child 1: RenderFlex#afbf5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.body
+... constraints: MISSING
+... size: MISSING
+... direction: vertical
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... verticalDirection: down
+... spacing: 0.0
+... child 1: RenderPadding#c01c9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null
+... constraints: MISSING
+... size: MISSING
+... padding: EdgeInsets.all(16.0)
+... textDirection: ltr
+... child: RenderFlex#1bb2c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... direction: vertical
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... verticalDirection: down
+... spacing: 0.0
+... child 2: RenderPositionedBox#db9f1 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.center
+... textDirection: ltr
+... widthFactor: expand
+... heightFactor: expand
+... child: RenderSemanticsAnnotations#36478 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... child 2: RenderConstrainedBox#f54ce NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.appBar
+... constraints: MISSING
+... size: MISSING
+... additionalConstraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=56.0)
+... child: RenderSemanticsAnnotations#b47fc NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... semantic boundary
+... size: MISSING
+... child: RenderAnnotatedRegion#a187c NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... child 3: RenderStack#1f202 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.floatingActionButton
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.centerRight
+... textDirection: ltr
+... fit: loose
+... child 1: RenderTransform#89b22 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... transform matrix: [0] 0.0,0.0,0.0,0.0
+[1] 0.0,0.0,0.0,0.0
+[2] 0.0,0.0,1.0,0.0
+[3] 0.0,0.0,0.0,1.0
+... origin: null
+... alignment: Alignment.center
+... textDirection: ltr
+... transformHitTests: true
+... child: RenderTransform#e0fd0 NEEDS-LAYOUT NEEDS-PAINT
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... transform matrix: [0] 0.7,0.7,0.0,0.0
+[1] -0.7,0.7,0.0,0.0
+[2] 0.0,0.0,1.0,0.0
+[3] 0.0,0.0,0.0,1.0
+... origin: null
+... alignment: Alignment.center
+... textDirection: ltr
+... transformHitTests: true
+====================================================================================================
+#0 ConditionalLogger.i (package:moonforge/core/utils/logger.dart:92:15)
+#1 BaseService.logInfo (package:moonforge/core/services/base_service.dart:12:12)
+#2 BaseService.execute (package:moonforge/core/services/base_service.dart:28:7)
+#3
+💡 [DashboardService] fetchStats completed
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderPhysicalModel object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderPhysicalModel were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Scaffold Scaffold:file:///D:/Nextcloud/04%20BruckCode/Projekte/Moonforge/moonforge/lib/features/open5e_browser/views/open5e_browser_view.dart:361:12
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#6 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#31 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#40 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#45 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#46 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#68 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#69 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#71 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#79 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#84 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#85 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#86 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#87 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#88 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#89 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#90 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#91 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#92 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#93 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#94 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#95 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#96 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#97 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#98 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#100 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#101 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#102 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#103 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#104 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#105 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#106 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#107 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#108 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#109 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#110 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#111 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#112 _invoke (dart:ui/hooks.dart:356:13)
+#113 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#114 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderPhysicalModel#bf64a relayoutBoundary=up39 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... elevation: 0.0
+... color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shape: BoxShape.rectangle
+... borderRadius: BorderRadius.zero
+RenderObject: RenderPhysicalModel#bf64a relayoutBoundary=up39 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ elevation: 0.0
+ color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+ shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+ shape: BoxShape.rectangle
+ borderRadius: BorderRadius.zero
+... child: _RenderInkFeatures#1340d relayoutBoundary=up40 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderCustomMultiChildLayoutBox#b410d relayoutBoundary=up41 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child 1: RenderFlex#afbf5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.body
+... constraints: MISSING
+... size: MISSING
+... direction: vertical
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... verticalDirection: down
+... spacing: 0.0
+... child 1: RenderPadding#c01c9 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=null; fit=null
+... constraints: MISSING
+... size: MISSING
+... padding: EdgeInsets.all(16.0)
+... textDirection: ltr
+... child 2: RenderPositionedBox#db9f1 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); flex=1; fit=FlexFit.tight
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.center
+... textDirection: ltr
+... widthFactor: expand
+... heightFactor: expand
+... child 2: RenderConstrainedBox#f54ce NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.appBar
+... constraints: MISSING
+... size: MISSING
+... additionalConstraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=56.0)
+... child: RenderSemanticsAnnotations#b47fc NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... semantic boundary
+... size: MISSING
+... child 3: RenderStack#1f202 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.floatingActionButton
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.centerRight
+... textDirection: ltr
+... fit: loose
+... child 1: RenderTransform#89b22 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... transform matrix: [0] 0.0,0.0,0.0,0.0
+[1] 0.0,0.0,0.0,0.0
+[2] 0.0,0.0,1.0,0.0
+[3] 0.0,0.0,0.0,1.0
+... origin: null
+... alignment: Alignment.center
+... textDirection: ltr
+... transformHitTests: true
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderSemanticsAnnotations object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderSemanticsAnnotations were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#23 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#28 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#33 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#34 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#35 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#42 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#43 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#62 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#63 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#64 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#73 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#75 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#76 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#79 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#81 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#84 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#85 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#86 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#87 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#88 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#89 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#90 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#91 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#92 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#93 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#95 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#96 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#97 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#98 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#100 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#101 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#102 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#103 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#104 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#105 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#106 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#107 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#108 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#109 _invoke (dart:ui/hooks.dart:356:13)
+#110 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#111 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderSemanticsAnnotations#149f2 relayoutBoundary=up38 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: RenderSemanticsAnnotations#149f2 relayoutBoundary=up38 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: RenderPhysicalModel#bf64a relayoutBoundary=up39 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... elevation: 0.0
+... color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shape: BoxShape.rectangle
+... borderRadius: BorderRadius.zero
+... child: _RenderInkFeatures#1340d relayoutBoundary=up40 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderCustomMultiChildLayoutBox#b410d relayoutBoundary=up41 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child 1: RenderFlex#afbf5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.body
+... constraints: MISSING
+... size: MISSING
+... direction: vertical
+... mainAxisAlignment: start
+... mainAxisSize: max
+... crossAxisAlignment: center
+... verticalDirection: down
+... spacing: 0.0
+... child 2: RenderConstrainedBox#f54ce NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.appBar
+... constraints: MISSING
+... size: MISSING
+... additionalConstraints: BoxConstraints(0.0<=w<=Infinity, 0.0<=h<=56.0)
+... child 3: RenderStack#1f202 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: offset=Offset(0.0, 0.0); id=_ScaffoldSlot.floatingActionButton
+... constraints: MISSING
+... size: MISSING
+... alignment: Alignment.centerRight
+... textDirection: ltr
+... fit: loose
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderRepaintBoundary object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderRepaintBoundary were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#26 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#33 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#40 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#41 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#62 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#73 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#74 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#75 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#79 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#82 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#83 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#84 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#85 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#86 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#87 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#88 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#89 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#90 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#91 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#93 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#95 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#96 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#97 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#98 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#99 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#100 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#101 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#102 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#103 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#104 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#105 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#106 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#107 _invoke (dart:ui/hooks.dart:356:13)
+#108 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#109 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderRepaintBoundary#90593 relayoutBoundary=up37 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+RenderObject: RenderRepaintBoundary#90593 relayoutBoundary=up37 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ needs compositing
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ usefulness ratio: no metrics collected yet (never painted)
+... child: RenderSemanticsAnnotations#149f2 relayoutBoundary=up38 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderPhysicalModel#bf64a relayoutBoundary=up39 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... elevation: 0.0
+... color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shape: BoxShape.rectangle
+... borderRadius: BorderRadius.zero
+... child: _RenderInkFeatures#1340d relayoutBoundary=up40 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderCustomMultiChildLayoutBox#b410d relayoutBoundary=up41 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderIgnorePointer object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderIgnorePointer were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#24 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#38 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#39 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#60 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#72 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#73 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#75 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#77 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#79 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#80 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#81 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#84 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#85 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#86 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#87 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#88 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#89 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#90 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#91 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#92 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#93 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#94 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#95 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#96 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#97 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#98 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#99 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#100 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#101 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#102 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#103 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#104 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#105 _invoke (dart:ui/hooks.dart:356:13)
+#106 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#107 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderIgnorePointer#e4bc5 relayoutBoundary=up36 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+RenderObject: RenderIgnorePointer#e4bc5 relayoutBoundary=up36 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ ignoring: false
+ ignoringSemantics: null
+... child: RenderRepaintBoundary#90593 relayoutBoundary=up37 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... child: RenderSemanticsAnnotations#149f2 relayoutBoundary=up38 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderPhysicalModel#bf64a relayoutBoundary=up39 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... elevation: 0.0
+... color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shape: BoxShape.rectangle
+... borderRadius: BorderRadius.zero
+... child: _RenderInkFeatures#1340d relayoutBoundary=up40 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderSnapshotWidget object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderSnapshotWidget were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#22 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#36 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#37 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#58 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#71 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#73 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#74 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#75 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#77 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#78 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#79 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#84 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#85 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#86 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#87 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#89 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#90 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#91 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#92 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#93 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#94 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#95 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#96 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#97 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#98 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#99 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#100 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#101 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#102 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#103 _invoke (dart:ui/hooks.dart:356:13)
+#104 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#105 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderSnapshotWidget#42be5 relayoutBoundary=up35 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: _RenderSnapshotWidget#42be5 relayoutBoundary=up35 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: RenderIgnorePointer#e4bc5 relayoutBoundary=up36 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderRepaintBoundary#90593 relayoutBoundary=up37 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... child: RenderSemanticsAnnotations#149f2 relayoutBoundary=up38 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderPhysicalModel#bf64a relayoutBoundary=up39 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... elevation: 0.0
+... color: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shadowColor: Color(alpha: 1.0000, red: 0.0902, green: 0.0706, blue: 0.0863, colorSpace: ColorSpace.sRGB)
+... shape: BoxShape.rectangle
+... borderRadius: BorderRadius.zero
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderSnapshotWidget object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderSnapshotWidget were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#20 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#27 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#34 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#35 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#56 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#73 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#76 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#77 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#79 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#82 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#83 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#84 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#85 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#86 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#87 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#88 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#89 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#90 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#91 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#92 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#93 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#94 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#95 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#96 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#97 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#98 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#99 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#100 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#101 _invoke (dart:ui/hooks.dart:356:13)
+#102 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#103 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderSnapshotWidget#b0a35 relayoutBoundary=up34 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: _RenderSnapshotWidget#b0a35 relayoutBoundary=up34 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#42be5 relayoutBoundary=up35 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderIgnorePointer#e4bc5 relayoutBoundary=up36 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderRepaintBoundary#90593 relayoutBoundary=up37 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... child: RenderSemanticsAnnotations#149f2 relayoutBoundary=up38 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+#3 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:178:9)
+🐛 Saved https://api.open5e.com/v2/creatures/?format=api_page_1 to storage box: open5e_cache
+#0 ConditionalLogger.e (package:moonforge/core/utils/logger.dart:118:13)
+#1 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:200:14)
+#2
+#3 BestiaryProvider._loadCachedData (package:moonforge/core/providers/bestiary_provider.dart:39:24)
+⛔ Failed to fetch from Open5e: FormatException: Unexpected character (at line 5, character 1)
+⛔
+⛔ ^
+⛔
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderSnapshotWidget object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderSnapshotWidget were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#18 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#25 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#32 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#33 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#74 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#75 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#77 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#78 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#79 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#80 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#81 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#82 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#83 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#84 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#85 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#86 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#87 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#88 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#89 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#90 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#91 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#92 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#93 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#94 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#95 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#96 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#97 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#98 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#99 _invoke (dart:ui/hooks.dart:356:13)
+#100 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#101 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderSnapshotWidget#0be80 relayoutBoundary=up33 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: _RenderSnapshotWidget#0be80 relayoutBoundary=up33 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#b0a35 relayoutBoundary=up34 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#42be5 relayoutBoundary=up35 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderIgnorePointer#e4bc5 relayoutBoundary=up36 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderRepaintBoundary#90593 relayoutBoundary=up37 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderSnapshotWidget object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderSnapshotWidget were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#16 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#23 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#30 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#31 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#71 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#72 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#73 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#76 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#77 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#78 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#79 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#80 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#81 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#82 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#83 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#84 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#85 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#86 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#87 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#88 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#89 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#90 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#91 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#92 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#93 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#94 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#95 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#96 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#97 _invoke (dart:ui/hooks.dart:356:13)
+#98 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#99 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderSnapshotWidget#a94dc relayoutBoundary=up32 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: _RenderSnapshotWidget#a94dc relayoutBoundary=up32 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#0be80 relayoutBoundary=up33 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#b0a35 relayoutBoundary=up34 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#42be5 relayoutBoundary=up35 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderIgnorePointer#e4bc5 relayoutBoundary=up36 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderRepaintBoundary object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderRepaintBoundary were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#14 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#28 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#29 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#68 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#69 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#70 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#71 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#76 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#77 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#78 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#79 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#81 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#82 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#83 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#84 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#85 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#86 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#87 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#88 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#89 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#90 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#91 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#92 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#93 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#94 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#95 _invoke (dart:ui/hooks.dart:356:13)
+#96 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#97 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderRepaintBoundary#e1319 relayoutBoundary=up31 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+RenderObject: RenderRepaintBoundary#e1319 relayoutBoundary=up31 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ needs compositing
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ usefulness ratio: no metrics collected yet (never painted)
+... child: _RenderSnapshotWidget#a94dc relayoutBoundary=up32 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#0be80 relayoutBoundary=up33 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#b0a35 relayoutBoundary=up34 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#42be5 relayoutBoundary=up35 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderSemanticsAnnotations object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderSemanticsAnnotations were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#12 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#26 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#27 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#66 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#67 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#68 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#69 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#71 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#74 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#75 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#76 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#79 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#80 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#81 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#82 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#83 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#84 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#85 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#86 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#87 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#88 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#89 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#90 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#91 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#92 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#93 _invoke (dart:ui/hooks.dart:356:13)
+#94 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#95 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderSemanticsAnnotations#aecc0 relayoutBoundary=up30 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: RenderSemanticsAnnotations#aecc0 relayoutBoundary=up30 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: RenderRepaintBoundary#e1319 relayoutBoundary=up31 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... child: _RenderSnapshotWidget#a94dc relayoutBoundary=up32 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#0be80 relayoutBoundary=up33 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#b0a35 relayoutBoundary=up34 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderOffstage object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderOffstage were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#6 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#10 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#24 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#25 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#58 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#59 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#60 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#63 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#64 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#65 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#66 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#67 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#68 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#69 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#71 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#72 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#73 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#74 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#75 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#76 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#79 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#80 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#82 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#83 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#84 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#85 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#86 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#87 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#88 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#89 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#90 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#91 _invoke (dart:ui/hooks.dart:356:13)
+#92 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#93 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderOffstage#10e96 relayoutBoundary=up29 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+RenderObject: RenderOffstage#10e96 relayoutBoundary=up29 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ offstage: false
+... child: RenderSemanticsAnnotations#aecc0 relayoutBoundary=up30 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderRepaintBoundary#e1319 relayoutBoundary=up31 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... child: _RenderSnapshotWidget#a94dc relayoutBoundary=up32 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: _RenderSnapshotWidget#0be80 relayoutBoundary=up33 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderSemanticsAnnotations object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderSemanticsAnnotations were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 _RenderTheaterMixin.layoutChild (package:flutter/src/widgets/overlay.dart:1084:13)
+#7 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1420:7)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#21 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#22 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#24 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#33 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#34 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#35 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#36 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#37 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#40 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#50 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#51 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#60 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#61 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#62 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#63 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#64 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#69 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#70 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#71 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#76 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#77 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#78 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#79 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#80 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#81 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#82 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#83 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#84 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#85 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#86 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#87 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#88 _invoke (dart:ui/hooks.dart:356:13)
+#89 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#90 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderSemanticsAnnotations#c17aa relayoutBoundary=up28 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: RenderSemanticsAnnotations#c17aa relayoutBoundary=up28 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: RenderOffstage#10e96 relayoutBoundary=up29 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... child: RenderSemanticsAnnotations#aecc0 relayoutBoundary=up30 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderRepaintBoundary#e1319 relayoutBoundary=up31 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... child: _RenderSnapshotWidget#a94dc relayoutBoundary=up32 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderTheater object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderTheater were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 _RenderTheater.performLayout (package:flutter/src/widgets/overlay.dart:1422:7)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#11 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#18 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#19 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#60 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#61 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#62 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#63 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#64 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#65 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#66 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#67 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#68 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#72 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#73 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#74 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#75 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#76 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#77 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#78 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#79 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#80 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#81 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#82 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#83 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#84 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#85 _invoke (dart:ui/hooks.dart:356:13)
+#86 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#87 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderTheater#e93ca relayoutBoundary=up27 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... skipCount: 0
+... textDirection: ltr
+RenderObject: _RenderTheater#e93ca relayoutBoundary=up27 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ skipCount: 0
+ textDirection: ltr
+... onstage 1: RenderIgnorePointer#241c5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderBlockSemantics#59afa NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... blocks semantics of earlier render objects below the common boundary
+... size: MISSING
+... blocking: true
+... child: RenderExcludeSemantics#8dfcf NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... excluding: true
+... child: RenderSemanticsGestureHandler#ab3fa NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... behavior: opaque
+... gestures:
+... onstage 2: RenderSemanticsAnnotations#c17aa relayoutBoundary=up28 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderOffstage#10e96 relayoutBoundary=up29 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... child: RenderSemanticsAnnotations#aecc0 relayoutBoundary=up30 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderRepaintBoundary#e1319 relayoutBoundary=up31 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... usefulness ratio: no metrics collected yet (never painted)
+... no offstage children
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderAbsorbPointer object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderAbsorbPointer were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#9 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#16 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#17 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#40 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#58 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#59 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#61 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#62 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#63 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#64 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#65 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#66 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#70 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#71 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#72 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#73 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#74 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#75 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#76 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#77 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#78 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#79 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#80 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#81 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#82 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#83 _invoke (dart:ui/hooks.dart:356:13)
+#84 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#85 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderAbsorbPointer#3b03d relayoutBoundary=up26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... absorbing: false
+... ignoringSemantics: null
+RenderObject: RenderAbsorbPointer#3b03d relayoutBoundary=up26 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ absorbing: false
+ ignoringSemantics: null
+... child: _RenderTheater#e93ca relayoutBoundary=up27 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... skipCount: 0
+... textDirection: ltr
+... onstage 1: RenderIgnorePointer#241c5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderBlockSemantics#59afa NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... blocks semantics of earlier render objects below the common boundary
+... size: MISSING
+... blocking: true
+... child: RenderExcludeSemantics#8dfcf NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... size: MISSING
+... excluding: true
+... onstage 2: RenderSemanticsAnnotations#c17aa relayoutBoundary=up28 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderOffstage#10e96 relayoutBoundary=up29 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... child: RenderSemanticsAnnotations#aecc0 relayoutBoundary=up30 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... no offstage children
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderPointerListener object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderPointerListener were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Navigator-[LabeledGlobalKey#ed6e7] Navigator:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/builder.dart:460:16
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#14 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#15 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#37 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#40 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#46 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#53 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#54 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#55 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#56 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#57 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#61 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#62 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#63 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#64 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#68 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#69 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#70 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#71 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#72 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#73 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#74 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#75 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#76 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#77 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#78 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#79 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#80 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#81 _invoke (dart:ui/hooks.dart:356:13)
+#82 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#83 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderPointerListener#29e3f relayoutBoundary=up25 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... behavior: deferToChild
+... listeners: down, up, cancel
+RenderObject: RenderPointerListener#29e3f relayoutBoundary=up25 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ behavior: deferToChild
+ listeners: down, up, cancel
+... child: RenderAbsorbPointer#3b03d relayoutBoundary=up26 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... absorbing: false
+... ignoringSemantics: null
+... child: _RenderTheater#e93ca relayoutBoundary=up27 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... skipCount: 0
+... textDirection: ltr
+... onstage 1: RenderIgnorePointer#241c5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderBlockSemantics#59afa NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData:
+... constraints: MISSING
+... blocks semantics of earlier render objects below the common boundary
+... size: MISSING
+... blocking: true
+... onstage 2: RenderSemanticsAnnotations#c17aa relayoutBoundary=up28 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderOffstage#10e96 relayoutBoundary=up29 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... no offstage children
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderOffstage object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderOffstage were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ Offstage Offstage:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/route.dart:1671:12
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3848:13)
+#6 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#7 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#12 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#13 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#27 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#28 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#29 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#35 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#36 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#37 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#40 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#41 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#42 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#43 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#44 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#45 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#46 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#51 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#52 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#53 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#54 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#55 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#56 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#57 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#60 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#61 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#62 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#68 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#69 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#70 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#71 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#72 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#73 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#74 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#75 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#76 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#77 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#78 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#79 _invoke (dart:ui/hooks.dart:356:13)
+#80 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#81 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderOffstage#7f2d8 relayoutBoundary=up24 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+RenderObject: RenderOffstage#7f2d8 relayoutBoundary=up24 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ offstage: false
+... child: RenderPointerListener#29e3f relayoutBoundary=up25 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... behavior: deferToChild
+... listeners: down, up, cancel
+... child: RenderAbsorbPointer#3b03d relayoutBoundary=up26 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... absorbing: false
+... ignoringSemantics: null
+... child: _RenderTheater#e93ca relayoutBoundary=up27 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... skipCount: 0
+... textDirection: ltr
+... onstage 1: RenderIgnorePointer#241c5 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0)
+... constraints: MISSING
+... size: MISSING
+... ignoring: false
+... ignoringSemantics: null
+... onstage 2: RenderSemanticsAnnotations#c17aa relayoutBoundary=up28 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... no offstage children
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+RenderIgnorePointer object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the RenderIgnorePointer were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ IndexedStack IndexedStack:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/route.dart:1663:12
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#7 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#8 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#9 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#10 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#48 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#49 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#50 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#51 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#52 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#57 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#58 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#59 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#62 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#63 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#64 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#65 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#66 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#67 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#68 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#69 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#70 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#71 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#72 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#73 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#74 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#75 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#76 _invoke (dart:ui/hooks.dart:356:13)
+#77 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#78 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: RenderIgnorePointer#51c8f relayoutBoundary=up23 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+RenderObject: RenderIgnorePointer#51c8f relayoutBoundary=up23 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+ ignoring: false
+ ignoringSemantics: null
+... child: RenderOffstage#7f2d8 relayoutBoundary=up24 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... child: RenderPointerListener#29e3f relayoutBoundary=up25 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... behavior: deferToChild
+... listeners: down, up, cancel
+... child: RenderAbsorbPointer#3b03d relayoutBoundary=up26 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... absorbing: false
+... ignoringSemantics: null
+... child: _RenderTheater#e93ca relayoutBoundary=up27 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... skipCount: 0
+... textDirection: ltr
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+_RenderVisibility object was given an infinite size during layout.
+
+This probably means that it is a render object that tries to be as big as possible, but it was put inside another render object that allows its children to pick their own size.
+The nearest ancestor providing an unbounded height constraint is: _RenderSingleChildViewport#9527a relayoutBoundary=up19 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 0.0<=h<=655.0)
+... size: MISSING
+... offset: Offset(0.0, -0.0)
+The constraints that applied to the _RenderVisibility were: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+The exact size it was given was: Size(964.0, Infinity)
+
+See https://flutter.dev/to/unbounded-constraints for more information.
+
+The relevant error-causing widget was:
+ IndexedStack IndexedStack:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/route.dart:1663:12
+When the exception was thrown, this was the stack:
+#0 RenderBox.debugAssertDoesMeetConstraints. (package:flutter/src/rendering/box.dart:2620:9)
+#1 RenderBox.debugAssertDoesMeetConstraints (package:flutter/src/rendering/box.dart:2771:6)
+#2 RenderBox.size=. (package:flutter/src/rendering/box.dart:2363:7)
+#3 RenderBox.size= (package:flutter/src/rendering/box.dart:2365:6)
+#4 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:114:5)
+#5 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#6 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#7 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:645:43)
+#8 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#9 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#10 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#11 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#12 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#13 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#14 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#15 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#16 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#18 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#19 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#20 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#21 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#24 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#30 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#33 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#34 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#35 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#36 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#37 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#38 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#39 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#40 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#41 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#44 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#45 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#46 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#47 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#48 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#49 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#50 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#51 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#52 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#55 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#56 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#57 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#60 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#61 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#62 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#63 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#64 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#65 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#66 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#67 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#68 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#69 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#70 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#71 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#72 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#73 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#74 _invoke (dart:ui/hooks.dart:356:13)
+#75 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#76 _drawFrame (dart:ui/hooks.dart:328:31)
+The following RenderObject was being processed when the exception was fired: _RenderVisibility#5b9bb relayoutBoundary=up22 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+RenderObject: _RenderVisibility#5b9bb relayoutBoundary=up22 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+ constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+ size: Size(964.0, Infinity)
+... child: RenderIgnorePointer#51c8f relayoutBoundary=up23 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderOffstage#7f2d8 relayoutBoundary=up24 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... child: RenderPointerListener#29e3f relayoutBoundary=up25 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... behavior: deferToChild
+... listeners: down, up, cancel
+... child: RenderAbsorbPointer#3b03d relayoutBoundary=up26 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... absorbing: false
+... ignoringSemantics: null
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during performLayout():
+A Stack requires bounded constraints from its parent. This error commonly occurs when a Stack is placed inside a widget like Column, ListView, or other widgets that do not constrain their children. To fix this, wrap the Stack in a widget that provides finite height and width constraints, such as a SizedBox or ConstrainedBox. Use Expanded only if the parent is a Flex widget like Row or Column.
+'package:flutter/src/rendering/stack.dart':
+Failed assertion: line 664 pos 7: 'size.isFinite'
+
+
+Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
+In either case, please report this assertion by filing a bug on GitHub:
+ https://github.com/flutter/flutter/issues/new?template=02_bug.yml
+
+The relevant error-causing widget was:
+ IndexedStack IndexedStack:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/go_router-16.3.0/lib/src/route.dart:1663:12
+When the exception was thrown, this was the stack:
+#2 RenderStack._computeSize (package:flutter/src/rendering/stack.dart:664:7)
+#3 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:680:12)
+#4 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#5 RenderConstrainedBox.performLayout (package:flutter/src/rendering/proxy_box.dart:293:14)
+#6 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#7 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:502:14)
+#8 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#9 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#10 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#11 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#12 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#13 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#14 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#15 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#16 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#17 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#18 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#21 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#22 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#23 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#24 RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:574:11)
+#25 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#26 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#27 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#30 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#31 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#32 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#33 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#34 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#35 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#36 _RenderLayoutBuilder.performLayout (package:flutter/src/widgets/layout_builder.dart:450:14)
+#37 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#38 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#39 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#40 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#41 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#42 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#43 ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:62:11)
+#44 RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:1203:26)
+#45 RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:1257:32)
+#46 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#47 RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:243:12)
+#48 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#49 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:180:12)
+#50 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1112:7)
+#51 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:249:7)
+#52 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:420:14)
+#53 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#54 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#55 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#56 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#57 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1481:11)
+#58 RenderObject.layout (package:flutter/src/rendering/object.dart:2775:7)
+#59 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:115:18)
+#60 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2623:7)
+#61 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1170:18)
+#62 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1183:15)
+#63 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:629:23)
+#64 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:1264:13)
+#65 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:495:5)
+#66 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1434:15)
+#67 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1347:9)
+#68 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:5)
+#69 _invoke (dart:ui/hooks.dart:356:13)
+#70 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:444:5)
+#71 _drawFrame (dart:ui/hooks.dart:328:31)
+(elided 2 frames from class _AssertionError)
+The following RenderObject was being processed when the exception was fired: RenderIndexedStack#5e5cf relayoutBoundary=up21 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(w=964.0, 655.0<=h<=Infinity)
+... size: Size(964.0, 655.0)
+... alignment: AlignmentDirectional.topStart
+... textDirection: ltr
+... fit: loose
+... index: 3
+RenderObject: RenderIndexedStack#5e5cf relayoutBoundary=up21 NEEDS-LAYOUT NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+ needs compositing
+ parentData: (can use size)
+ constraints: BoxConstraints(w=964.0, 655.0<=h<=Infinity)
+ size: Size(964.0, 655.0)
+ alignment: AlignmentDirectional.topStart
+ textDirection: ltr
+ fit: loose
+ index: 3
+... child 1: _RenderVisibility#4dcc3 relayoutBoundary=up22 NEEDS-PAINT
+... needs compositing
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... child: RenderIgnorePointer#99e30 relayoutBoundary=up23 NEEDS-PAINT
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderOffstage#0304a NEEDS-PAINT
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... offstage: true
+... child: RenderPointerListener#11ae2 NEEDS-PAINT
+... needs compositing
+... parentData:
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, 496.0)
+... behavior: deferToChild
+... listeners: down, up, cancel
+... child 2: _RenderVisibility#0341d relayoutBoundary=up22 NEEDS-PAINT
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... child: RenderIgnorePointer#91c9a relayoutBoundary=up23 NEEDS-PAINT
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderOffstage#de3a4 NEEDS-PAINT
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... offstage: true
+... child: RenderConstrainedBox#c4ff4 NEEDS-PAINT
+... parentData:
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... additionalConstraints: BoxConstraints(w=0.0, h=0.0)
+... child 3: _RenderVisibility#708b4 relayoutBoundary=up22 NEEDS-PAINT
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... child: RenderIgnorePointer#32bc8 relayoutBoundary=up23 NEEDS-PAINT
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderOffstage#d8c3c NEEDS-PAINT
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... offstage: true
+... child: RenderConstrainedBox#a92d4 NEEDS-PAINT
+... parentData:
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... additionalConstraints: BoxConstraints(w=0.0, h=0.0)
+... child 4: _RenderVisibility#5b9bb relayoutBoundary=up22 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... child: RenderIgnorePointer#51c8f relayoutBoundary=up23 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderOffstage#7f2d8 relayoutBoundary=up24 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... offstage: false
+... child: RenderPointerListener#29e3f relayoutBoundary=up25 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(964.0, Infinity)
+... behavior: deferToChild
+... listeners: down, up, cancel
+... child 5: _RenderVisibility#408fe relayoutBoundary=up22 NEEDS-PAINT
+... parentData: not positioned; offset=Offset(0.0, 0.0) (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... child: RenderIgnorePointer#135cc relayoutBoundary=up23 NEEDS-PAINT
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... ignoring: false
+... ignoringSemantics: null
+... child: RenderOffstage#05a31 NEEDS-PAINT
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... offstage: true
+... child: RenderConstrainedBox#98334 NEEDS-PAINT
+... parentData:
+... constraints: BoxConstraints(0.0<=w<=964.0, 0.0<=h<=Infinity)
+... size: Size(0.0, 0.0)
+... additionalConstraints: BoxConstraints(w=0.0, h=0.0)
+====================================================================================================
+
+======== Exception caught by rendering library =====================================================
+The following assertion was thrown during layout:
+A RenderFlex overflowed by 81 pixels on the right.
+
+The relevant error-causing widget was:
+ Row Row:file:///C:/Users/emily/AppData/Local/Pub/Cache/hosted/pub.dev/button_group_m3e-0.3.1/lib/src/button_group_m3e_widget.dart:479:24
+: To inspect this widget in Flutter DevTools, visit: http://127.0.0.1:9100/#/inspector?uri=http%3A%2F%2F127.0.0.1%3A62183%2FTEQGxANBOW4%3D%2F&inspectorRef=inspector-468
+The overflowing RenderFlex has an orientation of Axis.horizontal.
+The edge of the RenderFlex that is overflowing has been marked in the rendering with a yellow and black striped pattern. This is usually caused by the contents being too big for the RenderFlex.
+
+Consider applying a flex factor (e.g. using an Expanded widget) to force the children of the RenderFlex to fit within the available space instead of being sized to their natural size.
+This is considered an error condition because it indicates that there is content that cannot be seen. If the content is legitimately bigger than the available space, consider clipping it with a ClipRect widget before putting it in the flex, or using a scrollable container rather than a Flex, like a ListView.
+
+The specific RenderFlex in question is: RenderFlex#77491 relayoutBoundary=up9 OVERFLOWING
+... needs compositing
+... parentData: (can use size)
+... constraints: BoxConstraints(0.0<=w<=393.0, 0.0<=h<=56.0)
+... size: Size(393.0, 40.0)
+... direction: horizontal
+... mainAxisAlignment: end
+... mainAxisSize: max
+... crossAxisAlignment: center
+... textDirection: ltr
+... verticalDirection: down
+... spacing: 0.0
+◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
+====================================================================================================
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+#3 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:178:9)
+🐛 Saved https://api.open5e.com/v2/creatures/?format=api_page_1 to storage box: open5e_cache
+#0 ConditionalLogger.e (package:moonforge/core/utils/logger.dart:118:13)
+#1 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:200:14)
+#2
+#3 BestiaryProvider._loadCachedData (package:moonforge/core/providers/bestiary_provider.dart:39:24)
+⛔ Failed to fetch from Open5e: FormatException: Unexpected character (at line 5, character 1)
+⛔
+⛔ ^
+⛔
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+#3 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:178:9)
+🐛 Saved https://api.open5e.com/v2/creatures/?format=api_page_1 to storage box: open5e_cache
+#0 ConditionalLogger.e (package:moonforge/core/utils/logger.dart:118:13)
+#1 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:200:14)
+#2
+#3 BestiaryProvider._loadCachedData (package:moonforge/core/providers/bestiary_provider.dart:39:24)
+⛔ Failed to fetch from Open5e: FormatException: Unexpected character (at line 5, character 1)
+⛔
+⛔ ^
+⛔
+#0 ConditionalLogger.d (package:moonforge/core/utils/logger.dart:79:15)
+#1 PersistenceService.write (package:moonforge/core/services/persistence_service.dart:62:14)
+#2
+#3 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:178:9)
+🐛 Saved https://api.open5e.com/v2/creatures/?format=api_page_1_limit_50_gs_5e-2024 to storage box: open5e_cache
+#0 ConditionalLogger.e (package:moonforge/core/utils/logger.dart:118:13)
+#1 Open5eClient.fetchList (package:moonforge/core/services/open5e/open5e_service_v2.dart:200:14)
+#2
+#3 _Open5eBrowserViewState._loadData (package:moonforge/features/open5e_browser/views/open5e_browser_view.dart:137:22)
+⛔ Failed to fetch from Open5e: FormatException: Unexpected character (at line 5, character 1)
+⛔
+⛔ ^
+⛔
diff --git a/moonforge/lib/core/providers/bestiary_provider.dart b/moonforge/lib/core/providers/bestiary_provider.dart
index a6b13f83..f733f382 100644
--- a/moonforge/lib/core/providers/bestiary_provider.dart
+++ b/moonforge/lib/core/providers/bestiary_provider.dart
@@ -1,24 +1,22 @@
import 'package:moonforge/core/models/async_state.dart';
import 'package:moonforge/core/providers/base_async_provider.dart';
-import 'package:moonforge/core/services/bestiary_service.dart';
+import 'package:moonforge/core/services/open5e/index.dart';
import 'package:moonforge/core/services/persistence_service.dart';
import 'package:moonforge/core/utils/logger.dart';
-import 'package:moonforge/data/models/monster.dart';
-/// Provider for managing bestiary data
-class BestiaryProvider extends BaseAsyncProvider> {
- final BestiaryService _bestiaryService;
+/// Provider for managing bestiary data using Open5e API v2
+class BestiaryProvider extends BaseAsyncProvider> {
+ final Open5eService _open5eService;
DateTime? _lastSync;
- BestiaryProvider({BestiaryService? bestiaryService})
- : _bestiaryService =
- bestiaryService ?? BestiaryService(PersistenceService()) {
+ BestiaryProvider({Open5eService? open5eService})
+ : _open5eService = open5eService ?? Open5eService(PersistenceService()) {
// Load cached data on initialization
_loadCachedData();
}
- /// Get all monsters
- List get monsters => state.dataOrNull ?? const [];
+ /// Get all creatures
+ List get creatures => state.dataOrNull ?? const [];
/// Check if data is currently loading
bool get isLoading => state.isLoading;
@@ -32,39 +30,53 @@ class BestiaryProvider extends BaseAsyncProvider> {
/// Get last sync timestamp
DateTime? get lastSync => _lastSync;
- /// Check if data is cached locally
- bool get isCached => _bestiaryService.isCached();
+ /// Check if we have attempted to load data (not necessarily that cache exists)
+ bool get hasLoadedData => creatures.isNotEmpty || _lastSync != null;
/// Load cached data without triggering sync
Future _loadCachedData() async {
- if (!_bestiaryService.isCached()) return;
-
try {
- final cached = await _bestiaryService.getAll(ensureFresh: false);
- updateState(AsyncState.data(cached));
- _lastSync = _bestiaryService.getLastSyncTime();
+ final response = await _open5eService.getCreatures(
+ options: Open5eQueryOptions(page: 1),
+ useCache: true,
+ );
+
+ if (response != null && response.results.isNotEmpty) {
+ updateState(AsyncState.data(response.results));
+ _lastSync = DateTime.now();
+ }
} catch (e) {
- // Silent failure is acceptable for cached data loading during initialization
- // The user can still trigger a manual load later
- logger.d('Failed to load cached bestiary data during initialization: $e');
+ // If cache is corrupted, clear it and continue
+ logger.d('Failed to load cached bestiary data, clearing cache: $e',
+ context: LogContext.network);
+ // Clear potentially corrupted cache
+ try {
+ await clearCache();
+ } catch (clearError) {
+ logger.w('Failed to clear cache: $clearError',
+ context: LogContext.database);
+ }
}
}
- /// Load monsters with optional fresh sync
- Future loadMonsters({bool forceSync = false}) async {
+ /// Load creatures with optional query options
+ Future loadCreatures({
+ Open5eQueryOptions? options,
+ bool forceSync = false,
+ }) async {
updateState(const AsyncState.loading());
try {
- if (forceSync) {
- final success = await _bestiaryService.forceSync();
- if (!success) {
- updateState(const AsyncState.error('Failed to sync bestiary data'));
- return;
- }
- }
+ final response = await _open5eService.getCreatures(
+ options: options ?? Open5eQueryOptions(page: 1),
+ useCache: !forceSync,
+ );
- final monsters = await _bestiaryService.getAll(ensureFresh: !forceSync);
- updateState(AsyncState.data(monsters));
- _lastSync = _bestiaryService.getLastSyncTime();
+ if (response != null) {
+ updateState(AsyncState.data(response.results));
+ _lastSync = DateTime.now();
+ } else {
+ updateState(const AsyncState.error('Failed to load creatures'));
+ }
} catch (e, st) {
updateState(AsyncState.error(e, st));
} finally {
@@ -74,19 +86,19 @@ class BestiaryProvider extends BaseAsyncProvider> {
}
}
- /// Get a specific monster by name
- Future getMonsterByName(String name) {
- return _bestiaryService.getByName(name);
+ /// Get a specific creature by key
+ Future getCreatureByKey(String key) {
+ return _open5eService.getCreatureByKey(key);
}
/// Force refresh from remote
Future refresh() async {
- await loadMonsters(forceSync: true);
+ await loadCreatures(forceSync: true);
}
/// Clear cached data
Future clearCache() async {
- await _bestiaryService.clearCache();
+ await _open5eService.clearCache();
reset();
_lastSync = null;
}
diff --git a/moonforge/lib/core/repositories/menu_registry.dart b/moonforge/lib/core/repositories/menu_registry.dart
index a66ed90f..54fae323 100644
--- a/moonforge/lib/core/repositories/menu_registry.dart
+++ b/moonforge/lib/core/repositories/menu_registry.dart
@@ -156,7 +156,7 @@ class MenuRegistry {
// Read last visited route from persistence
final persistenceService = PersistenceService();
final lastRoute = persistenceService.read('last_visited_route');
-
+
if (lastRoute != null && lastRoute.isNotEmpty) {
// Navigate to the persisted route
ctx.go(lastRoute);
diff --git a/moonforge/lib/core/services/bestiary_service.dart b/moonforge/lib/core/services/bestiary_service.dart
deleted file mode 100644
index 356621f9..00000000
--- a/moonforge/lib/core/services/bestiary_service.dart
+++ /dev/null
@@ -1,344 +0,0 @@
-import 'dart:convert';
-
-import 'package:http/http.dart' show Client;
-import 'package:moonforge/core/services/persistence_service.dart';
-import 'package:moonforge/core/utils/logger.dart';
-import 'package:moonforge/data/models/monster.dart';
-
-/// Service for managing DND 5e bestiary data via Open5e with local caching
-class BestiaryService {
- static const String _base = 'https://api.open5e.com';
- static const String _monstersEndpoint = 'https://api.open5e.com/v1/monsters/';
- static const String _apiRootManifest = 'https://api.open5e.com/?format=json';
-
- static const String _boxName = 'bestiary';
- static const String _manifestKey =
- 'open5e_manifest_json'; // stores monsters page/manifest (results)
- static const String _apiManifestKey =
- 'open5e_api_manifest_json'; // stores api root mapping
-
- final PersistenceService _persistence;
- final Duration staleThreshold;
- final Client _client;
-
- BestiaryService(
- this._persistence, {
- this.staleThreshold = const Duration(hours: 24),
- Client? httpClient,
- }) : _client = httpClient ?? Client();
-
- /// Get monsters (all pages by default). If page is provided, returns single page.
- /// If ensureFresh is true a background sync may be triggered when data is stale.
- Future> getAll({
- bool ensureFresh = true,
- int? page,
- int? pageSize,
- }) async {
- // If specific page requested, try to fetch that page and return results
- if (page != null) {
- final key = _listCacheKey(page, pageSize);
- final cached = _persistence.read(key, boxName: _boxName);
- if (cached != null) {
- if (ensureFresh) _maybeBackgroundSync();
- return _parseMonstersFromBody(cached);
- }
-
- final success = await _fetchMonstersPageAndStore(
- page: page,
- pageSize: pageSize,
- );
- if (!success) return [];
- final stored = _persistence.read(key, boxName: _boxName);
- if (stored == null) return [];
- return _parseMonstersFromBody(stored);
- }
-
- // No page requested: try to return cached manifest list if we have one
- final cached = _persistence.read(_manifestKey, boxName: _boxName);
- if (cached != null) {
- if (ensureFresh) _maybeBackgroundSync();
- final decoded = jsonDecode(cached);
- if (decoded is Map && decoded.containsKey('results')) {
- final results = decoded['results'] as List;
- return results
- .whereType