Skip to content

Version 1.1.28#1582

Merged
sinclairzx81 merged 7 commits into
mainfrom
engine
Apr 18, 2026
Merged

Version 1.1.28#1582
sinclairzx81 merged 7 commits into
mainfrom
engine

Conversation

@sinclairzx81
Copy link
Copy Markdown
Owner

@sinclairzx81 sinclairzx81 commented Apr 18, 2026

This PR carries out broad optimization work on the TypeBox compositor. The update ensures computed types (Partial, Required, Pick, Omit, KeyOf, etc) by-pass the Instantiate(...) type, and initialize directly without exhaustive type matching. The PR also updates the internal CanInstantiate() type to perform a single depth check (vs deep Ref checking) and relies on the TRef instantiate to terminate at un-resolvable TRef.

Other updates include deprecating ReadonlyType (this has been renamed to ReadonlyObject) and a minor regression for Base which will no longer Clone via the compositor. Users notified via #1444

These updates dramatically simplify internal Instantiate(...) logic, and make provisions for additional optimizations for Readonly / Optional, as well as Module / Cyclic.

@sinclairzx81 sinclairzx81 merged commit 03a36dd into main Apr 18, 2026
6 checks passed
@sinclairzx81 sinclairzx81 deleted the engine branch April 18, 2026 15:03
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.

1 participant