Skip to content

Add Docs around A2UI usage#910

Open
KetanReddy wants to merge 2 commits into
bugfix/a2ui-validationsfrom
a2ui-docs
Open

Add Docs around A2UI usage#910
KetanReddy wants to merge 2 commits into
bugfix/a2ui-validationsfrom
a2ui-docs

Conversation

@KetanReddy

Copy link
Copy Markdown
Member

Change Type (required)

Indicate the type of change your pull request is:

  • patch
  • minor
  • major
  • N/A

Does your PR have any documentation updates?

  • Updated docs
  • No Update needed
  • Unable to update docs

Release Notes

Add basic docs around how to use A2UI with Player

@intuit-svc

intuit-svc commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Benchmark Results

Comparison against baseline from main. ⚠️ = regression (>10% slower), ✅ = improvement (>5% faster)

core/player ⚠️

Benchmark Current Baseline Change
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.bar 847.24K ops/s 498.13K ops/s +70.1% ✅
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets.1.name 535.08K ops/s 298.47K ops/s +79.3% ✅
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets.01.name 522.77K ops/s 322.55K ops/s +62.1% ✅
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets['01'].name 455.30K ops/s 433.46K ops/s +5.0% ✅
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets[01].name 461.05K ops/s 433.53K ops/s +6.3% ✅
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets[name = "frodo"].type 293.20K ops/s 264.95K ops/s +10.7% ✅
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets["name" = "sprinkles"].type 230.25K ops/s 224.33K ops/s +2.6%
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets["isDog" = false].type 270.55K ops/s 275.54K ops/s -1.8%
core/player/src/binding/__tests__/parser.bench.ts > parser benchmarks > Resolving binding: foo.pets["isDog" = true].type 297.08K ops/s 293.98K ops/s +1.1%
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.bar 535.09K ops/s 606.45K ops/s -11.8% ⚠️
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets.1.name 379.24K ops/s 397.22K ops/s -4.5%
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets.01.name 388.64K ops/s 388.79K ops/s -0.0%
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets['01'].name 358.90K ops/s 342.25K ops/s +4.9%
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets[01].name 381.27K ops/s 290.56K ops/s +31.2% ✅
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets[name = "frodo"].type 245.81K ops/s 197.83K ops/s +24.3% ✅
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets["name" = "sprinkles"].type 195.47K ops/s 134.56K ops/s +45.3% ✅
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets["isDog" = false].type 232.41K ops/s 188.71K ops/s +23.2% ✅
core/player/src/binding/__tests__/parser.bench.ts > binding creation benchmarks > Resolving binding: foo.pets["isDog" = true].type 251.61K ops/s 209.10K ops/s +20.3% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = 1 + 3 (sync) 448.25K ops/s 360.37K ops/s +24.4% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = 1 + 3 (async) 368.51K ops/s 302.45K ops/s +21.8% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: conditional(true, true, false) (sync) 493.01K ops/s 299.54K ops/s +64.6% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: conditional(true, true, false) (async) 401.52K ops/s 365.52K ops/s +9.8% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = conditional({{bar}} > 0, true, false) (sync) 205.46K ops/s 199.36K ops/s +3.1%
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = conditional({{bar}} > 0, true, false) (async) 192.05K ops/s 160.97K ops/s +19.3% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = conditional(conditional(true = false, false, true), conditional(false = false, true, false), conditional(true = true, false, true)) (sync) 152.68K ops/s 126.03K ops/s +21.1% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = conditional(conditional(true = false, false, true), conditional(false = false, true, false), conditional(true = true, false, true)) (async) 149.52K ops/s 87.18K ops/s +71.5% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = await(asyncTestFunction(1)) (sync) N/A N/A N/A
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = await(asyncTestFunction(1)) (async) 285.37K ops/s 170.69K ops/s +67.2% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = asyncTestFunction(1) (sync) 331.82K ops/s 250.80K ops/s +32.3% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = asyncTestFunction(1) (async) 293.26K ops/s 190.72K ops/s +53.8% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: asyncTestFunction(1) (sync) 911.15K ops/s 491.49K ops/s +85.4% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: asyncTestFunction(1) (async) 703.51K ops/s 376.51K ops/s +86.9% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = conditional(!{{bar}} == false, await(asyncTestFunction(1)), false) (sync) 182.90K ops/s 116.36K ops/s +57.2% ✅
core/player/src/expressions/__tests__/performance.bench.ts > Expression Parsing/Execution Benchmark > Parsing: {{foo}} = conditional(!{{bar}} == false, await(asyncTestFunction(1)), false) (async) 165.25K ops/s 116.39K ops/s +42.0% ✅
core/player/src/view/resolver/__tests__/index.bench.ts > resolver benchmarks > initial resolve 633.80 ops/s 465.08 ops/s +36.3% ✅
core/player/src/view/resolver/__tests__/index.bench.ts > resolver benchmarks > Resolving from cache 19.67K ops/s 15.40K ops/s +27.7% ✅
core/player/src/view/resolver/__tests__/index.bench.ts > resolver benchmarks > data changes 2.66K ops/s 2.68K ops/s -0.8%
core/player/src/view/resolver/__tests__/index.bench.ts > resolver benchmarks > data changes slow 591.75 ops/s 524.50 ops/s +12.8% ✅

