-
-
Notifications
You must be signed in to change notification settings - Fork 400
refactor(clone): type-driven default clone mode for container elements #3040
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cptbtptpbcptdtptp
wants to merge
55
commits into
galacean:dev/2.0
Choose a base branch
from
cptbtptpbcptdtptp:fix/clone-opt-out-assignment
base: dev/2.0
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
79e9105
refactor(clone): add @defaultCloneMode and type-driven clone for cont…
a22e83c
refactor(clone): rewrite clone system — opt-out + default Assignment …
afce33d
refactor(clone): mark value-semantic classes with @defaultCloneMode(D…
94e6a03
fix(clone): remap nested Entity/Component refs via two-pass clone
a0e5fa9
refactor(clone): three-tier mode resolution + container default deep
297508f
refactor(clone): drop 171 field clone-mode decorators, rely on type d…
c5d6257
Merge remote-tracking branch 'upstream/dev/2.0' into fix/clone-opt-ou…
00498a1
ci: shard codecov unit tests (4 shards) to avoid browser crash on ful…
1561b72
docs(clone): drop CLONE_OPT_IN_AUDIT.md; design moved to PR description
d196914
ci: split codecov into 8 shards (vitest browser WebGL resource ceiling)
3cdd18c
test(clone): regression for texture refCount balance on clone/destroy
b8e754c
ci: revert codecov sharding experiment (let GitHub run the original f…
2139275
refactor(clone): decouple ref counting from the clone gate and unify …
13f3d95
Merge branch 'dev/2.0' into fix/clone-opt-out-assignment
9c5469c
refactor(clone): slot-ownership ref counting — gate acquires, owner r…
c2790dd
test(clone): refCount lifecycle suites + fix particle MeshShape mesh …
60135e9
refactor(clone)!: remove the deprecated shallowClone decorator
2a4309e
style(clone): order CloneManager members by visibility
88625db
refactor(clone): exempt user scripts from gate ref counting
2239fbd
refactor(clone): one uniform slot contract — no script special-casing
c7df2af
refactor(clone): move slot-ownership acquisition out of the gate
84e1b76
docs(clone): clarify the @deepClone-on-Remap branch is error recovery
3c26c2a
docs(clone): condense the CloneManager class comment
5b8da5a
test(clone): pin aliasing topology — shared instance clones into one …
e5894ae
refactor(clone): drop _cloneTo logic the type-driven gate already covers
8ef2a64
fix(mesh): type _onSkinUpdated's value as the union it actually carries
158fbdc
refactor(math): add a MathValue base class carrying the family clone …
1be50b0
Revert "refactor(math): add a MathValue base class carrying the famil…
5e3738d
test(clone): guard math value-type registration completeness
7dba7c1
feat(math): implement IClone/ICopy on Ray and register it Deep
de460e8
fix(clone): treat null-prototype objects as data containers
6c4cbb7
fix(clone): @deepClone on a registered asset recovers to sharing
56fb595
docs(clone): tighten comments in CloneManager and ComponentCloner
6a8688e
feat(clone): register runtime containers @defaultCloneMode(Ignore)
a3510d4
refactor(clone): drop @ignoreClone on runtime-container typed fields
887bfcc
docs(clone): define Deep as structure-fresh, member-semantic cloning
83e8328
docs(clone): correct stale or vacuous comments in gate and cloner
bdcc635
refactor(ui): centralize transition state ref counting in the base class
81c7991
test(math): cover Ray clone and copyFrom
e696681
fix(clone): release an owned counted preset displaced by an uncounted…
b0064ab
fix(clone): register typed-array clones in the identity map and harde…
d095812
fix(clone): route copyFrom dispatch after containers and close review…
6d0c7fe
test(clone): cover the rewritten Skin, PostProcess and TrailRenderer …
78ec199
docs(clone): align clone guides with the type-driven mechanism
9fa3cc2
refactor(clone): settle slot ownership unconditionally and fold dupli…
23f0459
test(clone): rename the suite after CloneManager and fix stale attrib…
2a91917
perf(clone): iterate Map/Set with for-of to avoid per-clone closure a…
c13dd08
docs(clone): drop a change-narrating comment on the Map branch
6d724c7
docs(clone): drop tense-relative wording from a lifecycle test comment
828008f
fix(particle): allow bare construction of ParticleCompositeGradient
16d95d6
test(clone): enforce the bare-construction contract for Deep-register…
f58d380
feat(clone): name the bare-construction contract when a deep clone ca…
843ab78
test(clone): pin the host-bound-in-container rejection as intended se…
9db6c66
test(clone): pin both host-bound-in-container behaviors by component …
f8ad0d7
fix(shader): cascade texture-array entries through the ref-count cont…
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Typo: "bacause" → "because".
✏️ Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents