@musnows/scriverse 0.4.5 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,10 @@ import { formatAiContextUsageTooltip } from "/ai-context-meter.js?v=20260718-lay
12
12
  import { copyAiRawMarkdown } from "/ai-message-actions.js?v=20260713-copy-raw-markdown";
13
13
  import { THEME_STORAGE_KEY, nextTheme, normalizeTheme, themeToggleLabel } from "/theme.js?v=20260713-dark-mode";
14
14
  import { buildCharacterDetails, buildCharacterState, characterStateEntries, normalizeCharacterDetails, normalizeCharacterSections } from "/character-profile.js?v=20260713-character-editor";
15
- import { characterVersionSourceLabel, describeCharacterVersionChanges } from "/character-version.js?v=20260713-character-history";
15
+ import { characterVersionSourceLabel, describeCharacterVersionChanges } from "/character-version.js?v=20260725-unified-permissions";
16
16
  import { VERSIONED_ENTITY_LABELS, entityVersionSnapshotSummary, entityVersionSourceLabel } from "/entity-version.js?v=20260725-enum-labels-zh";
17
17
  import {
18
18
  chapterVersionSourceLabel,
19
- characterVisibilityLabel,
20
19
  foreshadowStatusLabel,
21
20
  levelLabel,
22
21
  occurrenceRoleLabel,
@@ -31,7 +30,7 @@ import {
31
30
  settingStatusLabel,
32
31
  taskScopeLabel,
33
32
  timelineStatusLabel
34
- } from "/display-labels.js?v=20260725-enum-labels-zh";
33
+ } from "/display-labels.js?v=20260725-unified-permissions";
35
34
  import { parsePageRoute, serializePageRoute } from "/page-route.js?v=20260723-knowledge-editor-page";
36
35
  import { splitRelationshipKeywordInput, splitRelationshipKeywords, uniqueRelationshipKeywords } from "/relationship-keywords.js?v=20260720-relationship-keyword-chips";
37
36
  import { tokenizeVisibleSpaces } from "/whitespace-visualization.js?v=20260718-visible-whitespace";
@@ -40,6 +39,7 @@ import { ANALYSIS_TYPES, analysisTypeDescription } from "/analysis-types.js?v=20
40
39
  import { WORK_PERMISSION_MODULES, canReadPermissionModule, canReadUiModule, canWritePermissionModule, canWriteUiModule, emptyModulePermissions, firstReadableUiModule, normalizeModulePermissions, permissionSummary } from "/work-permissions.js?v=20260724-outline-title";
41
40
  import { MODULE_LAYOUT_STORAGE_KEY, LEGACY_SETTINGS_LAYOUT_STORAGE_KEY, normalizeModuleLayout } from "/module-layout.js?v=20260723-module-layout-toggle";
42
41
  import { isGlobalSearchShortcut } from "/keyboard-shortcuts.js?v=20260723-global-search";
42
+ import { filterCharacters, paginateCharacters } from "/character-filters.js?v=20260725-character-filters";
43
43
 
44
44
  const state = {
45
45
  user: null,
@@ -705,6 +705,8 @@ let entityEditorType = null;
705
705
  let entityEditorDirty = false;
706
706
  let entityEditorReadOnly = false;
707
707
  let characterListPage = 1;
708
+ const characterFilters = { raceIds: [], organizationIds: [] };
709
+ let characterFiltersPanelOpen = false;
708
710
  let settingEditorItem = null;
709
711
  let characterEditorItem = null;
710
712
  let knowledgeEditorItem = null;
@@ -3130,6 +3132,15 @@ function bindModuleLayoutToggle(refresh) {
3130
3132
  }));
3131
3133
  }
3132
3134
 
3135
+ function mountCharacterFilterToggle() {
3136
+ $("#module-header-actions").querySelector('[data-module-header-action="character-filter-toggle"]')?.remove();
3137
+ $("#module-header-actions").insertAdjacentHTML("afterbegin", `<button type="button" class="module-filter-toggle" data-module-header-action="character-filter-toggle" aria-label="筛选角色" aria-controls="character-filter-panel" aria-expanded="${characterFiltersPanelOpen}" title="筛选角色"><svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4 5h16l-6.5 7.2v5.3l-3 1.5v-6.8L4 5Z"></path></svg></button>`);
3138
+ $("#module-header-actions").querySelector('[data-module-header-action="character-filter-toggle"]')?.addEventListener("click", async () => {
3139
+ characterFiltersPanelOpen = !characterFiltersPanelOpen;
3140
+ await renderCharacters(characterListPage);
3141
+ });
3142
+ }
3143
+
3133
3144
  function bindRecordPreview(selector, open) {
3134
3145
  $("#module-content").querySelectorAll(selector).forEach((card) => {
3135
3146
  const id = card.dataset.openSetting ?? card.dataset.openCharacter ?? card.dataset.openRace ?? card.dataset.openOrganization ?? card.dataset.openReview;
@@ -3248,7 +3259,15 @@ async function renderSettings() {
3248
3259
  }
3249
3260
 
3250
3261
  async function renderCharacters(page = characterListPage) {
3251
- const characterPage = await apiPage(`/api/works/${state.work.id}/characters`, page);
3262
+ const hasCharacterFilters = characterFilters.raceIds.length > 0 || characterFilters.organizationIds.length > 0;
3263
+ const [characterSource, races, organizations] = await Promise.all([
3264
+ hasCharacterFilters ? apiAllPages(`/api/works/${state.work.id}/characters`) : apiPage(`/api/works/${state.work.id}/characters`, page),
3265
+ canReadModule("races") ? apiAllPages(`/api/works/${state.work.id}/races`) : Promise.resolve([]),
3266
+ canReadModule("organizations") ? apiAllPages(`/api/works/${state.work.id}/organizations`) : Promise.resolve([])
3267
+ ]);
3268
+ const characterPage = hasCharacterFilters
3269
+ ? paginateCharacters(filterCharacters(characterSource, characterFilters), page, 50)
3270
+ : characterSource;
3252
3271
  if (!characterPage.items.length && page > 1) return renderCharacters(page - 1);
3253
3272
  characterListPage = characterPage.page;
3254
3273
  state.characters = characterPage.items;
@@ -3257,7 +3276,7 @@ async function renderCharacters(page = characterListPage) {
3257
3276
  const characterCards = () => `<div class="card-grid">${state.characters.map((item) => {
3258
3277
  const details = normalizeCharacterDetails(item.attributes?.details);
3259
3278
  return `
3260
- <article class="record-card character-card preview-record-card has-card-edit" data-open-character="${esc(item.id)}" role="button" tabindex="0" aria-label="查看角色 ${esc(item.name)}">${recordCardEditButton("edit-character", item.id, `角色“${item.name}”`)}<small>${item.lockedFields.length ? `锁定 ${item.lockedFields.length} 项` : esc(characterVisibilityLabel(item.visibility))}</small>
3279
+ <article class="record-card character-card preview-record-card has-card-edit" data-open-character="${esc(item.id)}" role="button" tabindex="0" aria-label="查看角色 ${esc(item.name)}">${recordCardEditButton("edit-character", item.id, `角色“${item.name}”`)}${item.lockedFields.length ? `<small>锁定 ${item.lockedFields.length} 项</small>` : ""}
3261
3280
  <h3>${esc(item.name)}</h3>
3262
3281
  ${item.attributes?.identity ? `<p class="character-identity">${esc(item.attributes.identity)}</p>` : ""}
3263
3282
  ${item.aliases.length ? `<div class="character-aliases">${item.aliases.map((alias) => `<span class="pill">${esc(alias)}</span>`).join("")}</div>` : ""}
@@ -3280,14 +3299,12 @@ async function renderCharacters(page = characterListPage) {
3280
3299
  const line = meta ? `${meta} · ${preview}` : preview;
3281
3300
  return `
3282
3301
  <article class="record-card module-row character-card preview-record-card" data-open-character="${esc(item.id)}" role="button" tabindex="0" aria-label="查看角色 ${esc(item.name)}">
3283
- <small>${item.lockedFields.length ? `锁定 ${item.lockedFields.length} 项` : esc(characterVisibilityLabel(item.visibility))}</small>
3302
+ ${item.lockedFields.length ? `<small>锁定 ${item.lockedFields.length} 项</small>` : ""}
3284
3303
  <h3>${esc(item.name)}</h3>
3285
3304
  <p class="module-row-preview" title="${esc(line)}">${esc(line)}</p>
3286
3305
  <div class="card-actions">${characterActions(item)}</div>
3287
3306
  </article>`;
3288
3307
  }).join("")}</div>`;
3289
- const hasMultipleCharacters = characterPage.page > 1 || characterPage.hasMore || state.characters.length > 1;
3290
- const auditPanel = canEditModule("tasks") ? `<section class="character-audit-panel"><div><strong>角色身份确认</strong><small>让 AI 查询角色档案并搜索正文,找出可能被误建成两个档案的同一角色。AI 只提交审核建议,不会自动合并。</small></div><button id="create-character-audit-task" class="ghost-button" type="button" ${hasMultipleCharacters ? "" : "disabled"}>AI 角色查重</button></section>` : "";
3291
3308
  const pagination = state.characters.length && (characterPage.page > 1 || characterPage.hasMore)
3292
3309
  ? `<nav class="module-pagination" aria-label="角色列表分页">
3293
3310
  <button type="button" data-character-page="${characterPage.page - 1}" ${characterPage.page <= 1 ? "disabled" : ""}>上一页</button>
@@ -3295,30 +3312,53 @@ async function renderCharacters(page = characterListPage) {
3295
3312
  <button type="button" data-character-page="${characterPage.nextPage ?? characterPage.page + 1}" ${characterPage.hasMore ? "" : "disabled"}>下一页</button>
3296
3313
  </nav>`
3297
3314
  : "";
3315
+ const selectedRaceIds = new Set(characterFilters.raceIds);
3316
+ const selectedOrganizationIds = new Set(characterFilters.organizationIds);
3317
+ const selectedRaceNames = races.filter((race) => selectedRaceIds.has(String(race.id))).map((race) => racePathLabel(race) || race.name);
3318
+ const selectedOrganizationNames = organizations.filter((organization) => selectedOrganizationIds.has(String(organization.id))).map((organization) => organization.name);
3319
+ const filterOptionList = (items, selectedIds, valueKey = "id") => items.map((item) => {
3320
+ const value = String(item[valueKey]);
3321
+ const label = valueKey === "id" ? (racePathLabel(item) || item.name) : item.name;
3322
+ return `<label class="character-filter-option"><input type="checkbox" value="${esc(value)}" ${selectedIds.has(value) ? "checked" : ""}><span>${esc(label)}</span></label>`;
3323
+ }).join("");
3324
+ const filterToolbar = `<section id="character-filter-panel" class="character-filter-toolbar${characterFiltersPanelOpen ? "" : " hidden"}" aria-label="角色筛选">
3325
+ <details class="character-filter-dropdown"><summary><span>按种族筛选</span><strong>${selectedRaceNames.length ? `已选 ${selectedRaceNames.length} 项` : "全部种族"}</strong></summary><div id="character-race-filter" class="character-filter-options">${filterOptionList(races, selectedRaceIds)}</div></details>
3326
+ <details class="character-filter-dropdown"><summary><span>按组织筛选</span><strong>${selectedOrganizationNames.length ? `已选 ${selectedOrganizationNames.length} 项` : "全部组织"}</strong></summary><div id="character-organization-filter" class="character-filter-options">${filterOptionList(organizations, selectedOrganizationIds, "id")}</div></details>
3327
+ <div class="character-filter-toolbar-actions">${hasCharacterFilters ? `<span class="character-filter-result-count" aria-live="polite">筛选后剩余 ${characterPage.total} 个角色</span>` : ""}<button id="clear-character-filters" class="ghost-button" type="button" ${hasCharacterFilters ? "" : "disabled"}>重置筛选</button></div>
3328
+ </section>`;
3329
+ mountCharacterFilterToggle();
3298
3330
  if (state.characters.length) mountModuleLayoutToggle(layout, "角色列表样式");
3299
- $("#module-content").innerHTML = auditPanel + (state.characters.length
3331
+ $("#module-content").innerHTML = filterToolbar + (state.characters.length
3300
3332
  ? `${layout === "rows" ? characterRows() : characterCards()}${pagination}`
3301
3333
  : emptyModule("还没有角色档案", "创建主要人物,并维护别名、身份、动机和当前状态。"));
3302
3334
  bindModuleLayoutToggle(renderCharacters);
3335
+ const readSelectedValues = (selector) => [...$(selector).querySelectorAll('input[type="checkbox"]:checked')].map((input) => input.value);
3336
+ $("#character-race-filter").addEventListener("change", async () => {
3337
+ characterFiltersPanelOpen = true;
3338
+ characterFilters.raceIds = readSelectedValues("#character-race-filter");
3339
+ characterListPage = 1;
3340
+ await renderCharacters(1);
3341
+ });
3342
+ $("#character-organization-filter").addEventListener("change", async () => {
3343
+ characterFiltersPanelOpen = true;
3344
+ characterFilters.organizationIds = readSelectedValues("#character-organization-filter");
3345
+ characterListPage = 1;
3346
+ await renderCharacters(1);
3347
+ });
3348
+ $("#clear-character-filters")?.addEventListener("click", async () => {
3349
+ characterFiltersPanelOpen = true;
3350
+ characterFilters.raceIds = [];
3351
+ characterFilters.organizationIds = [];
3352
+ characterListPage = 1;
3353
+ await renderCharacters(1);
3354
+ });
3303
3355
  $("#module-content").querySelectorAll("[data-character-page]").forEach((button) => button.addEventListener("click", async () => {
3304
3356
  if (button.disabled) return;
3305
3357
  $("#module-content").querySelectorAll("[data-character-page]").forEach((control) => { control.disabled = true; });
3306
3358
  await renderCharacters(Number(button.dataset.characterPage));
3307
3359
  }));
3308
- $("#create-character-audit-task")?.addEventListener("click", async () => {
3309
- const button = $("#create-character-audit-task");
3310
- button.disabled = true;
3311
- try {
3312
- await api(`/api/works/${state.work.id}/tasks`, { method: "POST", body: { taskType: "character-identity-audit", scope: { type: "book" } } });
3313
- toast("角色查重任务已加入分析队列");
3314
- await showModule("tasks");
3315
- } catch (error) {
3316
- toast(error.message, "error");
3317
- button.disabled = false;
3318
- }
3319
- });
3320
- const openCharacter = async (id, readOnly) => openCharacterEditor(await api(`/api/characters/${encodeURIComponent(id)}`), { readOnly });
3321
- $("#module-content").querySelectorAll("[data-edit-character]").forEach((button) => button.addEventListener("click", () => { void openCharacter(button.dataset.editCharacter, false); }));
3360
+ bindRecordPreview("[data-open-character]", (id) => openCharacterEditor(state.characters.find((item) => item.id === id), { readOnly: true }));
3361
+ $("#module-content").querySelectorAll("[data-edit-character]").forEach((button) => button.addEventListener("click", () => openCharacterEditor(state.characters.find((item) => item.id === button.dataset.editCharacter))));
3322
3362
  }
3323
3363
 
3324
3364
  async function renderRaces() {
@@ -5178,7 +5218,6 @@ function renderCharacterEditorFields(item) {
5178
5218
  : organizationOptions.length
5179
5219
  ? field("organizationIds", "所属组织(可多选)", "chips", item?.organizationIds ?? [], organizationOptions)
5180
5220
  : '<div class="character-editor-empty-field"><b>所属组织</b><span>尚未创建组织,可稍后在“组织”模块中补充。</span></div>') +
5181
- field("visibility", "可见范围", "select", item?.visibility ?? "author", [["author", "仅作者"], ["collaborators", "协作者"], ["public", "公开"]]) +
5182
5221
  (canReadModule("editor")
5183
5222
  ? field("firstChapterId", "首次登场章节", "select", item?.firstChapterId ?? "", chapterOptions)
5184
5223
  : '<div class="character-editor-empty-field"><b>首次登场章节</b><span>当前账户没有正文读取权限,原有绑定不会被修改。</span></div>')),
@@ -5234,7 +5273,6 @@ function collectCharacterBody(form) {
5234
5273
  },
5235
5274
  currentState: buildCharacterState(form.getAll("stateKey"), form.getAll("stateValue"), item?.currentState ?? {}),
5236
5275
  lockedFields: form.getAll("lockedFields").map((value) => String(value).trim()).filter(Boolean),
5237
- visibility: String(form.get("visibility") ?? "author"),
5238
5276
  changeNote: String(form.get("changeNote") ?? "").trim()
5239
5277
  };
5240
5278
  if (canReadModule("races")) body.raceId = form.get("raceId") || null;
@@ -0,0 +1,24 @@
1
+ type CharacterFilterItem = {
2
+ id?: string;
3
+ race?: { id?: string | null } | null;
4
+ raceId?: string | null;
5
+ organizations?: Array<{ id?: string | null }> | null;
6
+ };
7
+
8
+ export declare function filterCharacters<T extends CharacterFilterItem>(
9
+ characters: T[],
10
+ filters?: { raceIds?: string[]; organizationIds?: string[] }
11
+ ): T[];
12
+
13
+ export declare function paginateCharacters<T>(
14
+ characters: T[],
15
+ page: number,
16
+ limit: number
17
+ ): {
18
+ items: T[];
19
+ page: number;
20
+ limit: number;
21
+ hasMore: boolean;
22
+ nextPage: number | null;
23
+ total: number;
24
+ };
@@ -0,0 +1,35 @@
1
+ function characterRaceId(character) {
2
+ return String(character?.race?.id ?? character?.raceId ?? "");
3
+ }
4
+
5
+ function characterOrganizationIds(character) {
6
+ return (Array.isArray(character?.organizations) ? character.organizations : [])
7
+ .map((organization) => String(organization?.organizationId ?? organization?.id ?? ""))
8
+ .filter(Boolean);
9
+ }
10
+
11
+ export function filterCharacters(characters, { raceIds = [], organizationIds = [] } = {}) {
12
+ const selectedRaceIds = new Set(raceIds.map(String).filter(Boolean));
13
+ const selectedOrganizationIds = new Set(organizationIds.map(String).filter(Boolean));
14
+ return characters.filter((character) => {
15
+ const matchesRace = selectedRaceIds.size === 0 || selectedRaceIds.has(characterRaceId(character));
16
+ const matchesOrganization = selectedOrganizationIds.size === 0
17
+ || characterOrganizationIds(character).some((organizationId) => selectedOrganizationIds.has(organizationId));
18
+ return matchesRace && matchesOrganization;
19
+ });
20
+ }
21
+
22
+ export function paginateCharacters(characters, page, limit) {
23
+ const safeLimit = Math.max(1, Number(limit) || 1);
24
+ const safePage = Math.max(1, Number(page) || 1);
25
+ const start = (safePage - 1) * safeLimit;
26
+ const items = characters.slice(start, start + safeLimit);
27
+ return {
28
+ items,
29
+ page: safePage,
30
+ limit: safeLimit,
31
+ hasMore: start + safeLimit < characters.length,
32
+ nextPage: start + safeLimit < characters.length ? safePage + 1 : null,
33
+ total: characters.length
34
+ };
35
+ }
@@ -9,7 +9,6 @@ const fieldLabels = Object.freeze({
9
9
  profile: "人物档案与设定章节",
10
10
  currentState: "当前状态",
11
11
  lockedFields: "锁定字段",
12
- visibility: "可见范围",
13
12
  firstChapterId: "首次登场章节"
14
13
  });
15
14
 
@@ -1,5 +1,4 @@
1
1
  export function settingStatusLabel(value: unknown): string;
2
- export function characterVisibilityLabel(value: unknown): string;
3
2
  export function timelineStatusLabel(value: unknown): string;
4
3
  export function levelLabel(value: unknown): string;
5
4
  export function foreshadowStatusLabel(value: unknown): string;
@@ -9,10 +9,6 @@ export function settingStatusLabel(value) {
9
9
  return enumLabel({ draft: "草稿", pending: "待确认", confirmed: "已确认", deprecated: "已弃用" }, value, "未知状态");
10
10
  }
11
11
 
12
- export function characterVisibilityLabel(value) {
13
- return enumLabel({ public: "公开", author: "仅作者", collaborators: "协作者可见" }, value, "未知范围");
14
- }
15
-
16
12
  export function timelineStatusLabel(value) {
17
13
  return enumLabel({ candidate: "候选", pending: "待确认", confirmed: "已确认", deprecated: "已弃用" }, value, "未知状态");
18
14
  }
@@ -758,7 +758,7 @@ body.work-viewer-mode .character-editor-actions { display: none !important; }
758
758
  .api-key-result label { display: grid; gap: 6px; color: var(--muted); font-size: 11px; }
759
759
  .api-key-result input { width: 100%; min-height: 38px; padding: 9px 10px; background: var(--surface); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 11px; }
760
760
  .api-key-result button { min-height: 38px; }
761
- .book-access-badge { display: inline-flex; width: fit-content; margin-top: 7px; padding: 2px 7px; border-radius: 10px; background: var(--paper-deep); color: var(--accent-dark); font-size: 9px; }
761
+ .book-access-badge { display: inline-flex; width: fit-content; margin-top: 7px; padding: 2px 7px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--accent-dark); font-size: 9px; }
762
762
  .book-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: clamp(22px, 3vw, 38px); width: 100%; min-width: 0; max-width: 1400px; margin: 0 auto; }
763
763
  .book-card { position: relative; min-width: 0; border: 0; background: transparent; text-align: left; }
764
764
  .book-open { width: 100%; padding: 0; border: 0; background: transparent; text-align: left; }
@@ -877,13 +877,13 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
877
877
  .chapter-add-button { flex: none; }
878
878
  .volume-chapters { display: block; }
879
879
  .volume-node.is-collapsed .volume-chapters { display: none; }
880
- .chapter-node { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 8px; width: calc(100% + 6px); padding: 9px 6px 9px 20px; border: 0; background: transparent; border-radius: 4px; text-align: left; font-size: 12px; }
880
+ .chapter-node { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 8px; width: calc(100% + 6px); padding: 9px 8px 9px 20px; border: 0; background: transparent; border-radius: 4px; text-align: left; font-size: 12px; }
881
881
  .chapter-node:hover, .chapter-node.active { background: var(--row-active); }
882
882
  .chapter-node.active { color: var(--accent-dark); font-weight: 700; }
883
883
  .chapter-node > span:first-child { min-width: 0; overflow-wrap: anywhere; line-height: 1.45; white-space: normal; }
884
884
  .chapter-node-meta { display: flex; flex: none; align-items: center; gap: 5px; margin-left: auto; overflow: visible; white-space: nowrap; }
885
885
  .chapter-node small { color: var(--muted); font-size: 9px; }
886
- .chapter-type-badge { max-width: 58px; overflow: hidden; padding: 2px 5px; border-radius: 9px; background: rgba(139,61,44,.1); color: var(--accent-dark); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
886
+ .chapter-type-badge { max-width: 58px; overflow: hidden; padding: 2px 5px; border: 1px solid color-mix(in srgb, var(--accent) 42%, var(--line)); border-radius: 9px; background: color-mix(in srgb, var(--accent) 12%, var(--surface)); color: var(--accent-dark); font-size: 8px; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
887
887
 
888
888
  .ghost-button, .primary-button { border-radius: 4px; padding: 8px 13px; font-size: 12px; }
889
889
  .ghost-button { border: 1px solid var(--line); background: transparent; }
@@ -957,6 +957,11 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
957
957
  .record-card p { color: var(--muted); font-size: 12px; line-height: 1.55; margin: 0; white-space: pre-wrap; }
958
958
  .record-card small { color: var(--accent); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
959
959
  .settings-layout-toolbar, .module-layout-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 0; }
960
+ .module-filter-toggle { display: inline-grid; width: 36px; height: 36px; place-items: center; padding: 8px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--muted); }
961
+ .module-filter-toggle:hover, .module-filter-toggle[aria-expanded="true"] { border-color: var(--accent); color: var(--accent); }
962
+ .module-filter-toggle svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
963
+ .module-filter-toggle + .module-layout-toolbar { order: 2; }
964
+ .module-filter-toggle ~ #module-create-button { order: 3; }
960
965
  .settings-layout-hint { color: var(--muted); font-size: 10px; }
961
966
  .settings-layout-toggle, .module-layout-toggle { display: inline-flex; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; background: var(--surface); }
962
967
  .settings-layout-toggle button { min-height: 34px; padding: 0 12px; border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); font-size: 11px; }
@@ -977,10 +982,23 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
977
982
  .setting-row .card-actions, .module-row .card-actions { margin-top: 0; flex-wrap: wrap; justify-content: flex-end; }
978
983
  .module-row .card-actions > .record-card-edit { position: static; }
979
984
  .character-card { cursor: pointer; }
985
+ .character-filter-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) auto; gap: 12px; align-items: start; width: 100%; min-width: 0; box-sizing: border-box; margin-bottom: 18px; padding: 12px 14px; border: 1px solid var(--line); background: var(--surface-soft); }
986
+ .character-filter-dropdown { position: relative; min-width: 0; }
987
+ .character-filter-dropdown summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 38px; padding: 0 11px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface); color: var(--ink); cursor: pointer; list-style: none; }
988
+ .character-filter-dropdown summary::-webkit-details-marker { display: none; }
989
+ .character-filter-dropdown summary::after { content: "⌄"; color: var(--muted); font-size: 14px; }
990
+ .character-filter-dropdown[open] summary { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 14%, transparent); }
991
+ .character-filter-dropdown[open] summary::after { content: "⌃"; }
992
+ .character-filter-dropdown summary span { color: var(--ink); font-size: 11px; }
993
+ .character-filter-dropdown summary strong { overflow: hidden; color: var(--muted); font-size: 10px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
994
+ .character-filter-options { display: grid; position: absolute; z-index: 20; top: calc(100% + 6px); right: 0; left: 0; max-height: 230px; overflow-y: auto; padding: 7px; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--surface); box-shadow: 0 12px 28px rgb(0 0 0 / 18%); }
995
+ .character-filter-option { display: flex; grid-template-columns: auto 1fr; align-items: center; gap: 8px; padding: 7px 6px; color: var(--ink); cursor: pointer; font-size: 11px; line-height: 1.35; }
996
+ .character-filter-option:hover { background: var(--surface-soft); }
997
+ .character-filter-option input { accent-color: var(--accent); margin: 0; }
998
+ .character-filter-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 38px; }
999
+ .character-filter-result-count { color: var(--muted); font-size: 11px; white-space: nowrap; }
1000
+ .character-filter-toolbar-actions button:disabled { cursor: default; opacity: .45; }
980
1001
  .character-card:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
981
- .character-audit-panel { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; padding: 15px 17px; border: 1px solid var(--line); background: var(--surface-soft); }
982
- .character-audit-panel div { display: grid; gap: 5px; }
983
- .character-audit-panel small { max-width: 760px; color: var(--muted); line-height: 1.55; }
984
1002
  .character-duplicate-review { grid-column: 1 / -1; }
985
1003
  .character-duplicate-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
986
1004
  .character-duplicate-pair section { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 13px; border: 1px solid var(--line); background: var(--surface-soft); }
@@ -1007,8 +1025,8 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
1007
1025
  .provider-card .model-pill { max-width: 100%; margin: 0; border: 0; text-align: left; white-space: normal; cursor: pointer; }
1008
1026
  .provider-card .model-pill:hover, .provider-card .model-pill:focus-visible { background: var(--surface-hover); color: var(--ink); }
1009
1027
  .provider-card .card-actions { flex-wrap: wrap; }
1010
- .pill { display: inline-block; padding: 3px 7px; margin: 0 4px 4px 0; border-radius: 12px; background: var(--paper-deep); color: var(--muted); font-size: 9px; }
1011
- .organization-links { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin: 8px 0 6px; }.organization-links b { color: var(--muted); font-size: 9px; font-weight: 500; }.organization-links .pill { margin: 0; }.organization-empty { color: var(--muted); font-size: 9px; }.organization-pill { color: var(--accent-dark); background: rgba(139,61,44,.1); }.organization-settings { margin: 10px 0 6px; }.organization-members { margin-top: 9px !important; }.relationship-keyword { white-space: nowrap; }
1028
+ .pill { display: inline-block; padding: 3px 7px; margin: 0 4px 4px 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--muted); font-size: 9px; }
1029
+ .organization-links { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin: 8px 0 6px; }.organization-links b { color: var(--muted); font-size: 9px; font-weight: 500; }.organization-links .pill { margin: 0; }.organization-empty { color: var(--muted); font-size: 9px; }.organization-pill { border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line)); color: var(--accent-dark); background: color-mix(in srgb, var(--accent) 20%, var(--surface)); }.organization-settings { margin: 10px 0 6px; }.organization-members { margin-top: 9px !important; }.relationship-keyword { white-space: nowrap; }
1012
1030
  .race-settings { display: flex; flex-wrap: wrap; gap: 5px; margin: 10px 0 6px; }.race-settings .pill { margin: 0; }.race-members { margin-top: 9px !important; }
1013
1031
  .race-tree { display: grid; gap: 12px; }
1014
1032
  .race-tree-node { min-width: 0; }
@@ -1640,7 +1658,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
1640
1658
  .character-card h3 { margin-bottom: 5px; }
1641
1659
  .character-identity { margin: 0 0 6px !important; color: var(--ink) !important; font-weight: 600; line-height: 1.55 !important; }
1642
1660
  .character-aliases { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; min-width: 0; }
1643
- .character-aliases .pill { margin: 0; }
1661
+ .character-aliases .pill { margin: 0; border: 1px solid var(--line); background: var(--surface); }
1644
1662
  .character-code { display: flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--muted); font-size: 10px; }
1645
1663
  .character-species { display: grid; grid-template-columns: max-content minmax(0, 1fr); align-items: center; gap: 6px; margin-top: 8px; color: var(--muted); font-size: 10px; }
1646
1664
  .character-species b { font-weight: 500; }
@@ -1683,6 +1701,8 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
1683
1701
  @media (max-width: 560px) {
1684
1702
  .import-mode-options { grid-template-columns: 1fr; }
1685
1703
  .import-mode-dialog .dialog-actions { flex-wrap: wrap; }
1704
+ .character-filter-toolbar { grid-template-columns: minmax(0, 1fr); }
1705
+ .character-filter-toolbar-actions { justify-content: flex-start; }
1686
1706
  }
1687
1707
  .entity-editor-open { overflow: hidden; }
1688
1708
  .preview-record-card { cursor: pointer; }
@@ -1878,7 +1898,7 @@ select:focus, input:focus, textarea:focus { border-color: #a77768; box-shadow: 0
1878
1898
  .character-version-card-heading span, .character-version-card-heading time { color: var(--muted); font-size: 8px; }
1879
1899
  .character-version-card p { margin: 0; color: var(--ink); font-size: 10px; line-height: 1.5; overflow-wrap: anywhere; }
1880
1900
  .character-version-changes { display: flex; flex-wrap: wrap; gap: 4px; }
1881
- .character-version-changes span { padding: 2px 6px; border-radius: 10px; background: var(--paper-deep); color: var(--muted); font-size: 8px; }
1901
+ .character-version-changes span { padding: 2px 6px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--muted); font-size: 8px; }
1882
1902
  .character-version-card > button { justify-self: end; padding: 6px 8px; border: 1px solid var(--line); border-radius: 4px; background: transparent; color: var(--muted); font-size: 9px; }
1883
1903
  .character-version-card > button:not(:disabled):hover { border-color: var(--accent); color: var(--accent-dark); }
1884
1904
  .character-version-card > button.is-confirming { border-color: var(--accent); background: var(--accent); color: #fff; }
package/dist/store.js CHANGED
@@ -2221,7 +2221,6 @@ export class Store {
2221
2221
  profile,
2222
2222
  currentState: character.currentState,
2223
2223
  lockedFields: [...character.lockedFields],
2224
- visibility: String(character.visibility),
2225
2224
  firstChapterId: character.firstChapterId
2226
2225
  };
2227
2226
  }
@@ -2266,8 +2265,8 @@ export class Store {
2266
2265
  this.assertOrganizationsInWork(workId, organizationIds);
2267
2266
  this.db.transaction(() => {
2268
2267
  this.db.run(`INSERT INTO characters (id, work_id, name, code, aliases_json, species, race_id, attributes_json, profile_json, current_state_json,
2269
- locked_fields_json, visibility, first_chapter_id, created_at, updated_at)
2270
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, characterId, workId, names.name, input.code?.trim() ?? "", JSON.stringify(names.aliases), species, raceId, JSON.stringify(input.attributes ?? {}), JSON.stringify(input.profile ?? {}), JSON.stringify(input.currentState ?? {}), JSON.stringify(input.lockedFields ?? []), input.visibility ?? "author", input.firstChapterId ?? null, timestamp, timestamp);
2268
+ locked_fields_json, first_chapter_id, created_at, updated_at)
2269
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, characterId, workId, names.name, input.code?.trim() ?? "", JSON.stringify(names.aliases), species, raceId, JSON.stringify(input.attributes ?? {}), JSON.stringify(input.profile ?? {}), JSON.stringify(input.currentState ?? {}), JSON.stringify(input.lockedFields ?? []), input.firstChapterId ?? null, timestamp, timestamp);
2271
2270
  this.insertCharacterNames(workId, characterId, names.entries);
2272
2271
  this.replaceCharacterOrganizations(characterId, organizationIds);
2273
2272
  this.insertCharacterVersion(characterId, 1, "create", null, "建立人物档案", timestamp);
@@ -2617,7 +2616,7 @@ export class Store {
2617
2616
  const lockedCurrent = this.getCharacter(characterId);
2618
2617
  this.assertExpectedRevision("character", characterId, expectedVersionNo, "人物", Number(lockedCurrent.versionNo));
2619
2618
  this.db.run(`UPDATE characters SET name = ?, code = ?, aliases_json = ?, species = ?, race_id = ?, attributes_json = ?, profile_json = ?, current_state_json = ?,
2620
- locked_fields_json = ?, visibility = ?, first_chapter_id = ?, updated_at = ? WHERE id = ?`, names.name, input.code === undefined ? String(current.code) : input.code.trim(), JSON.stringify(names.aliases), species, raceId, JSON.stringify(attributes), JSON.stringify(input.profile ?? current.profile), JSON.stringify(input.currentState ?? current.currentState), JSON.stringify(input.lockedFields ?? current.lockedFields), input.visibility ?? String(current.visibility), input.firstChapterId === undefined ? current.firstChapterId : input.firstChapterId, now(), characterId);
2619
+ locked_fields_json = ?, first_chapter_id = ?, updated_at = ? WHERE id = ?`, names.name, input.code === undefined ? String(current.code) : input.code.trim(), JSON.stringify(names.aliases), species, raceId, JSON.stringify(attributes), JSON.stringify(input.profile ?? current.profile), JSON.stringify(input.currentState ?? current.currentState), JSON.stringify(input.lockedFields ?? current.lockedFields), input.firstChapterId === undefined ? current.firstChapterId : input.firstChapterId, now(), characterId);
2621
2620
  this.db.run("DELETE FROM character_names WHERE character_id = ?", characterId);
2622
2621
  this.insertCharacterNames(workId, characterId, names.entries);
2623
2622
  if (organizationIds)
@@ -2704,8 +2703,8 @@ export class Store {
2704
2703
  const nextVersionNo = numberValue(this.db.get("SELECT COALESCE(MAX(version_no), 0) AS version_no FROM character_versions WHERE character_id = ?", characterId) ?? {}, "version_no") + 1;
2705
2704
  this.db.transaction(() => {
2706
2705
  this.db.run(`INSERT INTO characters (id, work_id, name, code, aliases_json, species, race_id, attributes_json, profile_json, current_state_json,
2707
- locked_fields_json, visibility, first_chapter_id, version_no, created_at, updated_at)
2708
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, characterId, workId, names.name, snapshot.code ?? "", JSON.stringify(names.aliases), species, raceId, JSON.stringify(snapshot.attributes ?? {}), JSON.stringify(snapshot.profile ?? {}), JSON.stringify(snapshot.currentState ?? {}), JSON.stringify(snapshot.lockedFields ?? []), snapshot.visibility ?? "author", snapshot.firstChapterId ?? null, nextVersionNo, timestamp, timestamp);
2706
+ locked_fields_json, first_chapter_id, version_no, created_at, updated_at)
2707
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, characterId, workId, names.name, snapshot.code ?? "", JSON.stringify(names.aliases), species, raceId, JSON.stringify(snapshot.attributes ?? {}), JSON.stringify(snapshot.profile ?? {}), JSON.stringify(snapshot.currentState ?? {}), JSON.stringify(snapshot.lockedFields ?? []), snapshot.firstChapterId ?? null, nextVersionNo, timestamp, timestamp);
2709
2708
  this.insertCharacterNames(workId, characterId, names.entries);
2710
2709
  this.replaceCharacterOrganizations(characterId, organizationIds);
2711
2710
  this.insertCharacterVersion(characterId, nextVersionNo, "restore", requiredString(version, "id"), `恢复至 v${versionNo}`, timestamp, workId);
@@ -2797,7 +2796,6 @@ export class Store {
2797
2796
  profileSectionCount,
2798
2797
  currentState: json(requiredString(row, "current_state_json"), {}),
2799
2798
  lockedFields: json(requiredString(row, "locked_fields_json"), []),
2800
- visibility: requiredString(row, "visibility"),
2801
2799
  firstChapterId: optionalString(row, "first_chapter_id"),
2802
2800
  mergedIntoCharacterId: optionalString(row, "merged_into_character_id"),
2803
2801
  mergedAt: optionalString(row, "merged_at"),