Add a RenderLayer system for global render ordering
I maintainer di solito rispondono entro 1 giorno
@spydon ci sta già lavorando.
Dal 22/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Motivation
priority only orders siblings, so the draw order of a component is tied to where it sits in the tree. Games regularly need cross-hierarchy ordering (a health bar above all enemies, a projectile under all UI) and the current workaround is restructuring the tree so competitors share a parent.
Proposal
A RenderLayer system, similar in spirit to Godot's CanvasLayer and Unity's sorting layers:
- A
World(per camera pass) owns an ordered set of layers; each layer has a z-index. - Components can declare a target layer; their rendering is routed to that layer instead of their tree position, while updating, lifecycle, and hit-testing stay hierarchical.
- Plain
PositionComponents are replayed onto their layer using their cached absolute transform. Subtrees with hierarchical render state (clips, decorators, snapshots, customrenderTree) stay atomic: they render as a unit at their subtree's layer. - The flattened-traversal infrastructure from #3957 (structure versioning, lazily rebuilt root-owned lists) carries over directly for maintaining per-layer render lists.
This also follows the design note in #3957 about separating render order from update order, and would give y-sort a render-time home (a layer sorted by position.y) with zero structural reordering.
Out of scope
Arbitrary interleaving of components across clip/decorator boundaries; those subtrees remain atomic within a layer.
Related: #3957, and the "Support a global z-index/priority" item in #1938.
- Lingua principale
- Dart
- Stelle
- 10.8k
- Fork
- 1.1k
- Merge medio
- 1g 15h
- PR unite (30g)
- 50
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di flame-engine/flame
-
flame_tiled: tileset image in a subfolder of an external .tsx resolves to the wrong pathForse già presa @ufrshubham l’ha presa 2 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
flame-engine/flame#4117 · 1 commento · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement v2
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
flame-engine/flame#4116 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
flame-engine/flame#4063 ·
I maintainer di solito rispondono entro 1 giorno
-
TextComponent shadows are not affected by OpacityEffectForse già presa @spydon l’ha presa 39 giorni fa. Aperta
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
flame-engine/flame#4013 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
flame-engine/flame#4012 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di flame-engine/flame
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
jhomlala/betterplayer#1609 ·
I maintainer di solito rispondono entro 1 giorno
-
[FR] 缓存键放置在外面Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
bggRGjQaUbCoE/PiliPlus#3310 ·
I maintainer di solito rispondono entro 1 giorno
-
package:code_builder type-bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
type:feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
[material_ui] CalendarDatePicker day numbers are cut off with large text scale on narrow screensAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno