debugging, comments
diff --git a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart
index c7e94c3..527815f 100644
--- a/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart
+++ b/engine/src/flutter/lib/web_ui/test/engine/semantics/semantics_test.dart
@@ -125,6 +125,7 @@
 }
 
 void _testSemanticRole() {
+  // This should work too with an input
   test('Sets id and flt-semantics-identifier on the element', () {
     semantics()
       ..debugOverrideTimestampFunction(() => _testTime)
@@ -1244,6 +1245,7 @@
     semantics().semanticsEnabled = false;
   });
 
+  // BARTEK: this seems suspicious
   test('container can be opaque if it is a text field', () async {
     semantics()
       ..debugOverrideTimestampFunction(() => _testTime)
@@ -1259,6 +1261,8 @@
     updateNode(builder, id: 1);
     updateNode(builder, id: 2);
 
+    // FIXME: bartekpacia: Why is there no <sem> around <input>?
+
     owner().updateSemantics(builder.build());
     expectSemanticsTree(owner(), '''
 <sem>
diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart
index d05106f..1af7318 100644
--- a/packages/flutter/lib/src/rendering/object.dart
+++ b/packages/flutter/lib/src/rendering/object.dart
@@ -1357,6 +1357,8 @@
   ///
   /// See [RendererBinding] for an example of how this function is used.
   void flushSemantics() {
+    print('BARTEK: flushSemantics()');
+
     if (_semanticsOwner == null) {
       return;
     }
@@ -3726,6 +3728,8 @@
   /// [RenderObject] as annotated by [describeSemanticsConfiguration] changes in
   /// any way to update the semantics tree.
   void markNeedsSemanticsUpdate() {
+    print('RenderObject.markNeedsSemanticsUpdate()');
+
     assert(!_debugDisposed);
     assert(!attached || !owner!._debugDoingSemantics);
     if (!attached || owner!._semanticsOwner == null) {
@@ -3799,7 +3803,9 @@
 
   /// Updates the semantic information of the render object.
   void _updateSemantics() {  // BARTEK: 2
-    assert(_semanticsConfiguration.isSemanticBoundary || semanticsParent == null);
+    print('RenderObject._updateSemantics()');
+    assert(_semanticsConfiguration.isSemanticBoundary || semanticsParent == null); 
+
     if (_needsLayout) {
       // There's not enough information in this subtree to compute semantics.
       // The subtree is probably being kept alive by a viewport but not laid out.
@@ -4034,8 +4040,13 @@
     SemanticsConfiguration config,
     Iterable<SemanticsNode> children,
   ) {
+    SemanticsNode? root = node;
+    while (root?.parent != null) {
+      root = root?.parent;
+    }
     assert(node == _semantics);
     // TODO(a14n): remove the following cast by updating type of parameter in either updateWith or assembleSemanticsNode
+    print('BARTEK: RenderObject.assembleSemanticsNode()');
     node.updateWith(config: config, childrenInInversePaintOrder: children as List<SemanticsNode>);
   }
 
diff --git a/packages/flutter/lib/src/rendering/view.dart b/packages/flutter/lib/src/rendering/view.dart
index 5662b45..a597525 100644
--- a/packages/flutter/lib/src/rendering/view.dart
+++ b/packages/flutter/lib/src/rendering/view.dart
@@ -383,6 +383,7 @@
   /// A [ui.SemanticsUpdate] is produced by a [SemanticsOwner] during the
   /// [EnginePhase.flushSemantics] phase.
   void updateSemantics(ui.SemanticsUpdate update) {
+    print('RenderView.updateSemantics($update)');
     _view.updateSemantics(update);
   }