-
Notifications
You must be signed in to change notification settings - Fork 15
chore: iss via standalone descriptor (descriptor-only, bundle deferred) #8870
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
dalkia
wants to merge
16
commits into
dev
Choose a base branch
from
chore/iss-v2
base: dev
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 8 commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
fd1f49f
ISS - rework as in-place mutable ECS component with radius-gated reso…
dalkia 5c12a51
Further remove bundle trails
dalkia dff008b
Further remove bundle trails
dalkia ecd7b75
ISS - restore eager UnloadAB() in AssetBundleData constructor
dalkia 2d8b3fe
ISS - tighten descriptor opt-in defaults and suppress non-ISS scene 4…
dalkia 2b96c07
Further cleanup and defensive LogWarning
dalkia 177006e
ISS - split cache value from per-entity component
dalkia c9c83f7
Serialize in disk only asset list
dalkia 9147212
Addressing Review
dalkia a6b3faf
Drop ISSDescriptorResolution; cache ISSDescriptorMetadata directly
dalkia 6f5b450
More review address
dalkia 0b6cb45
Partial Claude addressing
dalkia 9e857e0
First iteration of claude review
dalkia 3ec67bf
TryReleaseBridgeSlot
dalkia 03537df
Avoid Iss getting stuck on cancelled
dalkia 7b3acfb
Merge branch 'dev' into chore/iss-v2
dalkia 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
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
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
2 changes: 1 addition & 1 deletion
2
...CL/Infrastructure/ECS/SceneLifeCycle/SceneDefinition/Systems/LoadSceneDefinitionSystem.cs
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
49 changes: 49 additions & 0 deletions
49
...L/Infrastructure/ECS/SceneLifeCycle/SceneDefinition/Systems/ResolveISSDescriptorSystem.cs
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| using Arch.Core; | ||
| using Arch.System; | ||
| using Arch.SystemGroups; | ||
| using DCL.Diagnostics; | ||
| using DCL.SceneRunner.Scene; | ||
| using ECS.Abstract; | ||
| using ECS.LifeCycle.Components; | ||
| using ECS.SceneLifeCycle; | ||
| using ECS.StreamableLoading.AssetBundles.InitialSceneState; | ||
| using ECS.StreamableLoading.Common; | ||
| using ECS.StreamableLoading.Common.Components; | ||
|
|
||
| namespace ECS.SceneLifeCycle.SceneDefinition | ||
| { | ||
| /// <summary> | ||
| /// Consumes the transient ISS descriptor promise that | ||
| /// <c>ResolveSceneStateByIncreasingRadiusSystem</c> attaches to a scene entity while its descriptor | ||
| /// is being resolved. On consume, mutates the entity's <see cref="ISSDescriptor"/> in place via | ||
| /// <see cref="ISSDescriptor.MarkResolved"/> and removes the promise component. The same descriptor | ||
| /// instance persists for the scene's lifetime, so cached class references elsewhere (e.g. | ||
| /// <c>OrderedDataManaged.ISSDescriptor</c>) see the resolved state without a refetch. | ||
| /// </summary> | ||
| [UpdateInGroup(typeof(RealmGroup))] | ||
| [LogCategory(ReportCategory.SCENE_LOADING)] | ||
| public partial class ResolveISSDescriptorSystem : BaseUnityLoopSystem | ||
| { | ||
| internal ResolveISSDescriptorSystem(World world) : base(world) { } | ||
|
|
||
| protected override void Update(float t) | ||
| { | ||
| ConsumePromiseQuery(World); | ||
| } | ||
|
|
||
| [Query] | ||
| [None(typeof(DeleteEntityIntention))] | ||
| private void ConsumePromise(in Entity entity, ISSDescriptor descriptor, ref AssetPromise<ISSDescriptorResolution, GetISSDescriptor> promise) | ||
| { | ||
| if (!promise.TryConsume(World, out StreamableLoadingResult<ISSDescriptorResolution> result)) | ||
| return; | ||
|
|
||
| if (result.Succeeded && result.Asset is { } resolved) | ||
| descriptor.MarkResolved(resolved); | ||
| else | ||
| descriptor.MarkResolved(ISSDescriptorResolution.NONE); | ||
|
|
||
| World.Remove<AssetPromise<ISSDescriptorResolution, GetISSDescriptor>>(entity); | ||
| } | ||
| } | ||
| } | ||
2 changes: 2 additions & 0 deletions
2
...rastructure/ECS/SceneLifeCycle/SceneDefinition/Systems/ResolveISSDescriptorSystem.cs.meta
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.