Repository navigation
Releases: Vikquick/Campkeeper
Releases · Vikquick/Campkeeper
Release list
v0.3.0
Campkeeper
v0.3.0 (2026-10-13)
Full Changelog Previous Releases
- add-camp-announce: close 3.4, 4.4, 5.1 by the author's decision
In-game checks D1, D3-D9, D11 stay open in the beta checklist.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Announce a camp in chat, camps from chat, camp benefits of the group
OpenSpec change add-camp-announce (21 of 25 tasks; the rest need the game
or a release decision).- Announce: a button in the camp panel and /ck announce post one line to
group, guild or general chat: fire, places, objects, time left, a map
pin and a tag "(Campkeeper T1 7m #code)" with only what is known. The
line can be written in the client's language, English or Russian
(Data/Names.lua); the tag carries the objects as a code, so another
Campkeeper understands it in any language. One announcement per camp
and chat in 2 minutes; sent and "seen in chat" go to the debug log. - Camps from chat: a message with a map pin and a word about a camp (or
a Campkeeper tag) becomes an unconfirmed camp on the map; source
"chat" is never saved or passed on; can be turned off. - Group benefits: the Planner shows who has Camp Benefits, a button
posts who lacks them, a private summary appears at a ready check. - Fixes from the beta: PLAYER_LOGOUT handler with no camps, the map pin
text taken from the client as is.
Checked in the beta (build 70338): announcements to general chat in
Russian and in English arrive (checklist D2, D10).
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Announce: a button in the camp panel and /ck announce post one line to
v0.2.1
Campkeeper
v0.2.1 (2026-10-10)
Full Changelog Previous Releases
- Task 9.7: v0.2.0-beta published to CurseForge, Wago and GitHub
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Status texts: Campkeeper is in beta
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - sync_wiki: tell a network error from a missing wiki
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Rescan build 70334, specs follow beta findings, tasks 6.3 6.4 8.3 10.2 11.1
- Rescan: catalog IDs, skills and replacements unchanged; Enchanted Lute
now gives +114 armor and +4 to all stats (was +71 and +2). Wiki page
regenerated, research notes the 1 h -> 5 min cooldown change. - Specs: panel only at the camp (hides 10 s after leaving even with
benefits), queue only during chat lockdown, player names with surnames,
planner without "per hour". - Tasks confirmed in game: one-click placement, sitting bar and hints,
pins for own and seen camps, catalog "known" marks, client rescan.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Rescan: catalog IDs, skills and replacements unchanged; Enchanted Lute
- Beta checklist: A5, A7, A11, A15 pass; radius samples and session notes
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Beta fixes: addon messages, unique names, recipes, panel away from camp
From the 2026-10-10 beta session (build 70334):- Comm: AreOutgoingAddonChatMessagesRestricted() is always true in Forever,
yet guild and channel messages go out and echo back. Queue only during
InChatMessagingLockdown(); the flag is only recorded for research. - Forever has regionally unique names ("Name Surname"). New
ns.api.unitFullName/senderName: own echo is no longer taken for another
player, the self whisper reaches us, the planner matches PROF senders. - Recipes learned in the profession window were wiped at login
(IsPlayerSpell is false for profession recipes); now only the window
may clear them. - Panel hides 10 s after leaving the camp even while benefits last.
- /ck commtest and per-tick client state samples for Q5 research.
- Shared cooldown wording without "per hour" (5 min measured in 70334);
wiki, listing and checklist updated.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Comm: AreOutgoingAddonChatMessagesRestricted() is always true in Forever,
- Add Boosty donation link to the listing texts and the wiki
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add player wiki: camping guide, generated camp objects page, sync script
docs/wiki/ holds the GitHub wiki pages. Camp-Objects.md is generated by
tools/gen_wiki.py from Data/Catalog.lua and tools/wiki_objects.json, and a
test fails when it falls behind the catalog. tools/sync_wiki.py publishes
the pages to the repository wiki. listing.md gets the CurseForge wiki,
issues, donation and Roadmap page fields.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Beta checklist: A9 benefits composition passes
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Panel: keep long effects inside the panel
The tent's two-sentence effect spilled far left of the panel and squeezed
the object names. The status column now has a fixed width (text is cut with
an ellipsis), rows show the first sentence and the tooltip the full effect;
the panel is 300 px wide.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Apply first beta data: short benefit names, Boosted Rest, Q5 queue tracking
The benefits tooltip names the tent 'Палатка' (item: 'Лагерная палатка'):
the parser now accepts a name contained as whole words in exactly one
object (or one tier chain) and logs the match. Boosted Rest is aura 1229451
'Улучшенный отдых' (3600 s): added to the catalog and shown on the panel
and the alts tab. Research records why messages were queued and when the
queue was sent. Findings written to the research notes; task 5.5 done.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add beta research collector and /ck report
Dev/Research.lua records, locally only, what the open client questions need:
raw Camp Benefits tooltips (Q1), distance to the own fire when its aura
appears or disappears (Q2) and the burn time, auras gained at camps with a
tent (Q3), camp blueprints in bags (Q4), addon messages sent / echoed /
received per channel (Q5), blocked actions, aura durations, placement errors
and catalog IDs missing in the client. /ck report prints a summary; an option
turns collection off. Spec addon-shell and tasks group 12 added.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - CI: allow the release job to create GitHub releases; bump actions
v0.1.0-alpha reached CurseForge and Wago but the GitHub release failed with
403: the default GITHUB_TOKEN is read-only in new repositories. Also move
to actions/checkout@v5 and setup-python@v6 (Node 24). Tasks 7.2-7.3 done.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add Wago project ID to the .toc
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add CurseForge project ID to the .toc
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Keep LICENSE as the plain MIT text; note embedded libraries in README
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add MIT license (matches the CurseForge project)
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add project logo and CurseForge/Wago listing texts
tools/make_logo.py draws original artwork (night sky, tent, campfire) into
docs/media/logo.png; docs/listing.md holds the form fields and the EN/RU
descriptions.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - README: replace local paths with placeholders
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Record window check in tasks and beta checklist
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Planner tab: drop manual profession entry
Members without Campkeeper are listed as such and explained under the plan;
they get no assignments but their classes still count for class buffs.
Spec and task 10.4 updated.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Planner tab: explain what it is for and why the plan is short
Heading and one-line explanation (one camping item per member per hour),
radio buttons for goal and campfire instead of disabled-looking buttons,
members with professions on their own line and a 'set professions' link,
labelled manual entry with dropdowns (modern menu, cycling fallback) and a
skill placeholder, numbered plan and notes when it is shorter than the
places (alone, no free members, no skills, class buffs skipped).
Planner reports skipped families; manual entries no longer write into
professions received from another member's addon.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Alts tab: live cooldown countdown, details on two lines
The window refreshes tabs marked LIVE once a second while open, so the
cooldown counts down; recipes and blueprints moved to their own line
instead of being cut off.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add main window: catalog, planner and alts tabs
UI/Window.lua with three tabs (Esc closes, /ck and minimap left click
toggle). Catalog: profession x tier grid with skill, replacement and known
recipes (cooking tier 1 is the basic fire). Planner: group roster with
professions from PROF messages or manual entry, role and fire tier, plan
posted to group chat. Alts: per-character professions, items, recipes,
blueprints (unknown until Q4) and cooldown; minimap tooltip lists alts'
cooldowns. Planner gives the fire to the member least needed elsewhere.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp planner
Core/Planner.lua assigns the fire and objects to group members: one item per
member (shared 1 h cooldown), class buffs present in the group excluded,
role weights, highest tier among free members, deterministic; chat lines
for the group. Planner spec gains the one-item-per-member rule.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp sharing; fix panel header layout and glyphs
Comm/Protocol.lua: CAMPK messages (CAMP/SYNC/PROF) with an arithmetic
object mask, version check and validation of every incoming message.
Comm/Comm.lua: guild, group and hidden channel, queue while addon chat is
restricted, broadcasts own/seen camps, answers guild SYNC (max two
responders, random 2-8 s delay), errors contained and logged.
Panel: the middle dot rendered as a box and the header wrapped over the
first row; the fire timer now has its own line, texts never wrap, and a
test keeps locale strings to ASCII and Cyrillic.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp store and map pins
Core/CampStore.lua keeps known camps (own, seen, reported), merges records
within 30 yd with overlapping lifetimes, prefers the most precise source,
prunes expired ones, caps at 200 and confirms channel reports from two
players. UI/Pins.lua shows them on the world map and minimap (translucent
when unconfirmed, edge-floating within 500 yd) and sets a TomTom or
built-in waypoint on click. Mock UnitPosition axi...
v0.2.0-beta
Campkeeper
v0.2.0-beta (2026-10-10)
Full Changelog Previous Releases
- Status texts: Campkeeper is in beta
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - sync_wiki: tell a network error from a missing wiki
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Rescan build 70334, specs follow beta findings, tasks 6.3 6.4 8.3 10.2 11.1
- Rescan: catalog IDs, skills and replacements unchanged; Enchanted Lute
now gives +114 armor and +4 to all stats (was +71 and +2). Wiki page
regenerated, research notes the 1 h -> 5 min cooldown change. - Specs: panel only at the camp (hides 10 s after leaving even with
benefits), queue only during chat lockdown, player names with surnames,
planner without "per hour". - Tasks confirmed in game: one-click placement, sitting bar and hints,
pins for own and seen camps, catalog "known" marks, client rescan.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Rescan: catalog IDs, skills and replacements unchanged; Enchanted Lute
- Beta checklist: A5, A7, A11, A15 pass; radius samples and session notes
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Beta fixes: addon messages, unique names, recipes, panel away from camp
From the 2026-10-10 beta session (build 70334):- Comm: AreOutgoingAddonChatMessagesRestricted() is always true in Forever,
yet guild and channel messages go out and echo back. Queue only during
InChatMessagingLockdown(); the flag is only recorded for research. - Forever has regionally unique names ("Name Surname"). New
ns.api.unitFullName/senderName: own echo is no longer taken for another
player, the self whisper reaches us, the planner matches PROF senders. - Recipes learned in the profession window were wiped at login
(IsPlayerSpell is false for profession recipes); now only the window
may clear them. - Panel hides 10 s after leaving the camp even while benefits last.
- /ck commtest and per-tick client state samples for Q5 research.
- Shared cooldown wording without "per hour" (5 min measured in 70334);
wiki, listing and checklist updated.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com
- Comm: AreOutgoingAddonChatMessagesRestricted() is always true in Forever,
- Add Boosty donation link to the listing texts and the wiki
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add player wiki: camping guide, generated camp objects page, sync script
docs/wiki/ holds the GitHub wiki pages. Camp-Objects.md is generated by
tools/gen_wiki.py from Data/Catalog.lua and tools/wiki_objects.json, and a
test fails when it falls behind the catalog. tools/sync_wiki.py publishes
the pages to the repository wiki. listing.md gets the CurseForge wiki,
issues, donation and Roadmap page fields.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Beta checklist: A9 benefits composition passes
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Panel: keep long effects inside the panel
The tent's two-sentence effect spilled far left of the panel and squeezed
the object names. The status column now has a fixed width (text is cut with
an ellipsis), rows show the first sentence and the tooltip the full effect;
the panel is 300 px wide.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Apply first beta data: short benefit names, Boosted Rest, Q5 queue tracking
The benefits tooltip names the tent 'Палатка' (item: 'Лагерная палатка'):
the parser now accepts a name contained as whole words in exactly one
object (or one tier chain) and logs the match. Boosted Rest is aura 1229451
'Улучшенный отдых' (3600 s): added to the catalog and shown on the panel
and the alts tab. Research records why messages were queued and when the
queue was sent. Findings written to the research notes; task 5.5 done.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add beta research collector and /ck report
Dev/Research.lua records, locally only, what the open client questions need:
raw Camp Benefits tooltips (Q1), distance to the own fire when its aura
appears or disappears (Q2) and the burn time, auras gained at camps with a
tent (Q3), camp blueprints in bags (Q4), addon messages sent / echoed /
received per channel (Q5), blocked actions, aura durations, placement errors
and catalog IDs missing in the client. /ck report prints a summary; an option
turns collection off. Spec addon-shell and tasks group 12 added.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - CI: allow the release job to create GitHub releases; bump actions
v0.1.0-alpha reached CurseForge and Wago but the GitHub release failed with
403: the default GITHUB_TOKEN is read-only in new repositories. Also move
to actions/checkout@v5 and setup-python@v6 (Node 24). Tasks 7.2-7.3 done.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add Wago project ID to the .toc
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add CurseForge project ID to the .toc
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Keep LICENSE as the plain MIT text; note embedded libraries in README
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add MIT license (matches the CurseForge project)
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add project logo and CurseForge/Wago listing texts
tools/make_logo.py draws original artwork (night sky, tent, campfire) into
docs/media/logo.png; docs/listing.md holds the form fields and the EN/RU
descriptions.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - README: replace local paths with placeholders
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Record window check in tasks and beta checklist
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Planner tab: drop manual profession entry
Members without Campkeeper are listed as such and explained under the plan;
they get no assignments but their classes still count for class buffs.
Spec and task 10.4 updated.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Planner tab: explain what it is for and why the plan is short
Heading and one-line explanation (one camping item per member per hour),
radio buttons for goal and campfire instead of disabled-looking buttons,
members with professions on their own line and a 'set professions' link,
labelled manual entry with dropdowns (modern menu, cycling fallback) and a
skill placeholder, numbered plan and notes when it is shorter than the
places (alone, no free members, no skills, class buffs skipped).
Planner reports skipped families; manual entries no longer write into
professions received from another member's addon.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Alts tab: live cooldown countdown, details on two lines
The window refreshes tabs marked LIVE once a second while open, so the
cooldown counts down; recipes and blueprints moved to their own line
instead of being cut off.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add main window: catalog, planner and alts tabs
UI/Window.lua with three tabs (Esc closes, /ck and minimap left click
toggle). Catalog: profession x tier grid with skill, replacement and known
recipes (cooking tier 1 is the basic fire). Planner: group roster with
professions from PROF messages or manual entry, role and fire tier, plan
posted to group chat. Alts: per-character professions, items, recipes,
blueprints (unknown until Q4) and cooldown; minimap tooltip lists alts'
cooldowns. Planner gives the fire to the member least needed elsewhere.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp planner
Core/Planner.lua assigns the fire and objects to group members: one item per
member (shared 1 h cooldown), class buffs present in the group excluded,
role weights, highest tier among free members, deterministic; chat lines
for the group. Planner spec gains the one-item-per-member rule.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp sharing; fix panel header layout and glyphs
Comm/Protocol.lua: CAMPK messages (CAMP/SYNC/PROF) with an arithmetic
object mask, version check and validation of every incoming message.
Comm/Comm.lua: guild, group and hidden channel, queue while addon chat is
restricted, broadcasts own/seen camps, answers guild SYNC (max two
responders, random 2-8 s delay), errors contained and logged.
Panel: the middle dot rendered as a box and the header wrapped over the
first row; the fire timer now has its own line, texts never wrap, and a
test keeps locale strings to ASCII and Cyrillic.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp store and map pins
Core/CampStore.lua keeps known camps (own, seen, reported), merges records
within 30 yd with overlapping lifetimes, prefers the most precise source,
prunes expired ones, caps at 200 and confirms channel reports from two
players. UI/Pins.lua shows them on the world map and minimap (translucent
when unconfirmed, edge-floating within 500 yd) and sets a TomTom or
built-in waypoint on click. Mock UnitPosition axis order fixed.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add beta checklist, CI workflow a...
v0.1.1-alpha
Campkeeper
v0.1.1-alpha (2026-10-09)
Full Changelog Previous Releases
- Beta checklist: A9 benefits composition passes
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Panel: keep long effects inside the panel
The tent's two-sentence effect spilled far left of the panel and squeezed
the object names. The status column now has a fixed width (text is cut with
an ellipsis), rows show the first sentence and the tooltip the full effect;
the panel is 300 px wide.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Apply first beta data: short benefit names, Boosted Rest, Q5 queue tracking
The benefits tooltip names the tent 'Палатка' (item: 'Лагерная палатка'):
the parser now accepts a name contained as whole words in exactly one
object (or one tier chain) and logs the match. Boosted Rest is aura 1229451
'Улучшенный отдых' (3600 s): added to the catalog and shown on the panel
and the alts tab. Research records why messages were queued and when the
queue was sent. Findings written to the research notes; task 5.5 done.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add beta research collector and /ck report
Dev/Research.lua records, locally only, what the open client questions need:
raw Camp Benefits tooltips (Q1), distance to the own fire when its aura
appears or disappears (Q2) and the burn time, auras gained at camps with a
tent (Q3), camp blueprints in bags (Q4), addon messages sent / echoed /
received per channel (Q5), blocked actions, aura durations, placement errors
and catalog IDs missing in the client. /ck report prints a summary; an option
turns collection off. Spec addon-shell and tasks group 12 added.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - CI: allow the release job to create GitHub releases; bump actions
v0.1.0-alpha reached CurseForge and Wago but the GitHub release failed with
403: the default GITHUB_TOKEN is read-only in new repositories. Also move
to actions/checkout@v5 and setup-python@v6 (Node 24). Tasks 7.2-7.3 done.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add Wago project ID to the .toc
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add CurseForge project ID to the .toc
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Keep LICENSE as the plain MIT text; note embedded libraries in README
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add MIT license (matches the CurseForge project)
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add project logo and CurseForge/Wago listing texts
tools/make_logo.py draws original artwork (night sky, tent, campfire) into
docs/media/logo.png; docs/listing.md holds the form fields and the EN/RU
descriptions.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - README: replace local paths with placeholders
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Record window check in tasks and beta checklist
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Planner tab: drop manual profession entry
Members without Campkeeper are listed as such and explained under the plan;
they get no assignments but their classes still count for class buffs.
Spec and task 10.4 updated.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Planner tab: explain what it is for and why the plan is short
Heading and one-line explanation (one camping item per member per hour),
radio buttons for goal and campfire instead of disabled-looking buttons,
members with professions on their own line and a 'set professions' link,
labelled manual entry with dropdowns (modern menu, cycling fallback) and a
skill placeholder, numbered plan and notes when it is shorter than the
places (alone, no free members, no skills, class buffs skipped).
Planner reports skipped families; manual entries no longer write into
professions received from another member's addon.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Alts tab: live cooldown countdown, details on two lines
The window refreshes tabs marked LIVE once a second while open, so the
cooldown counts down; recipes and blueprints moved to their own line
instead of being cut off.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add main window: catalog, planner and alts tabs
UI/Window.lua with three tabs (Esc closes, /ck and minimap left click
toggle). Catalog: profession x tier grid with skill, replacement and known
recipes (cooking tier 1 is the basic fire). Planner: group roster with
professions from PROF messages or manual entry, role and fire tier, plan
posted to group chat. Alts: per-character professions, items, recipes,
blueprints (unknown until Q4) and cooldown; minimap tooltip lists alts'
cooldowns. Planner gives the fire to the member least needed elsewhere.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp planner
Core/Planner.lua assigns the fire and objects to group members: one item per
member (shared 1 h cooldown), class buffs present in the group excluded,
role weights, highest tier among free members, deterministic; chat lines
for the group. Planner spec gains the one-item-per-member rule.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp sharing; fix panel header layout and glyphs
Comm/Protocol.lua: CAMPK messages (CAMP/SYNC/PROF) with an arithmetic
object mask, version check and validation of every incoming message.
Comm/Comm.lua: guild, group and hidden channel, queue while addon chat is
restricted, broadcasts own/seen camps, answers guild SYNC (max two
responders, random 2-8 s delay), errors contained and logged.
Panel: the middle dot rendered as a box and the header wrapped over the
first row; the fire timer now has its own line, texts never wrap, and a
test keeps locale strings to ASCII and Cyrillic.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp store and map pins
Core/CampStore.lua keeps known camps (own, seen, reported), merges records
within 30 yd with overlapping lifetimes, prefers the most precise source,
prunes expired ones, caps at 200 and confirms channel reports from two
players. UI/Pins.lua shows them on the world map and minimap (translucent
when unconfirmed, edge-floating within 500 yd) and sets a TomTom or
built-in waypoint on click. Mock UnitPosition axis order fixed.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add beta checklist, CI workflow and packaging layout
docs/testing/beta-checklist.md with alpha/beta/1.0 scenarios and results so
far; GitHub Actions runs the Lua tests on every push and BigWigs Packager on
v* tags; .pkgmeta moves Campkeeper/Campkeeper to the zip root and ignores
the tooling folders.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp panel with row model and secure place buttons
Core/PanelModel.lua computes rows (placed / placeable / covered), header
and sitting state without frames. UI/Panel.lua renders them next to the
buffs: shown near a camp, hidden 10 s after leaving and in combat, secure
item buttons reconfigured only out of combat, sitting bar and placement
error hints. Class buff names are cached and missing ones logged once.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add professions, own camp, cooldown, saved benefits and alerts
Core/Professions.lua keeps per-character skills, camp items and known
recipes; Core/OwnCamp.lua tracks the own fire and objects within 30 yd,
placement errors 57/58, the shared camping cooldown and the last benefits
across sessions; UI/Alerts.lua schedules five optional alerts. Test
harness gains a relog helper that round-trips SavedVariables.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add minimap button (LibDataBroker launcher + LibDBIcon)
Left click opens the window (settings until the window exists), right
click opens settings; the existing option shows and hides the button.
Part of task 10.1, brought forward.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Rename slash command to /ck and /campkeeper
/camp is the client's built-in logout command and runs before addon
commands, so /camp config logged the character out. Spec now forbids
shadowing client commands; a test guards the registered names.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add camp state machine and Camp Benefits parser
Core/CampState.lua derives AWAY/NEAR/SITTING/BUFFED from the three camp
auras on UNIT_AURA, rebuilds on login, full updates and after combat, and
freezes on combat or secret values. Core/BenefitsParser.lua reads the
benefits tooltip (multi-line description, grammar codes, colour codes,
all tier names) and retries until the description arrives.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com - Add Campkeeper catalog: tier table, generator and lookups
tools/catalog_tiers.json (35 objects, 3 fires, class buffs, planner
weights); tools/gen_catalog.py resolves placement/craft spells and
replacements from the client scan and guards the protocol bit orde...
Campkeeper v0.1.0-alpha
First alpha of Campkeeper for World of Warcraft: Forever (beta client 1.60.1).
Downloads:
- CurseForge: https://wow.curseforge.com/projects/1735406
- Wago: https://addons.wago.io/addons/vNAWxRKo
Included: camp panel and timers, alerts, camps on the map with sharing (guild, group, shared channel), catalog, group planner and alts window (/ck).