• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

djeedai / bevy_hanabi / 11569615949
66%

Build:
DEFAULT BRANCH: main
Ran 29 Oct 2024 08:08AM UTC
Jobs 1
Files 27
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Oct 2024 08:02AM UTC coverage: 57.849% (-1.2%) from 59.035%
11569615949

push

github

web-flow
Unify the clone modifier and spawners, and fix races. (#387)

This large patch essentially makes particle trails and ribbons part of
the spawner, which is processed during the init phase, rather than
modifiers that execute during the update phase. Along the way, this made
it easier to fix race conditions in spawning of trails, because spawning
only happens in the init phase while despawning only happens in the
update phase. This addresses #376, as well as underflow bugs that could
occur in certain circumstances.

In detail, this commit makes the following changes:

* Every group now has an *initializer*. An initializer can either be a
  *spawner* or a *cloner*. This allows spawners to spawn into any group,
  not just the first one.

* The `EffectSpawner` component is now `EffectInitializers`, a component
  which contains the initializers for every group. Existing code that
  uses `EffectSpawner` can migrate by picking the first
  `EffectInitializer` from that component.

* The `CloneModifier` has been removed. Instead, use a `Cloner`, which
  manages the `age` and `lifetime` attributes automatically to avoid
  artifacts. The easiest way to create a cloner is to call `with_trails`
  or `with_ribbons` on your `EffectAsset`.

* The `RibbonModifier` has been removed. Instead, at most one of the
  groups may be delegated the ribbon group. The easiest way to delegate
  a ribbon group is to call `EffectAsset::with_ribbons`. (It may seem
  like a loss of functionality to only support one ribbon group, but it
  actually isn't, because there was only one `prev` and `next` attribute
  pair and so multiple ribbons never actually worked before.)

* The `capacity` parameter in `EffectAsset::new` is no longer a vector
  of capacities. Instead, you supply the capacity of each group as you
  create it. I figured this was cleaner.

* Init modifiers can now be specific to a particle group, and they
  execute for cloned particles as we... (continued)

114 of 621 new or added lines in 7 files covered. (18.36%)

23 existing lines in 5 files now uncovered.

3534 of 6109 relevant lines covered (57.85%)

23.02 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
70.37
-0.66% src/render/buffer_table.rs
3
0.0
0.0% src/render/batch.rs
4
61.14
-0.13% src/render/effect_cache.rs
13
78.89
2.54% src/lib.rs
33
51.22
-12.71% src/asset.rs
61
47.98
-17.58% src/spawn.rs
391
23.73
-1.54% src/render/mod.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
0.0
0.0% src/render/batch.rs
3
51.22
-12.71% src/asset.rs
4
47.98
-17.58% src/spawn.rs
7
63.82
-3.29% src/modifier/mod.rs
8
23.73
-1.54% src/render/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 11569615949.1 29 Oct 2024 08:08AM UTC 27
57.85
GitHub Action Run
Source Files on build 11569615949
  • Tree
  • List 27
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 3e3c8142 on github
  • Prev Build on main (#11417344053)
  • Next Build on main (#11569644243)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc