feat: heatmap time decay also in addition of placements
This commit is contained in:
@@ -12,6 +12,7 @@ from games.decorators import require_game_enabled
|
||||
from .canvas import read_canvas
|
||||
from .gif import build_evolution_gif
|
||||
from .heatmap import (
|
||||
DecayMode,
|
||||
build_heatmap_decay_gif,
|
||||
build_heatmap_evolution_gif,
|
||||
build_heatmap_png,
|
||||
@@ -85,17 +86,20 @@ def heatmap_decay_gif(
|
||||
request: HttpRequest,
|
||||
event_path: str,
|
||||
players: str = "",
|
||||
half_life: int | None = None,
|
||||
half_life: float | None = None,
|
||||
mode: DecayMode = "placements",
|
||||
):
|
||||
"""Admin-only: the heatmap over time, but heat decays so pixels nobody
|
||||
touches anymore fade back to white.
|
||||
|
||||
`players` is an optional comma-separated list of usernames to only
|
||||
count those players' placements (combined). `half_life` is in
|
||||
placements, defaults to 10 frames' worth."""
|
||||
count those players' placements (combined). `mode` is "placements"
|
||||
(decay per placement, `half_life` in placements, defaults to 10 frames'
|
||||
worth) or "time" (decay over time, `half_life` in minutes, defaults
|
||||
to 60)."""
|
||||
usernames = [name.strip() for name in players.split(",") if name.strip()]
|
||||
return HttpResponse(
|
||||
build_heatmap_decay_gif(request.event, usernames, half_life),
|
||||
build_heatmap_decay_gif(request.event, usernames, half_life, mode),
|
||||
content_type="image/gif",
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user