Skip to content

Remove unfinished array and bindless texture atlas stubs - #2904

Merged
pvcraven merged 2 commits into
developmentfrom
remove-wip-atlas-stubs
Oct 1, 2026
Merged

pvcraven merged 2 commits into
developmentfrom
remove-wip-atlas-stubs

Conversation

@pvcraven

@pvcraven pvcraven commented Oct 1, 2026

Copy link
Copy Markdown
Member

Summary

Removes arcade/texture_atlas/atlas_array.py and arcade/texture_atlas/atlas_bindless.py.

Why

  • They were empty placeholders. Einar added them in Reorganize texture_atlas module #1951 (January 2024) as stubs, marked "THIS IS WORK IN PROGRESS. DO NOT USE." Every later commit to them was a repo-wide cleanup (formatting, import sorting, type syntax).
  • Nothing used them. Nothing in arcade, the tests, or the docs imports them, and arcade.texture_atlas doesn't export them.
  • They couldn't work. Neither class implements any of TextureAtlasBase's 19 abstract methods, so creating one raises TypeError.
  • They didn't import. On Python 3.10–3.13, both raised NameError: name 'ArcadeContext' is not defined on import. "Drop 3.9" (Drop 3.9 #2622) removed their from __future__ import annotations, and their __init__ signatures use ArcadeContext, which is only imported under TYPE_CHECKING. Python 3.14's lazy annotations would hide this, and nothing imports these modules, so nobody noticed.

They can be restored from git history if the array or bindless atlas work resumes.

Checks

  • I searched the repo for atlas_array, atlas_bindless, TextureArrayAtlas and BindlessTextureAtlas: there are no references left.
  • I also checked every other module that uses TYPE_CHECKING without from __future__ import annotations (including the WebGL backend, which can't be imported outside a browser) for the same kind of break, by parsing them: none have it.
  • arcade.texture_atlas still imports and exports the same names, and util/update_quick_index.py runs cleanly.
  • The collected tests are identical before and after (1362). Results: 1359 passed; the 3 failures are the render tests that only fail on my machine.
  • Added a changelog entry under Misc Changes.

🤖 Generated with Claude Code

arcade/texture_atlas/atlas_array.py and atlas_bindless.py were added as
empty placeholders in #1951 (January 2024), marked "WORK IN PROGRESS. DO
NOT USE." Neither was imported or exported anywhere, and neither class
could be instantiated, since they implement none of TextureAtlasBase's
abstract methods.

Both have failed to import on Python 3.10-3.13 since "Drop 3.9" (#2622)
removed their `from __future__ import annotations`: their __init__
signatures use ArcadeContext, which is only imported under
TYPE_CHECKING. They can be recovered from git history if the work
resumes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@pvcraven
pvcraven merged commit 06c999b into development Oct 1, 2026
7 checks passed
@pvcraven
pvcraven deleted the remove-wip-atlas-stubs branch October 1, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant