@waterwx/dsh-novel-forge 2.1.2 → 2.1.4

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.
package/lib/client.js CHANGED
@@ -46,6 +46,7 @@ window.__ModuleLoader__.load({
46
46
  revisionPlan: "/api/dsh-novel-forge/revision/plan",
47
47
  /** 张力曲线(GET 数据 / POST 设置)。 */
48
48
  tension: "/api/dsh-novel-forge/tension",
49
+ styleHistory: "/api/dsh-novel-forge/style-history",
49
50
  /** 提示词槽位(GET 列表 / POST 写入)。 */
50
51
  promptSlots: "/api/dsh-novel-forge/prompt-slots",
51
52
  /** 故事时间线(GET 列表 / POST 操作)。 */
@@ -801,6 +802,10 @@ window.__ModuleLoader__.load({
801
802
  async tension() {
802
803
  return readJson(await fetch(withBookId(NOVEL_API.tension)));
803
804
  }
805
+ /** 风格漂移曲线:逐章指标 + 参照基线(与审稿同源)。 */
806
+ async styleHistory() {
807
+ return readJson(await fetch(withBookId(NOVEL_API.styleHistory)));
808
+ }
804
809
  /** 设置张力曲线预设。 */
805
810
  async tensionPreset(preset) {
806
811
  await postJson(NOVEL_API.tension, {
@@ -1354,500 +1359,500 @@ window.__ModuleLoader__.load({
1354
1359
  document.head.appendChild(tag);
1355
1360
  }
1356
1361
  var panel_module_css_default = {
1357
- "diffSameBody": "jbF1yq_diffSameBody",
1358
- "docsSurface": "jbF1yq_docsSurface",
1359
- "outlineTocL2": "jbF1yq_outlineTocL2",
1360
- "pillNavPill": "jbF1yq_pillNavPill",
1361
- "badgePending": "jbF1yq_badgePending",
1362
- "wfDlDim": "jbF1yq_wfDlDim",
1362
+ "bookCardBody": "jbF1yq_bookCardBody",
1363
+ "navTitle": "jbF1yq_navTitle",
1364
+ "badgeError": "jbF1yq_badgeError",
1365
+ "wbIndexTitle": "jbF1yq_wbIndexTitle",
1366
+ "progressBarFill": "jbF1yq_progressBarFill",
1367
+ "entryIcon": "jbF1yq_entryIcon",
1368
+ "readerItemNo": "jbF1yq_readerItemNo",
1369
+ "wfSigBad": "jbF1yq_wfSigBad",
1370
+ "authorNavBtn": "jbF1yq_authorNavBtn",
1371
+ "panelNav": "jbF1yq_panelNav",
1372
+ "card": "jbF1yq_card",
1373
+ "chapterMain": "jbF1yq_chapterMain",
1374
+ "bookCardCoverFallback": "jbF1yq_bookCardCoverFallback",
1375
+ "readerItemTitle": "jbF1yq_readerItemTitle",
1376
+ "outlineQuote": "jbF1yq_outlineQuote",
1377
+ "toolStep": "jbF1yq_toolStep",
1378
+ "assetGroups": "jbF1yq_assetGroups",
1379
+ "wfProg": "jbF1yq_wfProg",
1380
+ "wfEmpty2": "jbF1yq_wfEmpty2",
1381
+ "wfStage": "jbF1yq_wfStage",
1382
+ "fieldLabel": "jbF1yq_fieldLabel",
1383
+ "readerMain": "jbF1yq_readerMain",
1363
1384
  "active": "jbF1yq_active",
1364
- "wfToolBlue": "jbF1yq_wfToolBlue",
1365
- "wfPoolBar": "jbF1yq_wfPoolBar",
1385
+ "authorPageHeader": "jbF1yq_authorPageHeader",
1386
+ "wsPreviewText": "jbF1yq_wsPreviewText",
1387
+ "planDetailBody": "jbF1yq_planDetailBody",
1388
+ "wsColumns": "jbF1yq_wsColumns",
1366
1389
  "badgeWritten": "jbF1yq_badgeWritten",
1367
- "cmdEmpty": "jbF1yq_cmdEmpty",
1368
- "pageHeaderActions": "jbF1yq_pageHeaderActions",
1369
- "wfRail": "jbF1yq_wfRail",
1370
- "topNavLabel": "jbF1yq_topNavLabel",
1390
+ "dimCardSelected": "jbF1yq_dimCardSelected",
1391
+ "cmdHint": "jbF1yq_cmdHint",
1392
+ "chWorkFootRow": "jbF1yq_chWorkFootRow",
1393
+ "nfSlideInRight": "jbF1yq_nfSlideInRight",
1394
+ "runLogTime": "jbF1yq_runLogTime",
1395
+ "wfConOk": "jbF1yq_wfConOk",
1396
+ "eyebrow": "jbF1yq_eyebrow",
1397
+ "shelfToolbarExtra": "jbF1yq_shelfToolbarExtra",
1398
+ "chapter": "jbF1yq_chapter",
1399
+ "navGroupLabel": "jbF1yq_navGroupLabel",
1400
+ "settingsDrawerBody": "jbF1yq_settingsDrawerBody",
1401
+ "diffTagNew": "jbF1yq_diffTagNew",
1402
+ "authorNav": "jbF1yq_authorNav",
1403
+ "adaptTable": "jbF1yq_adaptTable",
1404
+ "pillNavPill": "jbF1yq_pillNavPill",
1405
+ "planDetailTitle": "jbF1yq_planDetailTitle",
1406
+ "iconButton": "jbF1yq_iconButton",
1407
+ "dropzoneIcon": "jbF1yq_dropzoneIcon",
1408
+ "readerGroup": "jbF1yq_readerGroup",
1409
+ "cmdIcon": "jbF1yq_cmdIcon",
1410
+ "importHint": "jbF1yq_importHint",
1411
+ "tab": "jbF1yq_tab",
1412
+ "readerItemActive": "jbF1yq_readerItemActive",
1413
+ "chWorkAside": "jbF1yq_chWorkAside",
1414
+ "importError": "jbF1yq_importError",
1415
+ "bigProgressBar": "jbF1yq_bigProgressBar",
1416
+ "wfCn": "jbF1yq_wfCn",
1417
+ "readerArticle": "jbF1yq_readerArticle",
1418
+ "adaptRuleRow": "jbF1yq_adaptRuleRow",
1371
1419
  "navGroup": "jbF1yq_navGroup",
1372
- "adaptOutlinePre": "jbF1yq_adaptOutlinePre",
1373
- "headChip": "jbF1yq_headChip",
1374
- "importModalOverlay": "jbF1yq_importModalOverlay",
1375
- "outlineEdit": "jbF1yq_outlineEdit",
1376
- "importPreview": "jbF1yq_importPreview",
1377
- "pillNavSliding": "jbF1yq_pillNavSliding",
1378
- "t2RailMeta": "jbF1yq_t2RailMeta",
1420
+ "planTreeRowTitle": "jbF1yq_planTreeRowTitle",
1421
+ "pageHeaderEyebrow": "jbF1yq_pageHeaderEyebrow",
1422
+ "progressLineError": "jbF1yq_progressLineError",
1423
+ "wfTool": "jbF1yq_wfTool",
1424
+ "panelHidden": "jbF1yq_panelHidden",
1425
+ "readerTitle": "jbF1yq_readerTitle",
1426
+ "readerSidebar": "jbF1yq_readerSidebar",
1427
+ "contentDrawerBody": "jbF1yq_contentDrawerBody",
1428
+ "wfBlink": "jbF1yq_wfBlink",
1429
+ "fileList": "jbF1yq_fileList",
1430
+ "wfFi": "jbF1yq_wfFi",
1379
1431
  "wfDrawerToggle": "jbF1yq_wfDrawerToggle",
1380
- "authorPageBodyFlow": "jbF1yq_authorPageBodyFlow",
1432
+ "wfToolBlue": "jbF1yq_wfToolBlue",
1433
+ "lfDot": "jbF1yq_lfDot",
1434
+ "buttonPrimary": "jbF1yq_buttonPrimary",
1435
+ "adaptImpacts": "jbF1yq_adaptImpacts",
1436
+ "badgeDone": "jbF1yq_badgeDone",
1437
+ "assetEditor": "jbF1yq_assetEditor",
1438
+ "wfMetrics": "jbF1yq_wfMetrics",
1439
+ "nfChipPulse": "jbF1yq_nfChipPulse",
1440
+ "nfToastIn": "jbF1yq_nfToastIn",
1441
+ "textarea": "jbF1yq_textarea",
1442
+ "progressTotalBar": "jbF1yq_progressTotalBar",
1443
+ "wfTopRight": "jbF1yq_wfTopRight",
1381
1444
  "wfBoxH": "jbF1yq_wfBoxH",
1382
- "wfEmpty2": "jbF1yq_wfEmpty2",
1383
- "wfDone": "jbF1yq_wfDone",
1384
- "wfSigBad": "jbF1yq_wfSigBad",
1385
- "wfRsNo": "jbF1yq_wfRsNo",
1445
+ "dropzone": "jbF1yq_dropzone",
1446
+ "wfDot": "jbF1yq_wfDot",
1447
+ "adaptTableScroll": "jbF1yq_adaptTableScroll",
1448
+ "navAboutUpdate": "jbF1yq_navAboutUpdate",
1449
+ "wfStFail": "jbF1yq_wfStFail",
1450
+ "wfBody": "jbF1yq_wfBody",
1451
+ "outlineList": "jbF1yq_outlineList",
1452
+ "wfPsLegend": "jbF1yq_wfPsLegend",
1453
+ "rowEnd": "jbF1yq_rowEnd",
1454
+ "progressBar": "jbF1yq_progressBar",
1455
+ "segTab": "jbF1yq_segTab",
1456
+ "chWorkActions": "jbF1yq_chWorkActions",
1457
+ "drawerMax": "jbF1yq_drawerMax",
1458
+ "outlineTableWrap": "jbF1yq_outlineTableWrap",
1459
+ "liveText": "jbF1yq_liveText",
1460
+ "adaptRules": "jbF1yq_adaptRules",
1461
+ "outlineTocItem": "jbF1yq_outlineTocItem",
1462
+ "t2RailHead": "jbF1yq_t2RailHead",
1463
+ "navSpacer": "jbF1yq_navSpacer",
1464
+ "assetLabel": "jbF1yq_assetLabel",
1465
+ "readerGroupCount": "jbF1yq_readerGroupCount",
1466
+ "wfPillDot": "jbF1yq_wfPillDot",
1467
+ "wfDrawerBox": "jbF1yq_wfDrawerBox",
1468
+ "outlineH2": "jbF1yq_outlineH2",
1469
+ "wfFeedBox": "jbF1yq_wfFeedBox",
1470
+ "subPageTitle": "jbF1yq_subPageTitle",
1471
+ "adaptCell": "jbF1yq_adaptCell",
1472
+ "wfSt": "jbF1yq_wfSt",
1473
+ "cmdBox": "jbF1yq_cmdBox",
1474
+ "outlineP": "jbF1yq_outlineP",
1475
+ "diffColumn": "jbF1yq_diffColumn",
1476
+ "wfToolAmber": "jbF1yq_wfToolAmber",
1477
+ "legendOld": "jbF1yq_legendOld",
1386
1478
  "contentDrawer": "jbF1yq_contentDrawer",
1387
- "topNavActive": "jbF1yq_topNavActive",
1388
- "chapterFocusPulse": "jbF1yq_chapterFocusPulse",
1389
- "chapterMain": "jbF1yq_chapterMain",
1479
+ "subPage": "jbF1yq_subPage",
1480
+ "readerBody": "jbF1yq_readerBody",
1481
+ "pillNavSlider": "jbF1yq_pillNavSlider",
1482
+ "wfProgBig": "jbF1yq_wfProgBig",
1483
+ "chWorkSide": "jbF1yq_chWorkSide",
1484
+ "chWorkAsideBody": "jbF1yq_chWorkAsideBody",
1485
+ "headChip": "jbF1yq_headChip",
1486
+ "readerGroupArrow": "jbF1yq_readerGroupArrow",
1487
+ "readerSeg": "jbF1yq_readerSeg",
1488
+ "iconBtn": "jbF1yq_iconBtn",
1489
+ "outlineLi": "jbF1yq_outlineLi",
1490
+ "chWorkDraftBar": "jbF1yq_chWorkDraftBar",
1491
+ "t2Content": "jbF1yq_t2Content",
1492
+ "chapterActions": "jbF1yq_chapterActions",
1493
+ "assetEditorRow": "jbF1yq_assetEditorRow",
1494
+ "emptyStateTitle": "jbF1yq_emptyStateTitle",
1495
+ "numSerif": "jbF1yq_numSerif",
1496
+ "wfRsName": "jbF1yq_wfRsName",
1497
+ "runChip": "jbF1yq_runChip",
1498
+ "wfFeedList": "jbF1yq_wfFeedList",
1499
+ "assetCardContent": "jbF1yq_assetCardContent",
1500
+ "nfSkeletonShimmer": "jbF1yq_nfSkeletonShimmer",
1501
+ "wfDl": "jbF1yq_wfDl",
1502
+ "wfAct": "jbF1yq_wfAct",
1503
+ "adaptInputCard": "jbF1yq_adaptInputCard",
1504
+ "chWorkAsideTitle": "jbF1yq_chWorkAsideTitle",
1505
+ "diffChange": "jbF1yq_diffChange",
1506
+ "outlineEdit": "jbF1yq_outlineEdit",
1507
+ "readerHeader": "jbF1yq_readerHeader",
1508
+ "runChipDot": "jbF1yq_runChipDot",
1509
+ "chapterPreview": "jbF1yq_chapterPreview",
1510
+ "progressLine": "jbF1yq_progressLine",
1511
+ "adaptImpact": "jbF1yq_adaptImpact",
1390
1512
  "tnum": "jbF1yq_tnum",
1391
- "statCardDDetail": "jbF1yq_statCardDDetail",
1392
- "planTreeSearch": "jbF1yq_planTreeSearch",
1393
- "drawerSpacer": "jbF1yq_drawerSpacer",
1513
+ "wfRow": "jbF1yq_wfRow",
1514
+ "wfCmd": "jbF1yq_wfCmd",
1394
1515
  "chWorkPickBtns": "jbF1yq_chWorkPickBtns",
1395
- "brand": "jbF1yq_brand",
1396
- "buttonDanger": "jbF1yq_buttonDanger",
1397
- "outlineH3": "jbF1yq_outlineH3",
1516
+ "wbIndexRow": "jbF1yq_wbIndexRow",
1517
+ "planDetailEmpty": "jbF1yq_planDetailEmpty",
1518
+ "wfSigRight": "jbF1yq_wfSigRight",
1519
+ "shelfToolbar": "jbF1yq_shelfToolbar",
1520
+ "chapterFocusPulse": "jbF1yq_chapterFocusPulse",
1521
+ "adaptOutline": "jbF1yq_adaptOutline",
1522
+ "authorTopTabs": "jbF1yq_authorTopTabs",
1523
+ "toolStepActive": "jbF1yq_toolStepActive",
1524
+ "ideaToggle": "jbF1yq_ideaToggle",
1525
+ "planDetailBar": "jbF1yq_planDetailBar",
1526
+ "nfToast": "jbF1yq_nfToast",
1527
+ "planBeatsLabel": "jbF1yq_planBeatsLabel",
1528
+ "chWorkBar": "jbF1yq_chWorkBar",
1529
+ "titleBlock": "jbF1yq_titleBlock",
1398
1530
  "wfProgRest": "jbF1yq_wfProgRest",
1399
- "emptyStateTitle": "jbF1yq_emptyStateTitle",
1400
- "topNavNi": "jbF1yq_topNavNi",
1401
- "shelfToolbarExtra": "jbF1yq_shelfToolbarExtra",
1402
- "diffSame": "jbF1yq_diffSame",
1403
- "assetGroups": "jbF1yq_assetGroups",
1404
- "dimCardHead": "jbF1yq_dimCardHead",
1405
- "runChipDot": "jbF1yq_runChipDot",
1406
- "planDetail": "jbF1yq_planDetail",
1407
- "wfAccentBlue": "jbF1yq_wfAccentBlue",
1408
- "progress": "jbF1yq_progress",
1409
- "ideaCandidate": "jbF1yq_ideaCandidate",
1410
- "assetCardContent": "jbF1yq_assetCardContent",
1411
- "bookCardActive": "jbF1yq_bookCardActive",
1412
- "row": "jbF1yq_row",
1413
- "authorTopNav": "jbF1yq_authorTopNav",
1531
+ "adaptTextarea": "jbF1yq_adaptTextarea",
1532
+ "t2Rail": "jbF1yq_t2Rail",
1533
+ "wfPreview": "jbF1yq_wfPreview",
1534
+ "outlineDoc": "jbF1yq_outlineDoc",
1535
+ "brandLogo": "jbF1yq_brandLogo",
1536
+ "toolStepIcon": "jbF1yq_toolStepIcon",
1537
+ "navAboutRow": "jbF1yq_navAboutRow",
1538
+ "topNavBadge": "jbF1yq_topNavBadge",
1539
+ "readerItemBadge": "jbF1yq_readerItemBadge",
1414
1540
  "settingsCard": "jbF1yq_settingsCard",
1415
- "emptyStateHint": "jbF1yq_emptyStateHint",
1416
- "dimCardSelected": "jbF1yq_dimCardSelected",
1417
- "authorTopTabs": "jbF1yq_authorTopTabs",
1418
- "readerGroup": "jbF1yq_readerGroup",
1419
- "importModalBody": "jbF1yq_importModalBody",
1420
- "wfPillDot": "jbF1yq_wfPillDot",
1421
- "wfCmdBtn": "jbF1yq_wfCmdBtn",
1422
- "readerPara": "jbF1yq_readerPara",
1423
- "panel": "jbF1yq_panel",
1424
- "chatScroll": "jbF1yq_chatScroll",
1425
- "readerFoot": "jbF1yq_readerFoot",
1426
- "nfDrawerIn": "jbF1yq_nfDrawerIn",
1427
- "wfPreviewName": "jbF1yq_wfPreviewName",
1541
+ "toolStepDetail": "jbF1yq_toolStepDetail",
1542
+ "wsColumn": "jbF1yq_wsColumn",
1543
+ "bookCardMetaRow": "jbF1yq_bookCardMetaRow",
1544
+ "t2RailSep": "jbF1yq_t2RailSep",
1545
+ "adaptResult": "jbF1yq_adaptResult",
1428
1546
  "nfToastOut": "jbF1yq_nfToastOut",
1429
- "buttonSmall": "jbF1yq_buttonSmall",
1430
- "numSerif": "jbF1yq_numSerif",
1431
- "outlineTocL3": "jbF1yq_outlineTocL3",
1432
- "readerSegActive": "jbF1yq_readerSegActive",
1433
- "planTree": "jbF1yq_planTree",
1434
- "wfCmdReason": "jbF1yq_wfCmdReason",
1435
- "cmdMask": "jbF1yq_cmdMask",
1436
- "wfDrawerBox": "jbF1yq_wfDrawerBox",
1437
- "onlyChanges": "jbF1yq_onlyChanges",
1438
- "wfPs": "jbF1yq_wfPs",
1439
- "wsPage": "jbF1yq_wsPage",
1440
- "toolStepName": "jbF1yq_toolStepName",
1441
- "brandText": "jbF1yq_brandText",
1442
- "assetTextarea": "jbF1yq_assetTextarea",
1547
+ "wfCoordStuck": "jbF1yq_wfCoordStuck",
1548
+ "headSpacer": "jbF1yq_headSpacer",
1549
+ "diffSameBody": "jbF1yq_diffSameBody",
1550
+ "outlineTocL2": "jbF1yq_outlineTocL2",
1551
+ "dimTitle": "jbF1yq_dimTitle",
1552
+ "wfFdot": "jbF1yq_wfFdot",
1553
+ "wfConRow": "jbF1yq_wfConRow",
1554
+ "adaptOutlinePre": "jbF1yq_adaptOutlinePre",
1555
+ "genreDesc": "jbF1yq_genreDesc",
1556
+ "planDetail": "jbF1yq_planDetail",
1557
+ "diffDel": "jbF1yq_diffDel",
1558
+ "shelfGrid": "jbF1yq_shelfGrid",
1559
+ "navTitleBook": "jbF1yq_navTitleBook",
1560
+ "topNavActive": "jbF1yq_topNavActive",
1561
+ "wbIndexVol": "jbF1yq_wbIndexVol",
1562
+ "aiTag": "jbF1yq_aiTag",
1563
+ "wsPreview": "jbF1yq_wsPreview",
1564
+ "chapterList": "jbF1yq_chapterList",
1565
+ "dimEdit": "jbF1yq_dimEdit",
1566
+ "readerSegBtn": "jbF1yq_readerSegBtn",
1567
+ "toolStepStatus": "jbF1yq_toolStepStatus",
1568
+ "importResult": "jbF1yq_importResult",
1569
+ "wfBook": "jbF1yq_wfBook",
1570
+ "adaptMatrix": "jbF1yq_adaptMatrix",
1571
+ "view": "jbF1yq_view",
1572
+ "badgeRejected": "jbF1yq_badgeRejected",
1573
+ "planDot": "jbF1yq_planDot",
1574
+ "wfMetric": "jbF1yq_wfMetric",
1575
+ "wfDone": "jbF1yq_wfDone",
1576
+ "panelTop": "jbF1yq_panelTop",
1577
+ "bookCardActions": "jbF1yq_bookCardActions",
1578
+ "t2RailBtn": "jbF1yq_t2RailBtn",
1579
+ "wfPsN": "jbF1yq_wfPsN",
1580
+ "topNavNi": "jbF1yq_topNavNi",
1581
+ "settingsDrawer": "jbF1yq_settingsDrawer",
1582
+ "wsAppliedBanner": "jbF1yq_wsAppliedBanner",
1583
+ "outlineTable": "jbF1yq_outlineTable",
1584
+ "planTreeRow": "jbF1yq_planTreeRow",
1585
+ "brandName": "jbF1yq_brandName",
1443
1586
  "assetKind": "jbF1yq_assetKind",
1444
- "nfToastIn": "jbF1yq_nfToastIn",
1445
- "assetEditor": "jbF1yq_assetEditor",
1446
- "wfSigGood": "jbF1yq_wfSigGood",
1447
- "lfDot": "jbF1yq_lfDot",
1448
- "navTitleLogo": "jbF1yq_navTitleLogo",
1449
- "readerBody": "jbF1yq_readerBody",
1450
- "authorHome": "jbF1yq_authorHome",
1451
- "wfPreviewLine": "jbF1yq_wfPreviewLine",
1587
+ "dropzoneActive": "jbF1yq_dropzoneActive",
1588
+ "wsEditor": "jbF1yq_wsEditor",
1589
+ "importPreview": "jbF1yq_importPreview",
1590
+ "drawerHead": "jbF1yq_drawerHead",
1452
1591
  "chWorkText": "jbF1yq_chWorkText",
1453
- "wfBox": "jbF1yq_wfBox",
1454
- "wfHint": "jbF1yq_wfHint",
1455
- "drawerHeadBtn": "jbF1yq_drawerHeadBtn",
1456
- "subPageBack": "jbF1yq_subPageBack",
1592
+ "outlineTocL3": "jbF1yq_outlineTocL3",
1593
+ "adaptRule": "jbF1yq_adaptRule",
1594
+ "settingsDrawerHead": "jbF1yq_settingsDrawerHead",
1595
+ "emptyStateHint": "jbF1yq_emptyStateHint",
1596
+ "wfStFix": "jbF1yq_wfStFix",
1597
+ "assetGroup": "jbF1yq_assetGroup",
1598
+ "wfOpsBtn": "jbF1yq_wfOpsBtn",
1599
+ "wfOpsBtnMain": "jbF1yq_wfOpsBtnMain",
1600
+ "planTreeVolGroup": "jbF1yq_planTreeVolGroup",
1601
+ "wsPage": "jbF1yq_wsPage",
1602
+ "row": "jbF1yq_row",
1603
+ "wfDrawerList": "jbF1yq_wfDrawerList",
1604
+ "input": "jbF1yq_input",
1605
+ "panelTitle": "jbF1yq_panelTitle",
1606
+ "panelBody": "jbF1yq_panelBody",
1607
+ "pageHeader": "jbF1yq_pageHeader",
1608
+ "meta": "jbF1yq_meta",
1609
+ "readerPara": "jbF1yq_readerPara",
1610
+ "createBookInner": "jbF1yq_createBookInner",
1611
+ "wfAccentBlue": "jbF1yq_wfAccentBlue",
1612
+ "wfCmdReason": "jbF1yq_wfCmdReason",
1613
+ "lfPill": "jbF1yq_lfPill",
1614
+ "assetCard": "jbF1yq_assetCard",
1615
+ "readerGroupTitle": "jbF1yq_readerGroupTitle",
1616
+ "outlineTocL1": "jbF1yq_outlineTocL1",
1617
+ "chWorkSideHead": "jbF1yq_chWorkSideHead",
1618
+ "readerSegActive": "jbF1yq_readerSegActive",
1619
+ "buttonSmall": "jbF1yq_buttonSmall",
1620
+ "wfFt": "jbF1yq_wfFt",
1621
+ "outlineVol": "jbF1yq_outlineVol",
1622
+ "cardTitleLg": "jbF1yq_cardTitleLg",
1623
+ "importModalHead": "jbF1yq_importModalHead",
1624
+ "wfSw": "jbF1yq_wfSw",
1625
+ "wfLiveChip": "jbF1yq_wfLiveChip",
1626
+ "shelfStatGrid": "jbF1yq_shelfStatGrid",
1627
+ "wfDlDim": "jbF1yq_wfDlDim",
1628
+ "topNavSpacer": "jbF1yq_topNavSpacer",
1629
+ "runLogLine": "jbF1yq_runLogLine",
1630
+ "progressLineLive": "jbF1yq_progressLineLive",
1631
+ "adaptProposal": "jbF1yq_adaptProposal",
1632
+ "wfConsoleNote": "jbF1yq_wfConsoleNote",
1633
+ "progressLineDone": "jbF1yq_progressLineDone",
1634
+ "toolStepError": "jbF1yq_toolStepError",
1457
1635
  "wfTop": "jbF1yq_wfTop",
1458
- "readerSegBtn": "jbF1yq_readerSegBtn",
1459
- "navTab": "jbF1yq_navTab",
1460
- "wfFdotErr": "jbF1yq_wfFdotErr",
1461
- "pulse": "jbF1yq_pulse",
1462
- "wfMetrics": "jbF1yq_wfMetrics",
1463
- "progressTotalBar": "jbF1yq_progressTotalBar",
1464
- "readerItem": "jbF1yq_readerItem",
1465
- "navTitleName": "jbF1yq_navTitleName",
1466
- "wsAppliedBanner": "jbF1yq_wsAppliedBanner",
1467
- "planTreeRowTitle": "jbF1yq_planTreeRowTitle",
1468
- "dropzoneIcon": "jbF1yq_dropzoneIcon",
1469
- "nfSkeletonShimmer": "jbF1yq_nfSkeletonShimmer",
1470
- "wfBook": "jbF1yq_wfBook",
1471
- "diffNew": "jbF1yq_diffNew",
1472
- "authorContent": "jbF1yq_authorContent",
1473
- "navSpacer": "jbF1yq_navSpacer",
1474
- "assistantStatusBusy": "jbF1yq_assistantStatusBusy",
1475
- "cmdBox": "jbF1yq_cmdBox",
1476
- "wfFdot": "jbF1yq_wfFdot",
1477
- "wfConTxt": "jbF1yq_wfConTxt",
1636
+ "wfRsChk": "jbF1yq_wfRsChk",
1478
1637
  "tabular": "jbF1yq_tabular",
1479
- "eyebrow": "jbF1yq_eyebrow",
1480
- "importResult": "jbF1yq_importResult",
1481
- "wfSw": "jbF1yq_wfSw",
1482
- "planDetailBody": "jbF1yq_planDetailBody",
1483
- "subPageBody": "jbF1yq_subPageBody",
1484
- "switch": "jbF1yq_switch",
1638
+ "wfPs": "jbF1yq_wfPs",
1485
1639
  "wfDlDi": "jbF1yq_wfDlDi",
1486
- "legendOld": "jbF1yq_legendOld",
1487
- "readerLoading": "jbF1yq_readerLoading",
1488
- "adaptImpacts": "jbF1yq_adaptImpacts",
1640
+ "wfRs": "jbF1yq_wfRs",
1641
+ "assetGrid": "jbF1yq_assetGrid",
1642
+ "cmdItem": "jbF1yq_cmdItem",
1643
+ "entry": "jbF1yq_entry",
1644
+ "shelfEmptyIcon": "jbF1yq_shelfEmptyIcon",
1645
+ "chWorkSideBody": "jbF1yq_chWorkSideBody",
1646
+ "nfCmdPop": "jbF1yq_nfCmdPop",
1647
+ "wfDlName": "jbF1yq_wfDlName",
1648
+ "planTreeVol": "jbF1yq_planTreeVol",
1649
+ "navBadgePulse": "jbF1yq_navBadgePulse",
1650
+ "button": "jbF1yq_button",
1651
+ "importField": "jbF1yq_importField",
1652
+ "assetCardFooter": "jbF1yq_assetCardFooter",
1653
+ "topNavLabel": "jbF1yq_topNavLabel",
1654
+ "diffList": "jbF1yq_diffList",
1655
+ "wfPreviewActs": "jbF1yq_wfPreviewActs",
1656
+ "wfPoolBar": "jbF1yq_wfPoolBar",
1657
+ "readerItem": "jbF1yq_readerItem",
1658
+ "importModalBody": "jbF1yq_importModalBody",
1659
+ "badgeGenerating": "jbF1yq_badgeGenerating",
1660
+ "diffOld": "jbF1yq_diffOld",
1661
+ "wfEmpty": "jbF1yq_wfEmpty",
1489
1662
  "emptyStateIcon": "jbF1yq_emptyStateIcon",
1490
- "navAboutRow": "jbF1yq_navAboutRow",
1663
+ "wsSelectedText": "jbF1yq_wsSelectedText",
1664
+ "planTreeVolMeta": "jbF1yq_planTreeVolMeta",
1665
+ "dimCurrent": "jbF1yq_dimCurrent",
1491
1666
  "assetCardName": "jbF1yq_assetCardName",
1492
- "importModalActions": "jbF1yq_importModalActions",
1493
- "wfDs": "jbF1yq_wfDs",
1494
- "outlineList": "jbF1yq_outlineList",
1495
- "chWorkAside": "jbF1yq_chWorkAside",
1496
- "readerChapterTitle": "jbF1yq_readerChapterTitle",
1497
- "statCardDValue": "jbF1yq_statCardDValue",
1498
- "diffAdd": "jbF1yq_diffAdd",
1667
+ "readerFoot": "jbF1yq_readerFoot",
1668
+ "subPageMeta": "jbF1yq_subPageMeta",
1669
+ "wfPill": "jbF1yq_wfPill",
1670
+ "bookCardCover": "jbF1yq_bookCardCover",
1671
+ "runLog": "jbF1yq_runLog",
1672
+ "wfStRev": "jbF1yq_wfStRev",
1673
+ "bookCardName": "jbF1yq_bookCardName",
1674
+ "wfOpsRow": "jbF1yq_wfOpsRow",
1675
+ "bookCard": "jbF1yq_bookCard",
1676
+ "bookCardCoverTitle": "jbF1yq_bookCardCoverTitle",
1677
+ "outlineCodeBlock": "jbF1yq_outlineCodeBlock",
1678
+ "outlineH3": "jbF1yq_outlineH3",
1679
+ "shelfHero": "jbF1yq_shelfHero",
1680
+ "settingsDrawerOverlay": "jbF1yq_settingsDrawerOverlay",
1681
+ "brandEn": "jbF1yq_brandEn",
1682
+ "shelfEmptyTitle": "jbF1yq_shelfEmptyTitle",
1683
+ "bookCardProgressBar": "jbF1yq_bookCardProgressBar",
1684
+ "chatBubbleUser": "jbF1yq_chatBubbleUser",
1685
+ "drawerHeadBtn": "jbF1yq_drawerHeadBtn",
1499
1686
  "entryLabel": "jbF1yq_entryLabel",
1500
- "toolStepDetail": "jbF1yq_toolStepDetail",
1687
+ "wfSignal": "jbF1yq_wfSignal",
1688
+ "nfDrawerIn": "jbF1yq_nfDrawerIn",
1689
+ "outlineH1": "jbF1yq_outlineH1",
1690
+ "noticeSuccess": "jbF1yq_noticeSuccess",
1691
+ "dimCardHead": "jbF1yq_dimCardHead",
1692
+ "emptyState": "jbF1yq_emptyState",
1693
+ "planMaster": "jbF1yq_planMaster",
1694
+ "diffSame": "jbF1yq_diffSame",
1695
+ "nfViewIn": "jbF1yq_nfViewIn",
1696
+ "outlineH": "jbF1yq_outlineH",
1697
+ "wfHint": "jbF1yq_wfHint",
1698
+ "badgePending": "jbF1yq_badgePending",
1699
+ "wfSig": "jbF1yq_wfSig",
1700
+ "chWorkSideFoot": "jbF1yq_chWorkSideFoot",
1701
+ "outlineCode": "jbF1yq_outlineCode",
1702
+ "panel": "jbF1yq_panel",
1703
+ "assistantFloatHeader": "jbF1yq_assistantFloatHeader",
1704
+ "bookshelf": "jbF1yq_bookshelf",
1705
+ "navAbout": "jbF1yq_navAbout",
1706
+ "toolStepName": "jbF1yq_toolStepName",
1501
1707
  "readerError": "jbF1yq_readerError",
1502
- "wfPsN": "jbF1yq_wfPsN",
1503
- "wfLiveChip": "jbF1yq_wfLiveChip",
1504
- "planBeats": "jbF1yq_planBeats",
1505
- "toolStepStatus": "jbF1yq_toolStepStatus",
1506
- "assistantFloatBody": "jbF1yq_assistantFloatBody",
1507
- "chapterPreview": "jbF1yq_chapterPreview",
1508
- "chWorkPickBar": "jbF1yq_chWorkPickBar",
1509
- "shelfEmpty": "jbF1yq_shelfEmpty",
1510
- "planTreeVolGroup": "jbF1yq_planTreeVolGroup",
1511
- "subPageTitle": "jbF1yq_subPageTitle",
1512
- "readerItemTitle": "jbF1yq_readerItemTitle",
1513
- "outlineDocWrap": "jbF1yq_outlineDocWrap",
1514
- "readerItemBadge": "jbF1yq_readerItemBadge",
1708
+ "readerChapterTitle": "jbF1yq_readerChapterTitle",
1709
+ "docsSurface": "jbF1yq_docsSurface",
1710
+ "brandText": "jbF1yq_brandText",
1711
+ "nfFadeIn": "jbF1yq_nfFadeIn",
1515
1712
  "wfPsLab": "jbF1yq_wfPsLab",
1516
- "importError": "jbF1yq_importError",
1517
- "progressLine": "jbF1yq_progressLine",
1713
+ "wfFdotOk": "jbF1yq_wfFdotOk",
1714
+ "chWorkToolActions": "jbF1yq_chWorkToolActions",
1715
+ "chatBubbleAssistant": "jbF1yq_chatBubbleAssistant",
1716
+ "coverPreview": "jbF1yq_coverPreview",
1717
+ "wfPreviewName": "jbF1yq_wfPreviewName",
1718
+ "assetCardTop": "jbF1yq_assetCardTop",
1719
+ "importFileInfo": "jbF1yq_importFileInfo",
1720
+ "chWorkToolbar": "jbF1yq_chWorkToolbar",
1721
+ "nfToastHost": "jbF1yq_nfToastHost",
1722
+ "planTree": "jbF1yq_planTree",
1723
+ "pulse": "jbF1yq_pulse",
1724
+ "diffNew": "jbF1yq_diffNew",
1725
+ "brandSub": "jbF1yq_brandSub",
1726
+ "importModalActions": "jbF1yq_importModalActions",
1727
+ "wfNow": "jbF1yq_wfNow",
1728
+ "readerLoading": "jbF1yq_readerLoading",
1729
+ "drawerSpacer": "jbF1yq_drawerSpacer",
1730
+ "topNav": "jbF1yq_topNav",
1731
+ "chWorkMain": "jbF1yq_chWorkMain",
1732
+ "wsSelected": "jbF1yq_wsSelected",
1733
+ "ideaCard": "jbF1yq_ideaCard",
1734
+ "outlineH4": "jbF1yq_outlineH4",
1735
+ "importModalTabs": "jbF1yq_importModalTabs",
1736
+ "wfRail": "jbF1yq_wfRail",
1737
+ "wfCmdBtn": "jbF1yq_wfCmdBtn",
1738
+ "cardTitle": "jbF1yq_cardTitle",
1518
1739
  "wfConErr": "jbF1yq_wfConErr",
1519
- "chWorkAsideBody": "jbF1yq_chWorkAsideBody",
1520
- "nfViewIn": "jbF1yq_nfViewIn",
1521
- "drawerScrim": "jbF1yq_drawerScrim",
1522
- "progressBar": "jbF1yq_progressBar",
1523
- "assistantFloat": "jbF1yq_assistantFloat",
1524
- "wfColA": "jbF1yq_wfColA",
1525
- "wfAct": "jbF1yq_wfAct",
1526
- "readerChapterMeta": "jbF1yq_readerChapterMeta",
1527
- "chWorkBar": "jbF1yq_chWorkBar",
1528
- "adaptOutline": "jbF1yq_adaptOutline",
1529
- "dimCurrent": "jbF1yq_dimCurrent",
1530
- "brandEn": "jbF1yq_brandEn",
1531
- "diffList": "jbF1yq_diffList",
1532
- "planDot": "jbF1yq_planDot",
1533
- "ideaToggle": "jbF1yq_ideaToggle",
1534
- "drawerHead": "jbF1yq_drawerHead",
1535
- "outlineQuote": "jbF1yq_outlineQuote",
1536
- "chWorkSide": "jbF1yq_chWorkSide",
1537
- "settingsDrawerOverlay": "jbF1yq_settingsDrawerOverlay",
1538
- "readerItemNo": "jbF1yq_readerItemNo",
1539
- "navBadgePulse": "jbF1yq_navBadgePulse",
1540
- "busyRow": "jbF1yq_busyRow",
1541
- "navGroupLabel": "jbF1yq_navGroupLabel",
1542
- "titleBlock": "jbF1yq_titleBlock",
1543
- "chWorkSideBody": "jbF1yq_chWorkSideBody",
1544
- "bookCardMetaRow": "jbF1yq_bookCardMetaRow",
1545
- "noticeError": "jbF1yq_noticeError",
1546
- "bookCardName": "jbF1yq_bookCardName",
1740
+ "wfConTxt": "jbF1yq_wfConTxt",
1741
+ "chatRole": "jbF1yq_chatRole",
1742
+ "subPageHead": "jbF1yq_subPageHead",
1743
+ "badge": "jbF1yq_badge",
1744
+ "shelfEmpty": "jbF1yq_shelfEmpty",
1745
+ "chatScroll": "jbF1yq_chatScroll",
1746
+ "legendNew": "jbF1yq_legendNew",
1747
+ "wsPageHeader": "jbF1yq_wsPageHeader",
1748
+ "ideaCandidate": "jbF1yq_ideaCandidate",
1749
+ "authorContent": "jbF1yq_authorContent",
1750
+ "bookCardProgressFill": "jbF1yq_bookCardProgressFill",
1751
+ "wfColB": "jbF1yq_wfColB",
1752
+ "panelNavCollapsed": "jbF1yq_panelNavCollapsed",
1753
+ "subPageBack": "jbF1yq_subPageBack",
1754
+ "runChipText": "jbF1yq_runChipText",
1755
+ "bookCardActive": "jbF1yq_bookCardActive",
1756
+ "wfAccentAmber": "jbF1yq_wfAccentAmber",
1757
+ "bigProgressBarFill": "jbF1yq_bigProgressBarFill",
1758
+ "progress": "jbF1yq_progress",
1759
+ "shelfStatCard": "jbF1yq_shelfStatCard",
1760
+ "cmdInput": "jbF1yq_cmdInput",
1761
+ "assetFilterChip": "jbF1yq_assetFilterChip",
1762
+ "pageHeaderTitle": "jbF1yq_pageHeaderTitle",
1763
+ "drawerTitle": "jbF1yq_drawerTitle",
1764
+ "wfSmallFoot": "jbF1yq_wfSmallFoot",
1765
+ "outlineToc": "jbF1yq_outlineToc",
1766
+ "importModalOverlay": "jbF1yq_importModalOverlay",
1767
+ "switch": "jbF1yq_switch",
1768
+ "wfConsole": "jbF1yq_wfConsole",
1769
+ "wfLiveMark": "jbF1yq_wfLiveMark",
1770
+ "shelfSearch": "jbF1yq_shelfSearch",
1771
+ "diffText": "jbF1yq_diffText",
1772
+ "bookCardBlurb": "jbF1yq_bookCardBlurb",
1773
+ "outlineCodeLang": "jbF1yq_outlineCodeLang",
1774
+ "subPageBody": "jbF1yq_subPageBody",
1775
+ "assistantStatusBusy": "jbF1yq_assistantStatusBusy",
1776
+ "diffTagOld": "jbF1yq_diffTagOld",
1777
+ "outlineDocWrap": "jbF1yq_outlineDocWrap",
1547
1778
  "wfPoolWrap": "jbF1yq_wfPoolWrap",
1548
- "readerView": "jbF1yq_readerView",
1779
+ "planBeats": "jbF1yq_planBeats",
1549
1780
  "outlineVolSummary": "jbF1yq_outlineVolSummary",
1550
- "createBookInner": "jbF1yq_createBookInner",
1551
- "importModalHead": "jbF1yq_importModalHead",
1552
- "bookCardCover": "jbF1yq_bookCardCover",
1553
- "runChipText": "jbF1yq_runChipText",
1554
- "textarea": "jbF1yq_textarea",
1555
- "bookCardProgressFill": "jbF1yq_bookCardProgressFill",
1556
- "segTab": "jbF1yq_segTab",
1557
- "chWorkGrid": "jbF1yq_chWorkGrid",
1558
- "rowEnd": "jbF1yq_rowEnd",
1781
+ "assistantFloatBody": "jbF1yq_assistantFloatBody",
1782
+ "fadeIn": "jbF1yq_fadeIn",
1783
+ "diffAdd": "jbF1yq_diffAdd",
1784
+ "readerChapterMeta": "jbF1yq_readerChapterMeta",
1785
+ "planTreeSearch": "jbF1yq_planTreeSearch",
1559
1786
  "wfPl": "jbF1yq_wfPl",
1560
- "bookCardCoverTitle": "jbF1yq_bookCardCoverTitle",
1561
- "outlineVol": "jbF1yq_outlineVol",
1562
- "wbIndexRow": "jbF1yq_wbIndexRow",
1563
- "wsPreview": "jbF1yq_wsPreview",
1564
- "outlineH2": "jbF1yq_outlineH2",
1565
- "readerGroupCount": "jbF1yq_readerGroupCount",
1566
- "outlineH": "jbF1yq_outlineH",
1567
- "coverPreview": "jbF1yq_coverPreview",
1568
- "assistantStatus": "jbF1yq_assistantStatus",
1569
- "planTreeRow": "jbF1yq_planTreeRow",
1570
- "nfToastHost": "jbF1yq_nfToastHost",
1571
- "wfCn": "jbF1yq_wfCn",
1572
- "chatRole": "jbF1yq_chatRole",
1573
- "wfSignal": "jbF1yq_wfSignal",
1574
- "chWorkDraftBar": "jbF1yq_chWorkDraftBar",
1575
- "outlineTable": "jbF1yq_outlineTable",
1576
- "assetCardFooter": "jbF1yq_assetCardFooter",
1577
- "readerText": "jbF1yq_readerText",
1578
- "planTreeVolMeta": "jbF1yq_planTreeVolMeta",
1579
- "meta": "jbF1yq_meta",
1580
- "progressLineError": "jbF1yq_progressLineError",
1581
- "readerGroupArrow": "jbF1yq_readerGroupArrow",
1582
- "brandSub": "jbF1yq_brandSub",
1583
- "wfProg": "jbF1yq_wfProg",
1584
- "aiTag": "jbF1yq_aiTag",
1787
+ "topNavBtn": "jbF1yq_topNavBtn",
1788
+ "authorTopNav": "jbF1yq_authorTopNav",
1585
1789
  "importPreviewList": "jbF1yq_importPreviewList",
1586
- "pageHeaderTitle": "jbF1yq_pageHeaderTitle",
1587
- "adaptResult": "jbF1yq_adaptResult",
1588
- "legendNew": "jbF1yq_legendNew",
1589
- "bookCardProgressBar": "jbF1yq_bookCardProgressBar",
1590
- "wfProgBig": "jbF1yq_wfProgBig",
1790
+ "wfQtTone": "jbF1yq_wfQtTone",
1591
1791
  "coverPlaceholder": "jbF1yq_coverPlaceholder",
1592
- "wfPsLegend": "jbF1yq_wfPsLegend",
1593
- "navAbout": "jbF1yq_navAbout",
1594
- "outlineP": "jbF1yq_outlineP",
1595
- "settingsDrawerHead": "jbF1yq_settingsDrawerHead",
1596
- "wfTool": "jbF1yq_wfTool",
1597
- "wfSig": "jbF1yq_wfSig",
1598
- "wfSigRight": "jbF1yq_wfSigRight",
1599
- "drawerTitle": "jbF1yq_drawerTitle",
1600
- "readerHeader": "jbF1yq_readerHeader",
1601
- "wfDrawerList": "jbF1yq_wfDrawerList",
1602
- "runLog": "jbF1yq_runLog",
1603
- "wfEmpty": "jbF1yq_wfEmpty",
1604
- "shelfGrid": "jbF1yq_shelfGrid",
1605
- "dropzone": "jbF1yq_dropzone",
1606
- "chWorkSideHead": "jbF1yq_chWorkSideHead",
1607
- "shelfSearch": "jbF1yq_shelfSearch",
1608
- "navTitle": "jbF1yq_navTitle",
1609
- "adaptProposal": "jbF1yq_adaptProposal",
1610
- "runLogLine": "jbF1yq_runLogLine",
1611
- "badgeRejected": "jbF1yq_badgeRejected",
1612
- "chWorkMain": "jbF1yq_chWorkMain",
1613
- "badgeError": "jbF1yq_badgeError",
1614
- "adaptTable": "jbF1yq_adaptTable",
1615
- "wfConBar": "jbF1yq_wfConBar",
1616
- "shelfEmptyTitle": "jbF1yq_shelfEmptyTitle",
1617
- "wfStFix": "jbF1yq_wfStFix",
1618
- "authorNav": "jbF1yq_authorNav",
1619
- "badgeGenerating": "jbF1yq_badgeGenerating",
1620
- "diffChange": "jbF1yq_diffChange",
1621
- "outlineHr": "jbF1yq_outlineHr",
1622
- "wfRsName": "jbF1yq_wfRsName",
1623
- "shelfStatCard": "jbF1yq_shelfStatCard",
1624
- "wfOpsRow": "jbF1yq_wfOpsRow",
1625
- "cmdHint": "jbF1yq_cmdHint",
1626
- "wfDlName": "jbF1yq_wfDlName",
1627
- "chWork": "jbF1yq_chWork",
1628
- "cmdList": "jbF1yq_cmdList",
1629
- "planDetailBar": "jbF1yq_planDetailBar",
1792
+ "reviewBox": "jbF1yq_reviewBox",
1793
+ "navTitleName": "jbF1yq_navTitleName",
1794
+ "chWorkPickBar": "jbF1yq_chWorkPickBar",
1630
1795
  "nfpanel": "jbF1yq_nfpanel",
1631
- "card": "jbF1yq_card",
1632
- "wsSelected": "jbF1yq_wsSelected",
1633
- "adaptMatrix": "jbF1yq_adaptMatrix",
1796
+ "assetTextarea": "jbF1yq_assetTextarea",
1797
+ "wfPreviewLine": "jbF1yq_wfPreviewLine",
1798
+ "t2RailMeta": "jbF1yq_t2RailMeta",
1799
+ "authorPageBodyFlow": "jbF1yq_authorPageBodyFlow",
1634
1800
  "wfCard2": "jbF1yq_wfCard2",
1635
- "wfCoordStuck": "jbF1yq_wfCoordStuck",
1636
- "assistantResize": "jbF1yq_assistantResize",
1637
- "headSpacer": "jbF1yq_headSpacer",
1638
- "bookCardBlurb": "jbF1yq_bookCardBlurb",
1639
- "adaptInputCard": "jbF1yq_adaptInputCard",
1640
- "nfToast": "jbF1yq_nfToast",
1641
- "nfCmdPop": "jbF1yq_nfCmdPop",
1642
- "assetCard": "jbF1yq_assetCard",
1643
- "wfConsoleNote": "jbF1yq_wfConsoleNote",
1644
- "wfDl": "jbF1yq_wfDl",
1645
- "wbIndexVol": "jbF1yq_wbIndexVol",
1646
- "wsPageHeader": "jbF1yq_wsPageHeader",
1647
- "bookCardTitleRow": "jbF1yq_bookCardTitleRow",
1648
- "wfQtTone": "jbF1yq_wfQtTone",
1649
- "toolStep": "jbF1yq_toolStep",
1650
- "chWorkToolbar": "jbF1yq_chWorkToolbar",
1651
- "settingsDrawer": "jbF1yq_settingsDrawer",
1801
+ "toolSteps": "jbF1yq_toolSteps",
1802
+ "dimCard": "jbF1yq_dimCard",
1803
+ "wfSigGood": "jbF1yq_wfSigGood",
1804
+ "authorHome": "jbF1yq_authorHome",
1805
+ "readerView": "jbF1yq_readerView",
1806
+ "t2Master": "jbF1yq_t2Master",
1807
+ "outlineHr": "jbF1yq_outlineHr",
1652
1808
  "chWorkTitle": "jbF1yq_chWorkTitle",
1809
+ "assistantResize": "jbF1yq_assistantResize",
1810
+ "field": "jbF1yq_field",
1811
+ "planTreeRowNo": "jbF1yq_planTreeRowNo",
1812
+ "assistantStatus": "jbF1yq_assistantStatus",
1653
1813
  "assetGroupHeader": "jbF1yq_assetGroupHeader",
1654
- "chapterTitle": "jbF1yq_chapterTitle",
1655
- "planDetailTitle": "jbF1yq_planDetailTitle",
1814
+ "chWorkGrid": "jbF1yq_chWorkGrid",
1656
1815
  "importModal": "jbF1yq_importModal",
1657
- "topNavSpacer": "jbF1yq_topNavSpacer",
1658
- "planDetailEmpty": "jbF1yq_planDetailEmpty",
1659
- "toolStepError": "jbF1yq_toolStepError",
1660
- "shelfToolbar": "jbF1yq_shelfToolbar",
1661
- "planBeatsLabel": "jbF1yq_planBeatsLabel",
1662
- "wfSt": "jbF1yq_wfSt",
1663
- "wfSmallFoot": "jbF1yq_wfSmallFoot",
1664
- "fieldLabel": "jbF1yq_fieldLabel",
1665
- "subPageHead": "jbF1yq_subPageHead",
1666
- "toolLive": "jbF1yq_toolLive",
1667
- "nfSlideInRight": "jbF1yq_nfSlideInRight",
1668
- "runLogTime": "jbF1yq_runLogTime",
1669
- "bigProgressBarFill": "jbF1yq_bigProgressBarFill",
1670
- "importModalTabs": "jbF1yq_importModalTabs",
1671
- "fadeIn": "jbF1yq_fadeIn",
1672
- "planTreeRowNo": "jbF1yq_planTreeRowNo",
1673
- "wfToolAmber": "jbF1yq_wfToolAmber",
1674
- "iconBtn": "jbF1yq_iconBtn",
1675
- "wfRow": "jbF1yq_wfRow",
1676
- "liveText": "jbF1yq_liveText",
1677
- "wfConsole": "jbF1yq_wfConsole",
1678
- "cmdIcon": "jbF1yq_cmdIcon",
1679
- "brandLogo": "jbF1yq_brandLogo",
1680
- "assetFilterChip": "jbF1yq_assetFilterChip",
1681
- "readerArticle": "jbF1yq_readerArticle",
1682
- "t2Master": "jbF1yq_t2Master",
1683
- "adaptRuleRow": "jbF1yq_adaptRuleRow",
1684
- "wfFdotOk": "jbF1yq_wfFdotOk",
1685
- "brandName": "jbF1yq_brandName",
1686
1816
  "wfQt": "jbF1yq_wfQt",
1687
- "outlineCodeLang": "jbF1yq_outlineCodeLang",
1688
- "pageHeaderSub": "jbF1yq_pageHeaderSub",
1689
- "cardTitle": "jbF1yq_cardTitle",
1690
- "progressLineLive": "jbF1yq_progressLineLive",
1691
- "button": "jbF1yq_button",
1692
- "navTitleBook": "jbF1yq_navTitleBook",
1693
- "assetCardTop": "jbF1yq_assetCardTop",
1694
- "tab": "jbF1yq_tab",
1695
- "topNavBadge": "jbF1yq_topNavBadge",
1696
- "panelBody": "jbF1yq_panelBody",
1697
- "subPageMeta": "jbF1yq_subPageMeta",
1698
- "shelfStatGrid": "jbF1yq_shelfStatGrid",
1699
- "buttonPrimary": "jbF1yq_buttonPrimary",
1700
- "chatBubbleAssistant": "jbF1yq_chatBubbleAssistant",
1701
- "readerTitle": "jbF1yq_readerTitle",
1702
- "badgeDone": "jbF1yq_badgeDone",
1703
- "wfFeedList": "jbF1yq_wfFeedList",
1704
- "wfLiveMark": "jbF1yq_wfLiveMark",
1705
- "diffText": "jbF1yq_diffText",
1706
- "wfOpsBtn": "jbF1yq_wfOpsBtn",
1707
- "wsSelectedText": "jbF1yq_wsSelectedText",
1708
- "dimCard": "jbF1yq_dimCard",
1709
- "diffTagNew": "jbF1yq_diffTagNew",
1710
- "pageHeaderEyebrow": "jbF1yq_pageHeaderEyebrow",
1711
- "progressBarFill": "jbF1yq_progressBarFill",
1712
- "panelNav": "jbF1yq_panelNav",
1713
- "outlineTocItem": "jbF1yq_outlineTocItem",
1714
- "panelTitle": "jbF1yq_panelTitle",
1715
- "chWorkActions": "jbF1yq_chWorkActions",
1716
- "assetGrid": "jbF1yq_assetGrid",
1717
- "fileList": "jbF1yq_fileList",
1718
- "pageHeader": "jbF1yq_pageHeader",
1719
- "nfChipPulse": "jbF1yq_nfChipPulse",
1720
- "wfNow": "jbF1yq_wfNow",
1721
- "wfFeedBox": "jbF1yq_wfFeedBox",
1722
- "wfConRow": "jbF1yq_wfConRow",
1723
- "chWorkAsideTitle": "jbF1yq_chWorkAsideTitle",
1817
+ "wfConBar": "jbF1yq_wfConBar",
1818
+ "wfCoord": "jbF1yq_wfCoord",
1819
+ "wfColA": "jbF1yq_wfColA",
1724
1820
  "pageHeaderMain": "jbF1yq_pageHeaderMain",
1725
- "noticeSuccess": "jbF1yq_noticeSuccess",
1726
- "chapterActions": "jbF1yq_chapterActions",
1727
- "assetEditorRow": "jbF1yq_assetEditorRow",
1728
- "adaptTextarea": "jbF1yq_adaptTextarea",
1729
- "chatBubbleUser": "jbF1yq_chatBubbleUser",
1730
- "entryIcon": "jbF1yq_entryIcon",
1731
- "bookCard": "jbF1yq_bookCard",
1732
- "panelTop": "jbF1yq_panelTop",
1733
- "assetGroup": "jbF1yq_assetGroup",
1734
- "adaptCell": "jbF1yq_adaptCell",
1735
- "wfStFail": "jbF1yq_wfStFail",
1736
- "badge": "jbF1yq_badge",
1737
- "subPageActions": "jbF1yq_subPageActions",
1738
- "outlineTocL1": "jbF1yq_outlineTocL1",
1739
- "nfFadeIn": "jbF1yq_nfFadeIn",
1740
- "shelfHero": "jbF1yq_shelfHero",
1741
- "importField": "jbF1yq_importField",
1742
- "pillNavSlider": "jbF1yq_pillNavSlider",
1743
- "topNavBtn": "jbF1yq_topNavBtn",
1821
+ "assistantFloat": "jbF1yq_assistantFloat",
1822
+ "cmdEmpty": "jbF1yq_cmdEmpty",
1823
+ "buttonDanger": "jbF1yq_buttonDanger",
1744
1824
  "panelHead": "jbF1yq_panelHead",
1745
- "chWorkSideFoot": "jbF1yq_chWorkSideFoot",
1746
- "drawerMax": "jbF1yq_drawerMax",
1747
- "readerMain": "jbF1yq_readerMain",
1748
- "outlineCodeBlock": "jbF1yq_outlineCodeBlock",
1749
- "outlineH4": "jbF1yq_outlineH4",
1750
- "reviewBox": "jbF1yq_reviewBox",
1751
- "progressLineDone": "jbF1yq_progressLineDone",
1752
- "assetLabel": "jbF1yq_assetLabel",
1753
- "subPage": "jbF1yq_subPage",
1754
- "emptyState": "jbF1yq_emptyState",
1755
- "adaptRule": "jbF1yq_adaptRule",
1756
- "readerSeg": "jbF1yq_readerSeg",
1757
- "t2Rail": "jbF1yq_t2Rail",
1758
- "panelHidden": "jbF1yq_panelHidden",
1759
- "genreDesc": "jbF1yq_genreDesc",
1760
- "outlineH1": "jbF1yq_outlineH1",
1761
- "cmdInput": "jbF1yq_cmdInput",
1762
- "wfFt": "jbF1yq_wfFt",
1763
- "wsColumns": "jbF1yq_wsColumns",
1764
- "runChip": "jbF1yq_runChip",
1765
- "outlineTableWrap": "jbF1yq_outlineTableWrap",
1766
- "wfDot": "jbF1yq_wfDot",
1767
- "outlineToc": "jbF1yq_outlineToc",
1768
- "wfSep": "jbF1yq_wfSep",
1769
- "importFileInfo": "jbF1yq_importFileInfo",
1770
- "bookCardActions": "jbF1yq_bookCardActions",
1771
- "wsEditor": "jbF1yq_wsEditor",
1772
- "diffColumn": "jbF1yq_diffColumn",
1773
- "assetFilterChipActive": "jbF1yq_assetFilterChipActive",
1774
- "outlineDoc": "jbF1yq_outlineDoc",
1775
- "toolStepIcon": "jbF1yq_toolStepIcon",
1776
- "outlineCode": "jbF1yq_outlineCode",
1777
- "bookshelf": "jbF1yq_bookshelf",
1778
- "dimTitle": "jbF1yq_dimTitle",
1779
- "chWorkToolActions": "jbF1yq_chWorkToolActions",
1780
- "planTreeVol": "jbF1yq_planTreeVol",
1781
- "wfAccentAmber": "jbF1yq_wfAccentAmber",
1782
- "contentDrawerBody": "jbF1yq_contentDrawerBody",
1783
- "toolStepActive": "jbF1yq_toolStepActive",
1784
- "wfPill": "jbF1yq_wfPill",
1785
- "dropzoneActive": "jbF1yq_dropzoneActive",
1786
- "settingsDrawerBody": "jbF1yq_settingsDrawerBody",
1787
- "t2Content": "jbF1yq_t2Content",
1788
- "wfTopRight": "jbF1yq_wfTopRight",
1825
+ "subPageActions": "jbF1yq_subPageActions",
1826
+ "cmdMask": "jbF1yq_cmdMask",
1827
+ "noticeError": "jbF1yq_noticeError",
1828
+ "navTab": "jbF1yq_navTab",
1829
+ "toolLive": "jbF1yq_toolLive",
1830
+ "statCardDDetail": "jbF1yq_statCardDDetail",
1831
+ "busyRow": "jbF1yq_busyRow",
1832
+ "chWork": "jbF1yq_chWork",
1833
+ "wfBox": "jbF1yq_wfBox",
1789
1834
  "pillNav": "jbF1yq_pillNav",
1790
- "bookCardCoverFallback": "jbF1yq_bookCardCoverFallback",
1791
- "wfPreview": "jbF1yq_wfPreview",
1792
- "outlineLi": "jbF1yq_outlineLi",
1793
- "readerSidebar": "jbF1yq_readerSidebar",
1794
- "chapter": "jbF1yq_chapter",
1795
- "t2RailSep": "jbF1yq_t2RailSep",
1796
- "chapterFocus": "jbF1yq_chapterFocus",
1797
- "authorPageHeader": "jbF1yq_authorPageHeader",
1798
- "cardTitleLg": "jbF1yq_cardTitleLg",
1799
- "panelNavCollapsed": "jbF1yq_panelNavCollapsed",
1800
- "toolSteps": "jbF1yq_toolSteps",
1801
- "ideaCard": "jbF1yq_ideaCard",
1802
- "field": "jbF1yq_field",
1803
- "wfBlink": "jbF1yq_wfBlink",
1804
- "diffDel": "jbF1yq_diffDel",
1805
- "panelContent": "jbF1yq_panelContent",
1806
- "cmdItem": "jbF1yq_cmdItem",
1835
+ "readerText": "jbF1yq_readerText",
1807
1836
  "diffLegend": "jbF1yq_diffLegend",
1808
- "wsPreviewText": "jbF1yq_wsPreviewText",
1809
- "chapterList": "jbF1yq_chapterList",
1810
- "diffOld": "jbF1yq_diffOld",
1811
- "wfStRev": "jbF1yq_wfStRev",
1812
- "dimEdit": "jbF1yq_dimEdit",
1813
- "lfPill": "jbF1yq_lfPill",
1814
- "shelfEmptyIcon": "jbF1yq_shelfEmptyIcon",
1815
- "wfCmd": "jbF1yq_wfCmd",
1816
- "chWorkFootRow": "jbF1yq_chWorkFootRow",
1817
- "wsColumn": "jbF1yq_wsColumn",
1818
- "assistantFloatHeader": "jbF1yq_assistantFloatHeader",
1819
- "readerItemActive": "jbF1yq_readerItemActive",
1820
- "wfCoord": "jbF1yq_wfCoord",
1821
- "topNav": "jbF1yq_topNav",
1837
+ "wfFdotErr": "jbF1yq_wfFdotErr",
1838
+ "assetFilterChipActive": "jbF1yq_assetFilterChipActive",
1839
+ "wfRsNo": "jbF1yq_wfRsNo",
1840
+ "pageHeaderSub": "jbF1yq_pageHeaderSub",
1841
+ "statCardDValue": "jbF1yq_statCardDValue",
1842
+ "chapterFocus": "jbF1yq_chapterFocus",
1843
+ "pillNavSliding": "jbF1yq_pillNavSliding",
1844
+ "bookCardTitleRow": "jbF1yq_bookCardTitleRow",
1845
+ "navTitleLogo": "jbF1yq_navTitleLogo",
1846
+ "pageHeaderActions": "jbF1yq_pageHeaderActions",
1847
+ "drawerScrim": "jbF1yq_drawerScrim",
1848
+ "wfDs": "jbF1yq_wfDs",
1822
1849
  "nfToastTick": "jbF1yq_nfToastTick",
1823
- "wfBody": "jbF1yq_wfBody",
1824
- "t2RailHead": "jbF1yq_t2RailHead",
1825
- "wfConOk": "jbF1yq_wfConOk",
1826
- "adaptTableScroll": "jbF1yq_adaptTableScroll",
1827
- "adaptImpact": "jbF1yq_adaptImpact",
1828
- "entry": "jbF1yq_entry",
1829
- "input": "jbF1yq_input",
1830
- "readerGroupTitle": "jbF1yq_readerGroupTitle",
1831
- "diffTagOld": "jbF1yq_diffTagOld",
1832
- "view": "jbF1yq_view",
1833
- "wfFi": "jbF1yq_wfFi",
1834
- "iconButton": "jbF1yq_iconButton",
1835
- "wfStage": "jbF1yq_wfStage",
1836
- "planMaster": "jbF1yq_planMaster",
1837
- "wbIndexTitle": "jbF1yq_wbIndexTitle",
1838
- "t2RailBtn": "jbF1yq_t2RailBtn",
1839
- "wfOpsBtnMain": "jbF1yq_wfOpsBtnMain",
1840
- "importHint": "jbF1yq_importHint",
1841
- "navAboutUpdate": "jbF1yq_navAboutUpdate",
1842
- "authorNavBtn": "jbF1yq_authorNavBtn",
1843
- "wfColB": "jbF1yq_wfColB",
1844
- "wfRsChk": "jbF1yq_wfRsChk",
1845
- "wfRs": "jbF1yq_wfRs",
1846
- "wfPreviewActs": "jbF1yq_wfPreviewActs",
1847
- "adaptRules": "jbF1yq_adaptRules",
1848
- "bookCardBody": "jbF1yq_bookCardBody",
1849
- "bigProgressBar": "jbF1yq_bigProgressBar",
1850
- "wfMetric": "jbF1yq_wfMetric"
1850
+ "chapterTitle": "jbF1yq_chapterTitle",
1851
+ "onlyChanges": "jbF1yq_onlyChanges",
1852
+ "panelContent": "jbF1yq_panelContent",
1853
+ "cmdList": "jbF1yq_cmdList",
1854
+ "brand": "jbF1yq_brand",
1855
+ "wfSep": "jbF1yq_wfSep"
1851
1856
  };
1852
1857
  //#endregion
1853
1858
  //#region src/client/panel/status-badge.ts
@@ -44847,7 +44852,7 @@ window.__ModuleLoader__.load({
44847
44852
  * 作者级首页容器:书架页左侧导航 + 内容区。
44848
44853
  * 导航复用工作区 .panelNav 玻璃卡片样式(同款),导航项为作者级:书架/改编/资产库/全局资产库/AI 进度/设置。
44849
44854
  */
44850
- const PLUGIN_VERSION = "2.1.2";
44855
+ const PLUGIN_VERSION = "2.1.4";
44851
44856
  /** GitHub 仓库地址(关于区块点击跳转)。 */
44852
44857
  const REPO_URL = "https://github.com/watersxya/dsh-novel-forge";
44853
44858
  /** 顶层 tab(横向,墨案:创作 / 灵感策划 / 资产 / 设置)+ 组内二级页。 */
@@ -49425,6 +49430,290 @@ window.__ModuleLoader__.load({
49425
49430
  });
49426
49431
  }
49427
49432
  //#endregion
49433
+ //#region src/client/panel/StyleView.tsx
49434
+ /**
49435
+ * 风格漂移曲线:把「每一章离本书自己的风格基线有多远」画出来。
49436
+ *
49437
+ * 图上三条信息:基线(虚线,本书已过审章节的中位数)、逐章实际(折线)、显著偏离的章(红点)。
49438
+ * 指标可切换:句均长 / 短句占比 / 对话占比 / 段落均长。
49439
+ *
49440
+ * 两点刻意的设计:
49441
+ * 1. **基线与审稿同源** —— 用的是同一份 styleBaseline,所以图上看到的就是审稿判偏离用的那把尺子。
49442
+ * 若各画各的,作者会看到两个不一致的结论。
49443
+ * 2. **数值即时算、不落盘** —— 数据源就是章节文件本身,存一份快照只会带来陈旧问题。
49444
+ *
49445
+ * 只画四项长度/比率指标:句长起伏与意象密度是诊断用的,画成曲线反而难读。
49446
+ */
49447
+ const METRICS = [
49448
+ {
49449
+ key: "avgSentenceLength",
49450
+ label: "句均长",
49451
+ percent: false
49452
+ },
49453
+ {
49454
+ key: "shortSentenceRatio",
49455
+ label: "短句占比",
49456
+ percent: true
49457
+ },
49458
+ {
49459
+ key: "dialogueRatio",
49460
+ label: "对话占比",
49461
+ percent: true
49462
+ },
49463
+ {
49464
+ key: "avgParagraphLength",
49465
+ label: "段落均长",
49466
+ percent: false
49467
+ }
49468
+ ];
49469
+ /** 把服务端给的「指标 key + 方向箭头」显示成中文。 */
49470
+ function labelOf(significant) {
49471
+ const found = METRICS.find((m) => significant.startsWith(m.key));
49472
+ return found === void 0 ? significant : found.label + significant.slice(found.key.length);
49473
+ }
49474
+ /** 简易折线图(SVG,无依赖):横轴按章节序号均分,纵轴按本图最大值归一。 */
49475
+ function DriftChart({ points, metric, baseline, percent }) {
49476
+ const W = 720;
49477
+ const H = 200;
49478
+ const padX = 28;
49479
+ const padY = 16;
49480
+ const n = points.length;
49481
+ const values = points.map((p) => p.measured ? p[metric] : void 0);
49482
+ const known = values.filter((v) => v !== void 0);
49483
+ const maxRaw = Math.max(baseline ?? 0, ...known);
49484
+ const max = maxRaw > 0 ? maxRaw * 1.12 : 1;
49485
+ const x = (i) => n <= 1 ? W / 2 : padX + i / (n - 1) * (W - padX * 2);
49486
+ const y = (v) => padY + (1 - v / max) * (H - padY * 2);
49487
+ const fmt = (v) => percent ? (v * 100).toFixed(1) + "%" : v.toFixed(1);
49488
+ const line = values.map((v, i) => v === void 0 ? null : x(i).toFixed(1) + "," + y(v).toFixed(1)).filter((s) => s !== null).join(" ");
49489
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("svg", {
49490
+ viewBox: "0 0 720 200",
49491
+ width: "100%",
49492
+ height: H,
49493
+ role: "img",
49494
+ "aria-label": "风格漂移曲线",
49495
+ children: [
49496
+ [0, .5].map((r) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
49497
+ x1: padX,
49498
+ x2: W - padX,
49499
+ y1: y(max * r),
49500
+ y2: y(max * r),
49501
+ stroke: "var(--nf-border)",
49502
+ strokeWidth: .5,
49503
+ strokeDasharray: "3 4"
49504
+ }, r)),
49505
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
49506
+ x1: padX,
49507
+ x2: W - padX,
49508
+ y1: y(0),
49509
+ y2: y(0),
49510
+ stroke: "var(--nf-border)",
49511
+ strokeWidth: 1
49512
+ }),
49513
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("text", {
49514
+ x: 4,
49515
+ y: y(max) + 10,
49516
+ fontSize: 9,
49517
+ fill: "var(--nf-text-2)",
49518
+ children: fmt(max)
49519
+ }),
49520
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("text", {
49521
+ x: 4,
49522
+ y: y(0) + 3,
49523
+ fontSize: 9,
49524
+ fill: "var(--nf-text-2)",
49525
+ children: "0"
49526
+ }),
49527
+ baseline !== void 0 && baseline > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("g", { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("line", {
49528
+ x1: padX,
49529
+ x2: W - padX,
49530
+ y1: y(baseline),
49531
+ y2: y(baseline),
49532
+ stroke: "var(--nf-accent)",
49533
+ strokeWidth: 1.5,
49534
+ strokeDasharray: "5 4",
49535
+ opacity: .85
49536
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("text", {
49537
+ x: W - padX,
49538
+ y: y(baseline) - 4,
49539
+ fontSize: 9,
49540
+ textAnchor: "end",
49541
+ fill: "var(--nf-accent)",
49542
+ children: ["基线 ", fmt(baseline)]
49543
+ })] }),
49544
+ line !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("polyline", {
49545
+ points: line,
49546
+ fill: "none",
49547
+ stroke: "var(--nf-text-2)",
49548
+ strokeWidth: 1.5
49549
+ }),
49550
+ points.map((p, i) => {
49551
+ const v = values[i];
49552
+ if (v === void 0) return null;
49553
+ const off = p.significant.some((s) => s.startsWith(metric));
49554
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
49555
+ cx: x(i),
49556
+ cy: y(v),
49557
+ r: off ? 3.4 : 2,
49558
+ fill: off ? "var(--nf-error)" : "var(--nf-success)",
49559
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("title", { children: "第" + p.no + "章 " + p.title + "|" + fmt(v) + (off ? "|偏离:" + p.significant.map(labelOf).join("、") : "") })
49560
+ }, p.no);
49561
+ })
49562
+ ]
49563
+ });
49564
+ }
49565
+ function StyleView({ api }) {
49566
+ const [data, setData] = (0, react.useState)(null);
49567
+ const [error, setError] = (0, react.useState)("");
49568
+ const [metric, setMetric] = (0, react.useState)("avgSentenceLength");
49569
+ const refresh = (0, react.useCallback)(async (showError = true) => {
49570
+ try {
49571
+ setData(await api.styleHistory());
49572
+ } catch (err) {
49573
+ if (showError) setError(err.message);
49574
+ }
49575
+ }, [api]);
49576
+ (0, react.useEffect)(() => {
49577
+ refresh(false);
49578
+ }, [refresh]);
49579
+ const points = data?.points ?? [];
49580
+ const measured = points.filter((p) => p.measured);
49581
+ const offChapters = points.filter((p) => p.significant.length > 0);
49582
+ const current = METRICS.find((m) => m.key === metric) ?? METRICS[0];
49583
+ const baseline = data?.baseline === null || data?.baseline === void 0 ? void 0 : data.baseline[metric];
49584
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
49585
+ className: panel_module_css_default.card,
49586
+ style: { gap: "var(--nf-space-12)" },
49587
+ children: [
49588
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
49589
+ className: panel_module_css_default.row,
49590
+ style: {
49591
+ justifyContent: "space-between",
49592
+ alignItems: "center",
49593
+ flexWrap: "wrap",
49594
+ gap: "var(--nf-space-8)"
49595
+ },
49596
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
49597
+ className: panel_module_css_default.cardTitle,
49598
+ children: "风格漂移曲线"
49599
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
49600
+ className: panel_module_css_default.meta,
49601
+ children: [
49602
+ points.length,
49603
+ " 章 · 可测 ",
49604
+ measured.length,
49605
+ " 章 · 偏离 ",
49606
+ offChapters.length,
49607
+ " 章",
49608
+ data !== null && data.baselineLabel !== "" ? " · 基线:" + data.baselineLabel : ""
49609
+ ]
49610
+ })]
49611
+ }),
49612
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
49613
+ className: panel_module_css_default.row,
49614
+ style: {
49615
+ gap: "var(--nf-space-8)",
49616
+ alignItems: "center",
49617
+ flexWrap: "wrap"
49618
+ },
49619
+ children: [
49620
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("select", {
49621
+ className: panel_module_css_default.input,
49622
+ value: metric,
49623
+ onChange: (e) => setMetric(e.target.value),
49624
+ children: METRICS.map((m) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
49625
+ value: m.key,
49626
+ children: m.label
49627
+ }, m.key))
49628
+ }),
49629
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
49630
+ className: panel_module_css_default.meta,
49631
+ children: "虚线=本书风格基线;红点=该指标超出容忍度。基线与审稿同源。"
49632
+ }),
49633
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
49634
+ type: "button",
49635
+ className: panel_module_css_default.button + " " + panel_module_css_default.buttonSmall,
49636
+ onClick: () => {
49637
+ refresh();
49638
+ },
49639
+ children: "刷新"
49640
+ })
49641
+ ]
49642
+ }),
49643
+ error !== "" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
49644
+ style: {
49645
+ color: "var(--nf-error)",
49646
+ fontSize: "var(--nf-text-12)"
49647
+ },
49648
+ children: error
49649
+ }),
49650
+ measured.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
49651
+ className: panel_module_css_default.meta,
49652
+ children: "还没有可测的章节正文(每章需 200 字以上才能算指标)。先在「总编台 → 生产单」写几章。"
49653
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
49654
+ style: {
49655
+ display: "flex",
49656
+ flexDirection: "column",
49657
+ gap: "var(--nf-space-8)"
49658
+ },
49659
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DriftChart, {
49660
+ points,
49661
+ metric,
49662
+ baseline,
49663
+ percent: current.percent
49664
+ }), offChapters.length > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
49665
+ style: {
49666
+ border: "1px solid var(--nf-border)",
49667
+ borderRadius: 8,
49668
+ padding: 8,
49669
+ background: "var(--nf-bg-inset)",
49670
+ maxHeight: 220,
49671
+ overflowY: "auto"
49672
+ },
49673
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("b", {
49674
+ style: { fontSize: "var(--nf-fs-12)" },
49675
+ children: [
49676
+ "偏离章节 ",
49677
+ offChapters.length,
49678
+ " 章"
49679
+ ]
49680
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
49681
+ style: {
49682
+ display: "flex",
49683
+ flexDirection: "column",
49684
+ gap: 4,
49685
+ marginTop: 6
49686
+ },
49687
+ children: offChapters.map((p) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
49688
+ style: { fontSize: "var(--nf-fs-12)" },
49689
+ children: [
49690
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
49691
+ className: panel_module_css_default.lfPill,
49692
+ "data-phase": "requesting",
49693
+ children: [
49694
+ "第 ",
49695
+ p.no,
49696
+ " 章"
49697
+ ]
49698
+ }),
49699
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
49700
+ style: { marginLeft: 6 },
49701
+ children: p.title
49702
+ }),
49703
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
49704
+ className: panel_module_css_default.meta,
49705
+ style: { marginLeft: 6 },
49706
+ children: p.significant.map(labelOf).join("、")
49707
+ })
49708
+ ]
49709
+ }, p.no))
49710
+ })]
49711
+ })]
49712
+ })
49713
+ ]
49714
+ });
49715
+ }
49716
+ //#endregion
49428
49717
  //#region src/client/panel/PromptSlotsView.tsx
49429
49718
  /**
49430
49719
  * 提示词槽位:给作者留几个**安全可改**的位置来微调本书表达偏好。
@@ -53752,6 +54041,16 @@ window.__ModuleLoader__.load({
53752
54041
  openDrawer("tension");
53753
54042
  }
53754
54043
  },
54044
+ {
54045
+ key: "style",
54046
+ group: "tools",
54047
+ name: "风格漂移曲线",
54048
+ di: chapters.length > 0 ? `● ${chapters.length} 章可比对` : "○ 需先有正文",
54049
+ dim: project === null,
54050
+ go: () => {
54051
+ openDrawer("style");
54052
+ }
54053
+ },
53755
54054
  {
53756
54055
  key: "promptSlots",
53757
54056
  group: "tools",
@@ -56268,6 +56567,7 @@ window.__ModuleLoader__.load({
56268
56567
  },
56269
56568
  busy
56270
56569
  }),
56570
+ rightDrawer === "style" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(StyleView, { api }),
56271
56571
  rightDrawer === "promptSlots" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PromptSlotsView, { api }),
56272
56572
  rightDrawer === "run" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(RunPanel, {
56273
56573
  api,