v0.5.0
What's new
commit ddb959013e93cce2346532a640a6c6dcfe3d55eb
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 08:13:58 2026 +0200
chore: bump version to 0.5.0 for first proper CurseForge release
Publishes the Camp Chair tooltip alias fix and the repo restructuring
that fixes automated CurseForge packaging - none of which made it into
the currently published v1.60.1, which was a manual upload from before
those fixes landed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit ddb959013e93cce2346532a640a6c6dcfe3d55eb
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 08:13:58 2026 +0200
chore: bump version to 0.5.0 for first proper CurseForge release
Publishes the Camp Chair tooltip alias fix and the repo restructuring
that fixes automated CurseForge packaging - none of which made it into
the currently published v1.60.1, which was a manual upload from before
those fixes landed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit b5919408a780ec6d97029b84e287e1c5077f29a7
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 08:11:06 2026 +0200
fix: move addon files to repo root so CurseForge packaging finds the toc
move-folders (added in a prior attempt) doesn't promote a nested folder
into the package root - it pulls a nested folder OUT to a sibling
top-level folder (e.g. splitting out an options module). It was a
no-op here, which is why version bumps and tags still produced nothing.
The packager wraps the whole checkout in one package-as-named folder
and zips it as-is; since CampingInfo.toc lived at
CampingInfo/CampingInfo.toc, the resulting zip was
CampingInfo/CampingInfo/CampingInfo.toc, failing CurseForge's Addon
Processor check that the root folder must directly contain
ROOTFOLDER/ROOTFOLDER.toc. Moving the toc/lua files to the repo root
fixes that, since the repo is already named CampingInfo.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit b5919408a780ec6d97029b84e287e1c5077f29a7
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 08:11:06 2026 +0200
fix: move addon files to repo root so CurseForge packaging finds the toc
move-folders (added in a prior attempt) doesn't promote a nested folder
into the package root - it pulls a nested folder OUT to a sibling
top-level folder (e.g. splitting out an options module). It was a
no-op here, which is why version bumps and tags still produced nothing.
The packager wraps the whole checkout in one package-as-named folder
and zips it as-is; since CampingInfo.toc lived at
CampingInfo/CampingInfo.toc, the resulting zip was
CampingInfo/CampingInfo/CampingInfo.toc, failing CurseForge's Addon
Processor check that the root folder must directly contain
ROOTFOLDER/ROOTFOLDER.toc. Moving the toc/lua files to the repo root
fixes that, since the repo is already named CampingInfo.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit 3535cfd8470d4a76c6be3719cbb9be1c50359a5c
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 08:08:03 2026 +0200
chore: bump version to 0.4.1 to test CurseForge duplicate-hash rejection
Every automated packaging attempt so far has left the .toc/Lua content
byte-identical to the already-approved v1.60.1 file, which CurseForge's
Hashing Processor would silently reject as a duplicate upload. Bumping
the version changes the packaged content so we can confirm whether
that's the actual blocker.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit 3535cfd8470d4a76c6be3719cbb9be1c50359a5c
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 08:08:03 2026 +0200
chore: bump version to 0.4.1 to test CurseForge duplicate-hash rejection
Every automated packaging attempt so far has left the .toc/Lua content
byte-identical to the already-approved v1.60.1 file, which CurseForge's
Hashing Processor would silently reject as a duplicate upload. Bumping
the version changes the packaged content so we can confirm whether
that's the actual blocker.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit 7e066395980ae7cb930f6c653cfb7e0cde63abb2
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 07:57:35 2026 +0200
fix: promote CampingInfo/ subfolder to package root in pkgmeta
The .toc lives at CampingInfo/CampingInfo.toc, not at the repo root.
Without move-folders, the CurseForge packager can't find the toc at
the package root after applying package-as, so it fails to read
version/interface metadata and silently produces no build. This is
why no file has published since pkgmeta.yaml was added, despite the
webhook returning success on every push.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit 7e066395980ae7cb930f6c653cfb7e0cde63abb2
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 07:57:35 2026 +0200
fix: promote CampingInfo/ subfolder to package root in pkgmeta
The .toc lives at CampingInfo/CampingInfo.toc, not at the repo root.
Without move-folders, the CurseForge packager can't find the toc at
the package root after applying package-as, so it fails to read
version/interface metadata and silently produces no build. This is
why no file has published since pkgmeta.yaml was added, despite the
webhook returning success on every push.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
commit af506f312a1de0016986b831e5d251b818eebc96
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 07:50:37 2026 +0200
force webhook
commit af506f312a1de0016986b831e5d251b818eebc96
Author: Fumi24 <jakob@fumi.dk>
Date: Fri Sep 25 07:50:37 2026 +0200
force webhook
commit e440bdaab1c7f4e512be8c96860f7a1f0ab1bcc3
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:44:36 2026 +0200
chore: add pkgmeta.yaml for CurseForge packaging
Excludes the stray Untitled.png from the packaged zip and embeds the
project license in the package.
commit e440bdaab1c7f4e512be8c96860f7a1f0ab1bcc3
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:44:36 2026 +0200
chore: add pkgmeta.yaml for CurseForge packaging
Excludes the stray Untitled.png from the packaged zip and embeds the
project license in the package.
commit d83761c272baa91270a797c6f220fa8eb875ea7e
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:40:06 2026 +0200
fix: match placed Camp Chair tooltip name "Chair" as an alias
The placed world object's tooltip shows "Chair", not the item name
"Camp Chair", so the name-based fallback matcher never found it and
the Camping Benefit lines were never added.
commit d83761c272baa91270a797c6f220fa8eb875ea7e
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:40:06 2026 +0200
fix: match placed Camp Chair tooltip name "Chair" as an alias
The placed world object's tooltip shows "Chair", not the item name
"Camp Chair", so the name-based fallback matcher never found it and
the Camping Benefit lines were never added.
commit cb7d9b0b7b18b85c0e43d954b9286b20af0d2a18
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:31:20 2026 +0200
test: verify branch protection blocks direct push
commit f3fe45abd48730c46773702d8dd818308361beca
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:17:37 2026 +0200
docs: trim README to install, tooltip example, commands, layout
Remove the Status, Supported Camping features, How placed objects
are matched, and Data accuracy sections.
commit 8219a107c912e594f3c8a8d000e0422638e2f47a
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:16:04 2026 +0200
chore: remove debug/scan/id commands, keep only on|off and detailed
Drop /ci id, /ci debug, and /ci scan along with all the code that
only existed to support them (tooltip snapshotting, the bags/bank/
vendor scanner, the copy-box UI). /ci now only has on|off and
detailed on|off. Update README to match.
commit 674873453a3df62d6f9be92233655ec5bcd16f37
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:14:28 2026 +0200
chore: remove build-spec doc, drop its references from README
PLAN.md was the original implementation spec and no longer reflects
the addon's current state; drop it along with the now-dead
references to it.
commit 122683d46e94deff4b6b9f422a07dc894f3974b3
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:12:24 2026 +0200
fix: make Camping Benefit dedup self-healing, not cached-state-based
Repeated hovers of the same placed object (e.g. lodestone -> fish
bowl -> fish bowl again) kept losing the Camping Benefit text. Our
dedup tracked "already added" via our own cached state (itemID,
polled text), but the game silently rebuilds the tooltip's actual
content on each fresh hover confirmation -- even for the same object
again -- without a Hide/Show transition we reliably observe. Our
cache believed the lines were still there when they'd been wiped.
Replace all of that with a direct check of the tooltip's current
rendered lines for our own "Camping Benefit" marker before adding.
This can't desync from reality since it reads the actual tooltip
instead of trusting a flag. Removes the appliedTooltips table
entirely; lastPolledText is now only a perf fast-path, not required
for correctness.
commit 4ae0575c34483180faa252e150f6738180d54a28
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:08:39 2026 +0200
fix: reset dedup flag on tooltip hide, not just polled text
OnHide only cleared lastPolledText, leaving appliedTooltips[tooltip]
holding the previous hover's itemID. A quick unhover+rehover of the
same object then hit the dedup check with a stale but matching
itemID and silently skipped re-adding the Camping Benefit section,
even though the tooltip had been rebuilt from scratch.
commit 4bade3f705d308f2cb5f06b79c8e883c562ba078
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:04:57 2026 +0200
fix: poll tooltip text on OnUpdate to catch plain-text world objects
Debug output confirmed placed Camping objects (e.g. Faction Banner)
show a plain-text tooltip with no unit or item resolved, so only the
OnShow hook could ever catch them — and OnShow only fires on a
hidden->shown transition. Moving the mouse directly between such
objects updates the text in place without hiding first, so the match
was missed roughly 9 times out of 10. Poll GameTooltip's rendered
text on OnUpdate and re-run the name match whenever it changes,
resetting on OnHide so a repeat of the same text after a real hide
still gets processed.
commit ef0911fab026d9199b1196769016d795aae5dca6
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 22:01:41 2026 +0200
fix: match placed Camping objects by name, not just item ID
Camping items are used to place a physical object at the campsite,
and hovering that placed object doesn't fire the item-tooltip event
Core.lua relied on (no item link). Add OnTooltipSetUnit and a
catch-all OnShow hook on GameTooltip that read the rendered tooltip
text and match it against known Camping item names as a fallback.
Add /ci debug, which snapshots the last tooltip GameTooltip rendered
(name, unit/item resolution, every line) so it can be inspected even
after the tooltip is gone, for diagnosing this further if needed.
commit 0197e1968c3f3517c9ad0945ce3dd1e50a009bcd
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:54:55 2026 +0200
feat: set Interface version, bump to 0.2.0, add .gitignore
Set ## Interface: 16001, matching Patch 1.60.1 (PLAN.md) and the value
used by other working addons in this client's AddOns folder. Bump the
addon version now that the Camping item database and Interface are
both complete. Add .gitignore for .claude/settings.local.json, which
holds a machine-specific dev hook (not committed).
commit ef2f39bcc44b353deb1e67205c843e29051c3fcb
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:51:04 2026 +0200
data: verify Iron Oven (item 279982), complete the Camping matrix
All 37 known Camping features now have a confirmed item ID.
CampingItemsPending is empty until a future guide update adds more.
commit c3c931f263e855bf427a3d1bf3640764094d3362
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:50:12 2026 +0200
data: note Iron Oven is spell-linked, not item-linked
The guide links Iron Oven to a spell page (1263067) rather than an
item page, so it can't be matched by the item tooltip hook. Record
the spell ID and leave it pending rather than guessing an item ID.
commit 97363bf43828414aa326c13cbda443c29695e68a
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:49:39 2026 +0200
data: verify 36 of 37 Camping item IDs via Wowhead
Move every Camping feature except Iron Oven into ns.CampingItems, keyed
by its item ID from the Wowhead Forever item page linked off the
Camping overview guide, and resolve inheritedFrom slugs to numeric
item IDs. Only Enchanted Lute, Toxin Study, and Plague Doctor's
Laboratory keep verified = false pending an in-game text check.
commit 82f70c5c35bd2fbe8fe6aeb9a9d052b6d415ec52
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:44:58 2026 +0200
feat: add /ci scan bulk item-ID resolver, verify Camp Tent
Add a bags/bank/vendor scanner that matches known Camping item names
and prints a paste-ready Data.lua block for every match in one pass,
so items don't need to be hovered one at a time. Verify Camp Tent
(item 279978) using its Wowhead item page plus the earlier in-game
tooltip screenshot, and resolve its dependents' inheritedFrom IDs.
commit 2d36e425130e8ddcd8f80b898cc4e532ff604ca5
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:40:35 2026 +0200
data: add full Camping feature matrix and docs
Seed Data.lua with every documented Camping feature (Alchemy through
Fishing) under CampingItemsPending, keyed by slug until real item IDs
are captured in-game. Update README with install steps, supported
features, /ci commands, and the data verification workflow.
commit aeb9a432542662a8d30f2cfd323dbfdd3f0d9178
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:40:34 2026 +0200
feat: add Camping item tooltip annotations
Implement the Milestone 1 addon skeleton: TooltipDataProcessor post-call
hook (with a classic OnTooltipSetItem fallback), item ID resolution,
per-tooltip dedup, and a /ci slash command for debug ID capture and
on/off/detailed toggles.
commit ec9cd927114d075632a083d61f313cf911642a4a
Author: Fumi24 <jakob@fumi.dk>
Date: Wed Sep 23 21:36:11 2026 +0200
chore: bootstrap CampingInfo addon repository
Add README and implementation plan for the WoW: Forever Camping tooltip addon.
commit ce3ab9ebb160b05fd2707a010602fbd4b5b1fd7d
Author: Fumi24 <21745301+Fumi24@users.noreply.github.com>
Date: Wed Sep 23 21:33:53 2026 +0200
Initial commit
This mod has no additional files

