SpellListManager Interface Overview
The Spell List Manager is the source of truth for which spells exist on which list. Per-actor assignment happens in the per-character Class Rules dialog, titled “Spell Book Settings.”

Accessing the Spell List Manager
Section titled “Accessing the Spell List Manager”Only GM and GM Assistant users can open the Spell List Manager. To open it, go to the Compendium sidebar tab and click the Spell List Manager button at the bottom.
On first open the module indexes every spell in every registered compendium. A progress notification tracks the fetch as it ticks through each pack, then caches the result for the rest of the session.
Window chrome
Section titled “Window chrome”The Spell List Manager is a draggable window. Its header shows:
- A
fa-bars-progressicon on the left. - The “Spell List Manager” title.
- A Detach button that pops the manager into a standalone OS window. Child windows opened from the manager (Create, Merge, Rename, Details Customization, Documentation, Spell Comparison) follow into the same detached window.
- A Close button.
The window is draggable by the header strip. Clicking a button, link, input, or [data-action] inside the header does not start a drag.
Sidebar
Section titled “Sidebar”List browser (default)
Section titled “List browser (default)”The header contains two actions:
- Create. Opens the Create Spell List dialog.
- Merge Lists. Opens the Merge Spell Lists dialog.
Below the header, lists are grouped into collapsible folder sections:
| Folder | Icon | Contents |
|---|---|---|
| Player Spellbooks | user | Actor-owned spellbook journals (wizard spellbooks and other actor-scoped lists). |
| Custom Lists | magic | Lists created via the Create action. |
| Merged Lists | code-merge | Lists produced by Merge Lists. |
| Modified Spell Lists | pen | Auto-created duplicates of stock lists. |
| Spell Lists | scroll | Registered class / subclass lists shipped by the system or another module. |
| Hidden Lists | eye-slash | Any list whose UUID is in the Hidden Spell Lists setting. |
Each list row has an eye icon, except actor-owned rows, to hide or unhide the list. Clicking the list body selects it and swaps the sidebar into filter mode.
Hovering a row shows a tooltip with the list’s full name, source pack, and spell count.
A default list is omitted from the Spell Lists section when it has spells and every one belongs to a source you disabled in the Compendium Browser.
Filter mode (list selected)
Section titled “Filter mode (list selected)”The header shows a Back to Lists arrow that returns to the list browser without losing the current selection. Below it are filters that apply to the Available Spells panel only:
- Search (text, name contains)
- Spell Level (select)
- School (select)
- Casting Time (select)
- Damage Type (select, includes Healing)
- Condition (select)
- Save (select: yes / no)
- Concentration (select: yes / no)
- Material Components (select)
- Range (min / max number inputs, ft or m per world units)
- Compendium Source (select)
- Spell Source (select; resolves class identifiers)
- Ritual Only (checkbox)
- Reset Filters button
Content area
Section titled “Content area”No list selected
Section titled “No list selected”A Select a spell list placeholder is shown.
List selected
Section titled “List selected”
A header bar shows the list name and a row of action buttons. Buttons appear conditionally:
| Button | Shown when |
|---|---|
| Add to Spell Registry (checkbox) | Always |
| Rename (pen) | List carries a kind flag |
| Open Actor (user) | List is actor-owned |
| Open Class (scroll) | List’s class / subclass item is findable in a pack |
| Restore (sync) | List has a kind flag and an originalUuid flag is set |
| Delete (trash) | Always |
| Save (floppy) | Always |
There is no separate “Edit” button. Editing is always implicit: add or remove a spell and click Save. Saving a stock list auto-creates a modified duplicate.
Below the header is the split view.
Available Spells (left panel)
Section titled “Available Spells (left panel)”Compendium spells filtered by the sidebar filter panel. Each row has a + button to add the spell to the current list. Rows are draggable.
The panel renders lazily in batches; scrolling near the bottom appends the next batch until the filtered set is exhausted.
Clicking + adds the spell’s UUID to the pending set. The guard only rejects an exact UUID duplicate; the same spell republished under a different pack UUID can be added separately from each source.
Current List (right panel)
Section titled “Current List (right panel)”The spells currently on the selected list, grouped by spell level under collapsible headings. Each row has a trash button to remove the spell, and rows are draggable.
Drag and drop
Section titled “Drag and drop”- Drag from Available and drop on Current to add.
- Drag from Current and drop on Available to remove.
Always-editable model
Section titled “Always-editable model”Every add and remove is queued as pending changes in memory until you click Save. Switching lists or closing the window without saving discards pending edits.
Save flow: auto-duplication of stock lists
Section titled “Save flow: auto-duplication of stock lists”When the currently selected list carries neither a kind flag nor an actorId flag, it is a stock list shipped by the system or another module. Clicking Save on it:
- Creates a copy in the Modified Spell Lists folder, stamped with a reference back to the original list.
- Adds the original’s UUID to the Hidden Spell Lists setting so the untouched stock list stops cluttering the sidebar.
- Writes your pending edits to the duplicate.
- Adds the duplicate’s UUID to the registry-enabled list if it is not already present, then pushes the updated spell contents into the system’s spell list registry immediately. No reload required.
Subsequent edits of the original UUID route through to the same duplicate.
Compare tool
Section titled “Compare tool”When Compare is enabled in Details Customization, every spell row in both panels gets a scale icon. Clicking it adds or removes the spell from the comparison set. Once two or more spells are queued, a Spell Comparison dialog opens, and detaches along with the manager if detached. The dialog widens as spells are added.
Selection Mode
Section titled “Selection Mode”The checkmark toggle in the footer enables bulk-selection mode. While active:
- Each row in both panels shows a selection highlight in place of its action button.
- Shift-click selects a range between the last clicked row and the current one.
- The footer shows a live count of spells queued for add and remove.
- Bulk Save opens a confirmation dialog summarizing the pending additions and removals, then commits all queued changes in a single save.
- Cancel Selection clears the queue and exits selection mode.
Footer
Section titled “Footer”| Region | Contents |
|---|---|
| Left | Details Customization (palette), Documentation (question-circle). |
| Center | When a list is selected: the selected list’s spell count. When no list is selected: the total indexed spell count. |
| Right | Selection-mode toggle. In selection mode: the selection summary plus Bulk Save and Cancel Selection. |
While browsing lists, the center footer also shows an “N lists hidden” notice when stock lists are omitted because their Compendium Browser source is disabled.
Spell list types
Section titled “Spell list types”| Type | Folder | Source | Editable |
|---|---|---|---|
| Standard | Spell Lists | The system or other modules | Save auto-forks into a Modified duplicate |
| Custom | Custom Lists | Created via Create | Yes, direct |
| Merged | Merged Lists | Built via Merge Lists | Yes, independent of sources |
| Modified | Modified Spell Lists | Auto-created on first save against a standard list | Yes, direct |
| Actor-Owned | Player Spellbooks | Wizard-style spellbook journals tied to a specific actor | Yes |
| Hidden | Hidden Lists | Any list whose UUID is in the Hidden Spell Lists setting | Same rules as its underlying type |
Dialogs
Section titled “Dialogs”Create List, Merge Lists, Rename List, and Documentation render as dialogs. Details Customization opens as its own window. All of them inherit the manager’s attach/detach state, so opening the manager into a detached window routes these child windows into it as well.
Create List
Section titled “Create List”
- Name: display name (max 100 chars).
- Class Identifier: dropdown of detected class identifiers, plus a Custom option that enables a manual identifier input (lowercase letters, digits, underscore, hyphen).
- Subclass Spell List: checkbox; flag the list as a subclass list rather than a base class list.
Merge Lists
Section titled “Merge Lists”- Spell Lists to Merge: multi-select grouped by folder (Spell Lists, Custom Lists, Merged Lists, Player Spellbooks). Requires at least two selections.
- Merged List Name: required.
- Hide Source Lists: optional. When set, the chosen source UUIDs are added to the Hidden Spell Lists setting after the merge.
Rename List
Section titled “Rename List”Single-input dialog. Available only for custom, merged, newly-created, or duplicated lists. Stock lists cannot be renamed directly; rename one by editing its duplicate instead.
Details Customization
Section titled “Details Customization”Full reference: Details Customization. Opens from the palette icon in the footer.
Documentation
Section titled “Documentation”Help dialog rendered from a Handlebars template. Contains overview, creation steps, modification controls, integration notes, best practices, and social links.
Registry toggle
Section titled “Registry toggle”Each selected list shows an Add to Spell Registry checkbox in the list header.
- Enabling adds the UUID to the registry-enabled list and pushes it into the system’s spell list registry immediately. Any spell on the list starts showing its class label on item sheets straight away, without a reload.
- Disabling removes the UUID from the setting and shows a notification explaining that a reload is needed to clear already-registered contributions. The system exposes no unregister API: contributions from the previous registration persist until the world reloads.
- On every save, including the first save against a stock list, the module re-registers the list so newly added spells show up on item sheets without manual toggling.
Enabled UUIDs persist across reloads: on world ready, the module re-registers each one and prunes entries whose target page no longer resolves or is missing required spell-list fields.
Deleting a modified duplicate
Section titled “Deleting a modified duplicate”Clicking Delete opens a confirmation dialog before removing the list. Confirming does three things:
- Deletes the duplicate’s journal entry from the custom pack.
- Removes its mapping back to the original stock list.
- Removes the original UUID from the Hidden Spell Lists setting, restoring the stock list to the Spell Lists folder.
After deletion the sidebar returns to the list view.
Assigning lists to characters
Section titled “Assigning lists to characters”The Spell List Manager defines and stores lists; it does not load them onto actors. To make a list usable by a character, open that character’s sheet and assign the list per class through Spell Book Settings (Class Rules). That dialog has two assignments per class:
customSpellList: the class’s assigned spell list or lists. Multiple lists can be selected; their spells are merged.customSubclassSpellList: the subclass list or lists, merged the same way. This is an explicit assignment, not a registry lookup.
See:
- Creating New Spell Lists
- Modifying Existing Spell Lists
- Installation and Settings for the Spell Book Settings entry point.
Common workflows
Section titled “Common workflows”Create a custom list
Section titled “Create a custom list”- Click Create in the sidebar header.
- Fill in name, class identifier (or pick Custom), and subclass flag if needed.
- Confirm. The new list opens automatically.
- Use the sidebar filters to narrow down the Available panel.
- Add spells via the + button, drag-and-drop, or selection mode.
- Click Save.
- Open the target character’s sheet and assign the list in Spell Book Settings.
Merge Lists
Section titled “Merge Lists”- Click Merge Lists in the sidebar header.
- Multi-select source lists and provide a merged name.
- Optionally tick Hide Source Lists.
- Confirm. The merged list opens and can be edited like any custom list.
Modify a standard list
Section titled “Modify a standard list”- Select a standard list.
- Add or remove spells. Pending changes accumulate in memory.
- Click Save. A modified duplicate is created, the original is hidden, the duplicate opens, and filters are cleared so the Available panel does not show “no matches”.
- The duplicate shows a Restore button because it retains a reference to the stock list.
Restore a modified duplicate
Section titled “Restore a modified duplicate”- Select a duplicate list that shows a Restore button.
- Click Restore. A confirmation dialog warns that customizations will be removed.
- Confirming reverts the duplicate’s spells to match the current original list.
Bulk edit
Section titled “Bulk edit”- Select a list.
- Toggle selection mode from the footer’s checkmark.
- Click spell rows to flag them (shift-click for ranges).
- Click Bulk Save in the footer and confirm.