Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
406c0ca
feat(particle): support continuous birth sub-emitters
hhhhkrx Jul 17, 2026
d30870d
fix(particle): preserve emission ordering
hhhhkrx Jul 17, 2026
8765ae0
test(particle): refresh orbital trajectory baseline
hhhhkrx Jul 17, 2026
af9f5de
refactor(particle): make birth sub-emitters continuous
hhhhkrx Jul 18, 2026
36c64b6
refactor(particle): simplify sub-emitter internals
hhhhkrx Jul 18, 2026
467cd2e
style(particle): trim implementation comments
hhhhkrx Jul 18, 2026
a1e1e54
style(particle): remove runtime state comment
hhhhkrx Jul 18, 2026
be5bc7b
fix(particle): respect loop burst boundaries
hhhhkrx Jul 18, 2026
7dd24d0
fix(particle): implement current inherit velocity
hhhhkrx Jul 18, 2026
1fc541f
fix(particle): reject cross-scene sub-emitters
hhhhkrx Jul 18, 2026
a7f732e
fix(particle): skip migrated sub-emitter targets
hhhhkrx Jul 20, 2026
0213a3c
perf(particle): cache sub-emitter topology
hhhhkrx Jul 20, 2026
db59b08
fix(particle): refine sub-emitter velocity sampling
hhhhkrx Jul 25, 2026
9f02713
fix(particle): preserve sub-emitter trajectory velocity
hhhhkrx Jul 25, 2026
3e5da78
Merge dev/2.0 into fix/particle-orbital-linear-order
hhhhkrx Jul 25, 2026
83cc51d
fix(particle): make sub-emitter trajectory readback asynchronous
hhhhkrx Jul 25, 2026
d2f0fdb
refactor(rhi): encapsulate buffer readback lifecycle
GuoLei1990 Jul 26, 2026
d4ba91d
refactor(particle): simplify emission runtime state
GuoLei1990 Jul 26, 2026
dbd1a34
refactor(particle): streamline continuous birth readback
GuoLei1990 Jul 27, 2026
a5f0b9a
refactor(particle): simplify emission scheduling
GuoLei1990 Jul 27, 2026
7de47d8
refactor(particle): simplify Birth emission planning
GuoLei1990 Jul 27, 2026
c830e64
refactor(particle): streamline sub-emitter scheduling
GuoLei1990 Jul 28, 2026
d59dea0
refactor(particle): clarify deferred emission result
GuoLei1990 Jul 28, 2026
9cab43c
refactor(particle): remove distance request forwarding
GuoLei1990 Jul 28, 2026
1c3fffb
refactor(e2e): unify GPU readback update helper
GuoLei1990 Jul 29, 2026
d477844
refactor(particle): simplify birth emission finalization
GuoLei1990 Jul 29, 2026
2676d7b
fix(particle): release retired birth states
GuoLei1990 Jul 29, 2026
6cd39d1
refactor(particle): simplify sub-emitter configuration
GuoLei1990 Jul 29, 2026
88a8368
refactor(particle): unify sub-emitter command flow
GuoLei1990 Jul 29, 2026
e0a23e5
fix(particle): align initial inherit velocity curves
GuoLei1990 Jul 29, 2026
1e55c11
refactor(particle): clarify feedback buffer layouts
GuoLei1990 Jul 29, 2026
2071e35
refactor(particle): update particles in one feedback pass
GuoLei1990 Jul 29, 2026
5716226
refactor(particle): simplify feedback velocity update
GuoLei1990 Jul 29, 2026
5aacb63
fix(particle): compose stretched billboard velocity
GuoLei1990 Jul 29, 2026
859e137
fix(particle): preserve pending work while culled
GuoLei1990 Jul 29, 2026
0bd985d
refactor(particle): consolidate system scheduling state
GuoLei1990 Jul 29, 2026
06e49f0
refactor(particle): align command ownership
GuoLei1990 Jul 29, 2026
049eef1
refactor(particle): simplify inherit velocity module
GuoLei1990 Jul 30, 2026
041b671
fix(particle): preserve initial inherit velocity displacement
GuoLei1990 Jul 30, 2026
f99b7ab
refactor(particle): streamline renderer updates
GuoLei1990 Jul 30, 2026
feb7c7b
refactor(particle): isolate trajectory readback lifecycle
GuoLei1990 Jul 30, 2026
fe0883e
refactor(particle): remove trajectory readback cap
GuoLei1990 Jul 30, 2026
1b3fedc
fix(particle): preserve trajectory readback ownership
GuoLei1990 Jul 30, 2026
750796d
refactor(particle): clarify trajectory readback batches
GuoLei1990 Jul 30, 2026
1cde96b
refactor(particle): clarify pending readback commands
GuoLei1990 Jul 30, 2026
5e66ef4
refactor(particle): narrow trajectory readback interface
GuoLei1990 Jul 30, 2026
9cb953e
perf: reuse particle readback buffers
GuoLei1990 Jul 30, 2026
df78fcc
refactor(particle): clarify trajectory readback lifecycle
GuoLei1990 Aug 1, 2026
416959a
refactor(particle): streamline sub-emitter command consumption
GuoLei1990 Aug 1, 2026
7696334
refactor(particle): clarify update topology state
GuoLei1990 Aug 4, 2026
561c066
refactor(particle): remove redundant update mirrors
GuoLei1990 Aug 5, 2026
011463e
fix(particle): release inactive birth sub-emitter targets
GuoLei1990 Aug 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions packages/core/src/ComponentsManager.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Camera } from "./Camera";
import { Component } from "./Component";
import { Renderer } from "./Renderer";
import { ParticleSystemManager } from "./particle/ParticleSystemManager";
import { Script } from "./Script";
import { Animator } from "./animation";
import { IUICanvas } from "./ui/IUICanvas";
Expand All @@ -10,6 +11,8 @@ import { DisorderedArray } from "./utils/DisorderedArray";
* The manager of the components.
*/
export class ComponentsManager {
/** @internal */
readonly _particleSystemManager = new ParticleSystemManager();
/** @internal */
_cameraNeedSorting = false;
/** @internal */
Expand Down
1 change: 1 addition & 0 deletions packages/core/src/Engine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,7 @@ export class Engine extends EventDispatcher {
for (let i = 0, n = scenes.length; i < n; i++) {
const scene = scenes[i];
if (!scene.isActive || scene.destroyed) continue;
scene._componentsManager._particleSystemManager.update(deltaTime);
scene._componentsManager.callRendererOnUpdate(deltaTime);
scene._updateShaderData();
}
Expand Down
Loading
Loading