8000 Arnauddupuis/issue211 by arnauddupuis · Pull Request #266 · pygamelib/pygamelib · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Arnauddupuis/issue211 #266

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

Merged
merged 13 commits into from
Jun 10, 2025
Merged

Arnauddupuis/issue211 #266

merged 13 commits into from
Jun 10, 2025

Conversation

arnauddupuis
Copy link
Collaborator

Pull Request Template

Description

This PR introduces a new SpriteEmitter, a particle emitter that is initialized with a Sprite. To correctly implement that, some optimization in the Particle and ParticlePool class by implementing a new copy() method that increases ParticlePool initialization speed by more than 50% on average.

Fixes #211

Type of change

Please delete options that are not relevant.

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

  • Test suite (both local and on CircleCI)
  • Multiple test scripts

Test Configuration:

  • OS: Fedora Linux
  • OS version: 41 and 42
  • Python version: 3.13.1 & 3.13.3
  • Architecture: x86_64

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@arnauddupuis arnauddupuis added enhancement New feature or request New feature The issue is leading to the implementation of a new feature. labels Jun 10, 2025
@arnauddupuis arnauddupuis added this to the 1.4.0 milestone Jun 10, 2025
Copy link
codecov bot commented Jun 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 99.65%. Comparing base (08d59df) to head (4c14e62).
Report is 14 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #266   +/-   ##
=======================================
  Coverage   99.65%   99.65%           
=======================================
  Files          12       12           
  Lines        8397     8422   +25     
=======================================
+ Hits         8368     8393   +25     
  Misses         29       29           
Files with missing lines Coverage Δ
pygamelib/base.py 100.00% <100.00%> (ø)
pygamelib/board_items.py 100.00% <100.00%> (ø)
pygamelib/engine.py 98.08% <100.00%> (-0.01%) ⬇️
pygamelib/gfx/particles.py 100.00% <100.00%> (ø)
pygamelib/gfx/ui.py 99.90% <100.00%> (ø)

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@arnauddupuis arnauddupuis merged commit 3ffd476 into master Jun 10, 2025
6 checks passed
@arnauddupuis arnauddupuis deleted the arnauddupuis/issue211 branch June 10, 2025 21:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request New feature The issue is leading to the implementation of a new feature.
Projects
Development

Successfully merging this pull request may close these issues.

Create a new particle emitter that uses a pygamelib.gfx.core.Sprite to initialize the particles.
1 participant
0