plugins/async-node/core

Benchmark Current Baseline Change
plugins/async-node/core/src/__tests__/index.bench.ts > async node benchmarks > Resolve Async Node 1 times 11.38K ops/s 8.43K ops/s +35.0% ✅
plugins/async-node/core/src/__tests__/index.bench.ts > async node benchmarks > Resolve Async Node 5 times 11.34K ops/s 7.76K ops/s +46.1% ✅
plugins/async-node/core/src/__tests__/index.bench.ts > async node benchmarks > Resolve Async Node 10 times 8.78K ops/s 7.05K ops/s +24.6% ✅
plugins/async-node/core/src/__tests__/index.bench.ts > async node benchmarks > Resolve Async Node 50 times 2.83K ops/s 2.12K ops/s +34.0% ✅
plugins/async-node/core/src/__tests__/index.bench.ts > async node benchmarks > Resolve Async Node 100 times 1.66K ops/s 1.21K ops/s +36.4% ✅
plugins/async-node/core/src/__tests__/transform.bench.ts > async transform benchmarks > Resolve Async Node 1 times 7.61K ops/s 4.53K ops/s +68.1% ✅
plugins/async-node/core/src/__tests__/transform.bench.ts > async transform benchmarks > Resolve Async Node 5 times 7.33K ops/s 6.37K ops/s +15.0% ✅
plugins/async-node/core/src/__tests__/transform.bench.ts > async transform benchmarks > Resolve Async Node 10 times 6.52K ops/s 4.49K ops/s +45.2% ✅
plugins/async-node/core/src/__tests__/transform.bench.ts > async transform benchmarks > Resolve Async Node 50 times 2.41K ops/s 1.81K ops/s +33.0% ✅
plugins/async-node/core/src/__tests__/transform.bench.ts > async transform benchmarks > Resolve Async Node 100 times 1.44K ops/s 1.12K ops/s +28.0% ✅

react/player

Benchmark Current Baseline Change
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Render asset nested in 1 ReactAssets 597.22 ops/s 464.64 ops/s +28.5% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Bubble errors nested in 1 ReactAssets 956.28 ops/s 744.86 ops/s +28.4% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Render asset nested in 5 ReactAssets 571.70 ops/s 461.46 ops/s +23.9% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Bubble errors nested in 5 ReactAssets 1.04K ops/s 679.18 ops/s +53.8% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Render asset nested in 10 ReactAssets 594.51 ops/s 468.50 ops/s +26.9% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Bubble errors nested in 10 ReactAssets 854.05 ops/s 563.74 ops/s +51.5% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Render asset nested in 50 ReactAssets 467.18 ops/s 379.43 ops/s +23.1% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Bubble errors nested in 50 ReactAssets 231.62 ops/s 190.07 ops/s +21.9% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Render asset nested in 100 ReactAssets 367.52 ops/s 289.68 ops/s +26.9% ✅
react/player/src/asset/__tests__/index.bench.tsx > ReactAsset benchmarks > Bubble errors nested in 100 ReactAssets 107.73 ops/s 80.66 ops/s +33.6% ✅

@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 14.1kB (0.24%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
plugins/a2ui/core 587.03kB 14.1kB (2.46%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: plugins/a2ui/core

Assets Changed:

Asset Name Size Change Total Size Change (%)
A2UIPlugin.native.js 6.06kB 493.17kB 1.24%
cjs/index.cjs 2.88kB 33.25kB 9.49% ⚠️
index.legacy-esm.js 2.58kB 30.3kB 9.31% ⚠️
index.mjs 2.58kB 30.3kB 9.31% ⚠️

@KetanReddy
KetanReddy changed the base branch from main to bugfix/a2ui-validations July 20, 2026 21:57
@KetanReddy
KetanReddy force-pushed the bugfix/a2ui-validations branch from ae6584b to bfd461b Compare July 20, 2026 21:58
@KetanReddy
KetanReddy marked this pull request as ready for review July 20, 2026 21:59
@KetanReddy
KetanReddy requested a review from a team as a code owner July 20, 2026 21:59
@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (f3c3249) to head (869f44c).

Additional details and impacted files
@@              Coverage Diff               @@
##   bugfix/a2ui-validations   #910   +/-   ##
==============================================
==============================================

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Comment thread docs/site/src/content/docs/plugins/multiplatform/a2ui.mdx
</Fragment>
</PlatformTabs>

### JVM (non-Android)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should JVM be moved into the PlatformTabs block? Right now it renders as a separate section below the tabs rather than as part of them.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I can move these into the platform tabs

cehan-Chloe
cehan-Chloe previously approved these changes Jul 22, 2026
@KetanReddy
KetanReddy dismissed cehan-Chloe’s stale review July 23, 2026 06:48

The merge-base changed after approval.

@KetanReddy
KetanReddy force-pushed the bugfix/a2ui-validations branch from f3c3249 to 4ce23ac Compare July 23, 2026 06:48
@KetanReddy
KetanReddy requested a review from a team as a code owner July 23, 2026 06:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants