Merged
Conversation
…editor Root cause: Layout Studio created save button with id="ls-te-save-btn" but layout_editor.js looks for id="te-save-btn". Same for save status span. The IDs never matched, so the save button click handler was never bound, and clicking Save did nothing. Fixed by changing Layout Studio to use id="te-save-btn" and id="te-save-status" matching what layout_editor.js expects. https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
…ltip Cleaned up debug logging added during layout save investigation: - template_editor.js: removed init, bindSave, drop, save, and error logs - entity_tooltip.js: removed hover trigger log https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
5 genre presets with tailored entity types: - Fantasy/D&D: Character, Location, Faction, Item, Creature, Quest, Lore, Shop - Sci-Fi: Character, Planet, Starship, Species, Corporation, Technology, Mission, Lore - Horror: Investigator, Location, Clue, Entity, NPC, Mystery, Journal - Modern: Character, Location, Organization, Item, Case, Note - Historical: Figure, Place, Event, Artifact, Culture, Dynasty, Note Each genre has appropriate icons, colors, and custom field definitions tailored to the setting (e.g., sci-fi has Ship Class/Crew Capacity, horror has Sanity/Danger Level/Threat Level). Implementation: - genre_presets.go: GenrePreset struct + 5 preset definitions - EntityTypeSeeder interface extended with SeedGenre(ctx, id, genre) - SeedFromTypes() repository method for seeding arbitrary type lists - Campaign creation form: visual genre picker with radio cards - Service wiring: genre flows from form → handler → service → seeder Standard preset (empty genre) falls back to existing SeedDefaults. https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
Backend — 4 new web-facing bulk endpoints: - POST /entities/bulk-type — change entity type (Scribe+, max 200) - POST /entities/bulk-tags — add/remove/set tags (Scribe+, max 200) - POST /entities/bulk-visibility — toggle private/public (Scribe+) - POST /entities/bulk-delete — delete entities (Owner only, max 100) EntityTagFetcher extended with GetEntityTags + SetEntityTags for per-entity tag operations. EntityTagInfo gains ID field. Frontend — bulk_actions.js widget: - Dynamically injects checkboxes on entity cards (grid view) and table rows (table view), plus select-all in table header - Floating action bar appears at bottom when items selected, shows count + Change Type, Add Tags, Visibility, Delete buttons - Cards highlight with accent ring when selected - Re-injects checkboxes after HTMX pagination/filter swaps - Delete requires Owner role; all other actions require Scribe+ Entity list template (index.templ) mounts the bulk-actions widget with campaign ID, CSRF token, role, and entity types data. https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
Campaign dashboard quick-nav card now says "Features" instead of "Plugins" and links to /settings?tab=features (not /plugins). Subtitle changed from "Features & addons" to "Enable campaign features". https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
Content Packs (/admin/extensions) is a WASM extension scaffold with no actual content deployed. The framework code stays but the admin nav link is hidden until the system has real content to manage. Design Lab (/admin/design-lab) is an internal A/B testing page for hover effects and button concepts. Not useful for production admins. Admin sidebar now shows: Dashboard, Users, Campaigns, Storage, Features, API Monitor, Security, Packages, Database, SMTP Settings. Routes and handlers for both pages remain accessible via direct URL. https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
- Admin dashboard: "Open Demo Page" link at bottom opens in new tab - Design Lab renamed to "Demo Page" in title and description - No sidebar nav link — accessible via admin dashboard or direct URL https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
Shows as a grayed-out, non-clickable item at the bottom of the admin sidebar with an amber "WIP" badge. Hover tooltip explains what it will be: community-created calendar presets, entity type collections, map icon packs, and tag sets. Not a link — just a visual reminder that the feature exists and is planned. The extension framework code is ready when needed. https://claude.ai/code/session_01A5jpDgqUvW6iLXXSj49F27
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.