Skip to content

Document TC39 decorators migration breaking changes (9.15.0)#1595

Draft
RaananW wants to merge 1 commit into
masterfrom
raananw-tc39-decorators-breaking-changes
Draft

Document TC39 decorators migration breaking changes (9.15.0)#1595
RaananW wants to merge 1 commit into
masterfrom
raananw-tc39-decorators-breaking-changes

Conversation

@RaananW

@RaananW RaananW commented Jul 6, 2026

Copy link
Copy Markdown
Member

Babylon.js 9.15.0 migrated from TypeScript's legacy experimentalDecorators to standard TC39 Stage 3 decorators (core PRs #18631, #18630, #18647).

This adds a ## 9.15.0 entry to content/breaking-changes.md documenting the consumer impact for anyone who applies Babylon.js decorators (@serialize, @expandToProperty, @addAccessorsForMaterialProperty, @editableInPropertyPage, etc.) to their own subclasses:

  • Compile with experimentalDecorators: false (TC39 calling convention).
  • Add the accessor keyword to fields decorated with the auto-accessor decorators (@expandToProperty, @addAccessorsForMaterialProperty); plain field decorators like @serialize are unchanged.
  • Target ES2015+ (required by accessor).
  • Use GetEditableProperties(target) instead of reading the internal _propStore.
  • UMD bundles now emit at ES2015 (Native still down-levels to ES5 in CI).

Additive change only (50 insertions, existing CRLF line endings preserved).

Babylon.js 9.15.0 moved from experimentalDecorators to standard TC39
Stage 3 decorators. Document the consumer impact: compile with
experimentalDecorators:false, add the accessor keyword to fields using
@expandToProperty/@addAccessorsForMaterialProperty, target ES2015+, use
GetEditableProperties() instead of reading _propStore, and the UMD
ES5->ES2015 bundle target change.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@bjsplat

bjsplat commented Jul 6, 2026

Copy link
Copy Markdown

@RaananW RaananW marked this pull request as draft July 6, 2026 22:46
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.

2 participants