Meal Planner (Single File + Hash State)
Invalid URL state loaded.
Reset URL to empty (#40000)
State in URL hash
Copy/paste the URL to move the current app state to another browser.
Hash length:
Copy full URL
Canonicalize (rewrite hash)
Actions
Add planned meal
Add to planned
Add on-hand ingredient
Add on hand
Quick rules
done planned
adds meal to past, removes first instance from planned, removes its ingredients from on-hand, keeps at most 14 past meals.
Favorites and on-hand are treated as sets for add/remove (no duplicates added).
Encoding limits: each list length ≤ 61; each item index ≤ 3843.
Derived
Potential meals (can be made now; favorites first)
Needed ingredients (planned but not on hand)
State
Past meals (max 14)
Planned meals
Favorite meals
On-hand ingredients
Catalog
Constants embedded in this single file.
Meals
Ingredients
Debug
Raw internal state arrays (meal/ingredient indices) in fixed order: past, planned, favorites, onHand.