A static landing page (site/) deployed to GitHub Pages via Actions:
- AI-generated brand: the survival-shield logo (favicon → 1024 + .ico) and an
atmospheric campfire hero, on the docs/design-language palette.
- Sections: hero, value props, feature grid (stats, inventory/crafting, gathering,
combat, mobs & AI, no-code admin), an "in action" showcase with the demo videos,
and a get-started/install panel. Dark translucent theme, responsive, self-contained.
- README refreshed to v0.5.0 with the full feature set, badges, and the site link.
The "See it in action" screenshot (site/assets/img/ui-showcase.png) drops in next.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Owner relaxed the asset side of the content-free rule — assets in this repo are
free to use — so the engine now ships its generated HUD icons as defaults instead
of leaving blank slots. Two wins: the HUD is iconed out of the box, and the icons
render in Studio's EDIT view (no Play needed), so you can author/tune the HUD and
see the real thing — or edit it straight from the Explorer.
- StatDefs.luau: each of the 7 stats carries an `icon` default. Putting it here
(not as a per-bar HUD attribute) keeps the admin-panel/config override working —
a per-bar attribute would shadow it. resolveIcon: per-bar attr > config/def.icon
(now the shipped id) > Assets > "".
- assets/hud/SurvivalHud.model.json: bake each bar's child `Icon` ImageLabel
(Image + Visible=true) so it shows in edit mode; the Credits counter (no StatDefs
entry) also gets a per-bar `Icon` attribute to drive its runtime resolution.
- Retire demo/client/HudIcons.client.luau (+ its demo.project.json mount): the
runtime icon-assigning script is now redundant.
- Relax the docs/PR-template "content-free" wording to "design-free": free default
ART may ship (overridable per stat); game-specific DESIGN (items/recipes/lore)
still never ships. Updated design-language, survival-stats, CONTRIBUTING.
- CHANGELOG: record default icons + add the missing admin-plugin entry; note CI
now builds all three Rojo targets.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A Studio dock widget that lets the experience owner tune the survival stats
through a validated form instead of hand-editing Attributes on the
SurvivalStatsConfig instance — the first slice of the Builder/Admin plugin (#11).
The point is compatibility: edits are LOCKED against engine updates. StatAdmin
(the pure, headlessly-testable logic layer) writes deltas only — it sets an
attribute solely when the owner changes a field from the live engine default,
and removes it on reset / edit-back-to-default. So unset fields keep following
the (improvable) engine defaults across a SurvivorCore release, while explicit
overrides live on the owner's instance, which the engine only ever seeds and
never overwrites. Nothing tuned is lost; nothing left alone is frozen.
Hard guardrail: the plugin can read/write only the seven owner-tunable fields
(STUDIO_ATTR_MAP). A write() assert makes it impossible to ever set the
engine-owned semantics Invert / DangerHigh — re-freezing the affliction
fill-direction bug is structurally unreachable. Runtime-verified in Studio:
every write path exercised (including rejected Invert/DangerHigh attempts) left
zero banned attributes on the instance.
- plugin/StatAdmin.luau — logic: roster, effective values, deltas-only writes
- plugin/StatAdminUi.luau — the dock-widget form (per-field reset, override dots)
- plugin/init.server.luau — toolbar/widget wiring + ChangeHistory undo steps
- plugin.project.json — separate Rojo tree; build with --plugin to install
- CI: stylua + a plugin-sourcemap luau-lsp pass + a plugin build
- docs/admin-plugin.md + cross-links; fix stale Invert row in the no-code table
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add docs/survival-stats.md (the stat model, no-code SurvivalStatsConfig tuning, the
SurvivorStatBar/Stat contract, the Rojo one-way-sync caveat) and cross-link it.
CHANGELOG Unreleased entry. CI + CONTRIBUTING now run stylua/luau-lsp over assets/
so the HUD loader is checked.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
PR template: Summary / How to test in Studio / checklist (changelog, CI green,
no secrets, no hardcoded asset IDs). Bug-report and feature-request issue forms
adapted to Roblox (Studio + Rojo plugin versions, repro, which layer), plus a
config.yml routing questions to Discussions. Fix stray FediHome comment in
FUNDING.yml.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ci.yml (push to main/dev + all PRs): rokit install, then stylua --check,
selene, luau-lsp analyze (against a Rojo sourcemap + Roblox type defs), and
build both default.project.json and demo.project.json. Least-privilege
permissions + concurrency cancel-in-progress, mirroring FediHome.
changelog.yml: require CHANGELOG.md in a PR's files unless skip-changelog.
release.yml: add discussions: write + discussion_category_name: Announcements
so each tagged release cross-posts to Discussions.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Foundation (Config/Assets/EventBridge/Hooks/Registry), content registry family, creator-owned component layer + Gatherable example, runnable demo place, Rojo/Wally/Rokit config, and release CI.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>