thedivergentai/godot-theme-easter
Apply a Classic Easter seasonal overlay: pastel Theme/StyleBox injection, confetti/shimmer VFX, elastic juice, mesh surface_override painting, cursor/audio swaps, and a date-window activation gate with player opt-out. Use when shipping holiday skins, April events, or egg-hunt juice without mutating shared .mesh/.tres assets. Keywords: pastel, seasonal Theme, StyleBox, confetti, Easter egg, surface_override, TRANS_ELASTIC, Disable Seasonal Themes, activation gate.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-theme-easter
Seasonal "Easter-fy" toolkit: bright pastels, bouncy juice, egg/bunny iconography — gated by calendar + settings.
MANDATORY first read: easter_seasonal_activation_gate.gd — date window, Disable Seasonal Themes opt-out (user://settings.cfg), and Dev Override. Call refresh_activation() when settings change; never poll the calendar in _process.
Prerequisite: Do NOT Load godot-ui-theming until a base Theme resource exists — seasonal overlays inject StyleBox overrides; they do not replace foundational Theme authoring.
refresh_activation() on _ready and when settings change.| Context | Use | Do NOT also wire |
|---------|-----|------------------|
| 3D mesh seasonal tint via surface_override | easter_mesh_painter_override.gd | easter_palette_override.gd on same mesh |
| 2D/modulate or material slot swap already wired | easter_palette_override.gd or seasonal_material_swapper.gd | mesh_painter on the same target |
MANDATORY — Date-aware manager with opt-out + Dev Override.
Single source of truth for pastel Color tokens — do not hardcode hex lists in SKILL bodies or random scripts.
Runtime theme injector for applying mass pastel styles across the UI tree.
Expert 'Squash and Stretch' logic for organic egg-like interactions using Tweens.
Professional 'Hidden Item' shimmer effect with additive blending and scale curves.
Expert registry for tracking hidden items with signal-based progression signals.
Seasonal 3D material swapper using surface overrides to preserve base assets.
Instability-driven physics body for 'Egg-like' wobbly movement.
Immersive FOV 'kick' logic to emphasize collection or pop events.
Celebratory confetti explosion with multi-colored pastel flakes.
Expert logic for swapping system mouse cursors with themed Easter icons.
Dynamic audio resource loader that replaces standard UI sounds with seasonal variants.
Alternate painters — see Decision Tree — Alternate Painters above; pick one path per target.
PINK, BLUE, YELLOW, MINT, PURPLE) — never paste ad-hoc hex laundry lists into features.corner_radius > 8–12). Avoid sharp edges / high-contrast blacks.corner_radius > 12) and soft pastel tones.TRANS_ELASTIC or TRANS_QUART for organic eggs.surface_override or duplicate().Time.get_date_dict_from_system() once on _ready or event trigger via the activation gate.RenderingServer.canvas_item_set_draw_index() to dynamically move collected egg particles to the front of the UI stack without reparenting nodes.TRANS_ELASTIC tweens on physics-driven eggs, invoke RenderingServer.canvas_item_reset_physics_interpolation() to prevent visual "jitter" on the first frame of the pop animation.Control.add_theme_stylebox_override("panel", my_stylebox) instead of modifying the global Theme to isolate seasonal changes to specific UI modules.MANDATORY: easter_custom_cursor_manager.gd — always set a hotspot (bunny-ear tip / base).
MANDATORY: easter_seasonal_audio_swapper.gd — Resource map of original → seasonal AudioStream pairs.
Tween Environment ambient/tonemap/fog during a transition — never hard-cut colors mid-frame.
func _apply_spring_env(env: Environment) -> void:
var tween := create_tween()
tween.tween_property(env, "ambient_light_color", EasterPastelColorPalette.YELLOW, 2.0)
tween.tween_property(env, "tonemap_exposure", 1.2, 2.0)
tween.tween_property(env, "fog_light_color", EasterPastelColorPalette.BLUE, 2.0)
> LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.
| Topic | Reference |
|-------|-----------|
| Cursor / audio / env recipes | seasonal-implementation-recipes.md |
> Progressive disclosure: open Official Documentation links only when researching a specific API;
> load Related Skills when routing work to a peer domain — do not preload the whole lattice.
Take thedivergentai/godot-theme-easter from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.