Repository: flutter
Issue: Refactor SemanticsUpdateBuilder.updateNode to support defaults
Labels: team,engine,a: accessibility,P2,team-engine,triaged-engine

[SemanticsUpdateBuilder.updateNode()](https://github.com/flutter/engine/blob/48d7091649fe975122ce30478f2fc71def298cd5/lib/ui/semantics.dart#L691) currently expects that all of its parameters be set despite the fact that it's not a native call. We should consider applying most of the defaulting we do in [`lib/src/semantics/semantics.dart`](https://github.com/flutter/flutter/blob/1d407de925c395e8e4e8712fb2f4f90712702600/packages/flutter/lib/src/semantics/semantics.dart#L2063) on the dart:ui side.

Current updateNode definition:
```
  void updateNode({
    /*required*/ int/*!*/ id,
    /*required*/ int/*!*/ flags,
    /*required*/ int/*!*/ actions,
    /*required*/ int/*!*/ maxValueLength,
    /*required*/ int/*!*/ currentValueLength,
    /*required*/ int/*!*/ textSelectionBase,
    /*required*/ int/*!*/ textSelectionExtent,
    /*required*/ int/*!*/ platformViewId,
    /*required*/ int/*!*/ scrollChildren,
    /*required*/ int/*!*/ scrollIndex,
    /*required*/ double/*!*/ scrollPosition,
    /*required*/ double/*!*/ scrollExtentMax,
    /*required*/ double/*!*/ scrollExtentMin,
    /*required*/ double/*!*/ elevation,
    /*required*/ double/*!*/ thickness,
    /*required*/ Rect/*!*/ rect,
    /*required*/ String/*!*/ label,
    /*required*/ String/*!*/ hint,
    /*required*/ String/*!*/ value,
    /*required*/ String/*!*/ increasedValue,
    /*required*/ String/*!*/ decreasedValue,
    TextDirection/*?*/ textDirection,
    /*required*/ Float64List/*!*/ transform,
    /*required*/ Int32List/*!*/ childrenInTraversalOrder,
    /*required*/ Int32List/*!*/ childrenInHitTestOrder,
    /*required*/ Int32List/*!*/ additionalActions,
  }) {
```

Current framework defaulting at the call site:
```
    builder.updateNode(
      id: id,
      flags: data.flags,
      actions: data.actions,
      rect: data.rect,
      label: data.label,
      value: data.value,
      decreasedValue: data.decreasedValue,
      increasedValue: data.increasedValue,
      hint: data.hint,
      textDirection: data.textDirection,
      textSelectionBase: data.textSelection != null ? data.textSelection.baseOffset : -1,
      textSelectionExtent: data.textSelection != null ? data.textSelection.extentOffset : -1,
      platformViewId: data.platformViewId ?? -1,
      maxValueLength: data.maxValueLength ?? -1,
      currentValueLength: data.currentValueLength ?? -1,
      scrollChildren: data.scrollChildCount ?? 0,
      scrollIndex: data.scrollIndex ?? 0 ,
      scrollPosition: data.scrollPosition ?? double.nan,
      scrollExtentMax: data.scrollExtentMax ?? double.nan,
      scrollExtentMin: data.scrollExtentMin ?? double.nan,
      transform: data.transform?.storage ?? _kIdentityTransform,
      elevation: data.elevation,
      thickness: data.thickness,
      childrenInTraversalOrder: childrenInTraversalOrder,
      childrenInHitTestOrder: childrenInHitTestOrder,
      additionalActions: customSemanticsActionIds ?? _kEmptyCustomSemanticsActionsList,
    );
```