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

djeedai / bevy_hanabi / 27791683731
59%

Build:
DEFAULT BRANCH: main
Ran 18 Jun 2026 10:01PM UTC
Jobs 1
Files 33
Run time 1min
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

18 Jun 2026 09:54PM UTC coverage: 58.543%. First build
27791683731

push

github

web-flow
Fix property binding and indexing (#543)

Properties are bound in WGSL as `array<Properties>`, where `Properties`
is the dynamically-generated property struct derived from the effect
description.

Previously, property binding and indexing had a couple of issues:
- Unused alignment to storage buffer dynamic binding value provided by
the GPU device, which is only required when using dynamic binding, but
property buffers are whole-bound.
- Property offset was just wrong. It indexed in terms of `u32` count.

The issue is not trivial; because multiple effects have different
property structs, we cannot bind a single array for all of them. So when
we bind a struct as array, it has to be located inside the GPU buffer at
a multiple of its size, which is a per-effect value. That means that
when allocating storage for the properties of an effect, the allocation
needs to be aligned at a multiple of its size. The new `PropertyBuffer`
implementation guarantees this, allowing for mixed sizes to be allocated
inside a same GPU buffer.

Note that the alternative is to use a `u32` offset. That simplifies
allocations, but require defining properties in terms of `array<u32>` in
WGSL, and manually reading and bit-casting all properties one by one.
This makes the WGSL code very complex and unreadable.

The `spawn.rs` example has been updated to use 2 effects with
properties, showing that properties work past the first effect (this was
not working before this change).

129 of 187 new or added lines in 4 files covered. (68.98%)

5215 of 8908 relevant lines covered (58.54%)

188.1 hits per line

Uncovered Changes

Lines Coverage ∆ File
57
70.03
src/render/property.rs
1
34.73
src/plugin.rs
Jobs
ID Job ID Ran Files Coverage
1 27791683731.1 18 Jun 2026 10:01PM UTC 33
58.54
GitHub Action Run
Source Files on build 27791683731
  • Tree
  • List 33
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • dacb010c on github
  • Prev Build on main (#27641954014)
  • Next Build on main (#27884368063)
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