chatlab-cli 0.28.1 → 0.29.0

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.
Files changed (111) hide show
  1. package/dist/{chat-command-ISJ2DC7R.mjs → chat-command-JKG3FY5B.mjs} +8 -5
  2. package/dist/{chat-command-ISJ2DC7R.mjs.map → chat-command-JKG3FY5B.mjs.map} +1 -1
  3. package/dist/chunk-2MZ6G4AC.mjs +1339 -0
  4. package/dist/chunk-2MZ6G4AC.mjs.map +1 -0
  5. package/dist/{chunk-NJB2NNB2.mjs → chunk-6FPEP2ZX.mjs} +2 -2
  6. package/dist/{chunk-YBS3YQB6.mjs → chunk-7RW4CQAO.mjs} +31 -57
  7. package/dist/chunk-7RW4CQAO.mjs.map +1 -0
  8. package/dist/{chunk-GHTGFM6O.mjs → chunk-ARZM6HBX.mjs} +14 -12
  9. package/dist/{chunk-GHTGFM6O.mjs.map → chunk-ARZM6HBX.mjs.map} +1 -1
  10. package/dist/{chunk-3QBVO4J7.mjs → chunk-CIB23U32.mjs} +2 -2
  11. package/dist/chunk-D4WTE7LV.mjs +526 -0
  12. package/dist/chunk-D4WTE7LV.mjs.map +1 -0
  13. package/dist/{chunk-T7IETWHN.mjs → chunk-I35WHWA6.mjs} +5 -3
  14. package/dist/{chunk-T7IETWHN.mjs.map → chunk-I35WHWA6.mjs.map} +1 -1
  15. package/dist/{chunk-AB6TAXTQ.mjs → chunk-KL2NGIMQ.mjs} +171 -47
  16. package/dist/chunk-KL2NGIMQ.mjs.map +1 -0
  17. package/dist/{chunk-ZVDOFWL7.mjs → chunk-QQK7MLCR.mjs} +3926 -10867
  18. package/dist/chunk-QQK7MLCR.mjs.map +1 -0
  19. package/dist/{chunk-ERAAWLEF.mjs → chunk-SKUG5XVD.mjs} +10 -8
  20. package/dist/{chunk-ERAAWLEF.mjs.map → chunk-SKUG5XVD.mjs.map} +1 -1
  21. package/dist/chunk-WPI6YSAR.mjs +8813 -0
  22. package/dist/chunk-WPI6YSAR.mjs.map +1 -0
  23. package/dist/cli.mjs +7 -4
  24. package/dist/contacts-worker.mjs +48 -0
  25. package/dist/contacts-worker.mjs.map +1 -0
  26. package/dist/{http-MBILV37U.mjs → http-5E7ARYFW.mjs} +11 -8
  27. package/dist/{import-EYV3GXHE.mjs → import-3KG6VK6O.mjs} +7 -4
  28. package/dist/index.mjs +11 -8
  29. package/dist/{mcp-H55AEXU5.mjs → mcp-JBI4CUQT.mjs} +8 -5
  30. package/dist/{mcp-H55AEXU5.mjs.map → mcp-JBI4CUQT.mjs.map} +1 -1
  31. package/dist/people-relationships-worker.mjs +48 -0
  32. package/dist/people-relationships-worker.mjs.map +1 -0
  33. package/dist/semantic-index-worker.mjs +1 -1
  34. package/dist/{src-36ZIR65K.mjs → src-UTBQAOJ3.mjs} +62 -44
  35. package/dist/{stream-import-YZMZ56B5.mjs → stream-import-7HZ4IRYJ.mjs} +7 -4
  36. package/dist/{worker-runtime-YDYS2C6T.mjs → worker-runtime-ALS4MR2A.mjs} +7 -3
  37. package/dist/{worker-runtime-YDYS2C6T.mjs.map → worker-runtime-ALS4MR2A.mjs.map} +1 -1
  38. package/dist-web/assets/BufferResource-MsqP5sq3.js +185 -0
  39. package/dist-web/assets/CanvasRenderer-BKCvcc2p.js +1 -0
  40. package/dist-web/assets/DebugToolsPanel-D_lFIW6j.css +1 -0
  41. package/dist-web/assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-HGJb0Et1.js +110 -0
  42. package/dist-web/assets/{EChartWordcloud-B_YisOW5.js → EChartWordcloud-Clg60FMo.js} +1 -1
  43. package/dist-web/assets/Filter-wRJtdXx9.js +1 -0
  44. package/dist-web/assets/MessageExportModal-BCrMf5Kw.js +1 -0
  45. package/dist-web/assets/PageHeader-Bbn87QZS.css +1 -0
  46. package/dist-web/assets/PageHeader-C_yw54le.js +1 -0
  47. package/dist-web/assets/RelationshipGalaxyCanvas-DTzJq7q7.js +244 -0
  48. package/dist-web/assets/RelationshipGalaxyThreeCanvas-BluPHjCR.css +1 -0
  49. package/dist-web/assets/RelationshipGalaxyThreeCanvas-DIE-0_iM.js +4108 -0
  50. package/dist-web/assets/RenderTargetSystem-BSAQFamI.js +184 -0
  51. package/dist-web/assets/WebGLRenderer-lfzmCZNT.js +156 -0
  52. package/dist-web/assets/WebGPURenderer-BnEdfdr_.js +41 -0
  53. package/dist-web/assets/browserAll-gRNfDyPu.js +14 -0
  54. package/dist-web/assets/{electron-DWDCqx_d.js → electron-BHaEaaZP.js} +1 -1
  55. package/dist-web/assets/{fetch-29ZBtGV0.js → fetch-BW3aO7PS.js} +1 -1
  56. package/dist-web/assets/fetch-BwF5hNuF.js +1 -0
  57. package/dist-web/assets/{fetch-Bh1fo3Df.js → fetch-C1fI_KOX.js} +1 -1
  58. package/dist-web/assets/{fetch-DyD8wDhb.js → fetch-CBZbgZqk.js} +1 -1
  59. package/dist-web/assets/{fetch-C3yhWO2S.js → fetch-CFRoSIAn.js} +1 -1
  60. package/dist-web/assets/fetch-CN91TIwV.js +1 -0
  61. package/dist-web/assets/{fetch-BcxrU2mr.js → fetch-CQt-gb-f.js} +1 -1
  62. package/dist-web/assets/{fetch-TCeykOkO.js → fetch-DPCJ-1l-.js} +1 -1
  63. package/dist-web/assets/{fetch-tIIVdXSv.js → fetch-gMB4wuBd.js} +1 -1
  64. package/dist-web/assets/{fetch-BYczbT4C.js → fetch-mFlEBZyB.js} +1 -1
  65. package/dist-web/assets/index---rXG1hZ.css +1 -0
  66. package/dist-web/assets/index--6C0sK6a.css +1 -0
  67. package/dist-web/assets/index-B6wEGata.js +173 -0
  68. package/dist-web/assets/index-Bg4GGPXv.js +1 -0
  69. package/dist-web/assets/index-BgVbj5qX.js +12 -0
  70. package/dist-web/assets/index-BkoXaBV_.js +64 -0
  71. package/dist-web/assets/index-C56IuV5U.css +1 -0
  72. package/dist-web/assets/index-CLRaKwpT.js +2 -0
  73. package/dist-web/assets/index-Dj1BSD7O.js +1 -0
  74. package/dist-web/assets/index-DosG7LmJ.css +1 -0
  75. package/dist-web/assets/index-DveHdPfK.js +1 -0
  76. package/dist-web/assets/{index-BX3tqfLz.css → index-MBRD3wPd.css} +1 -1
  77. package/dist-web/assets/index-RoDgJcHU.js +2 -0
  78. package/dist-web/assets/{index-fbWrQpgH.js → index-ZdCB7xcf.js} +4 -4
  79. package/dist-web/assets/index-aljYO5ms.js +1 -0
  80. package/dist-web/assets/people-page-header-Mupn-U_b.js +1 -0
  81. package/dist-web/assets/relationship-galaxy-viewport-Cwfa51ER.js +1 -0
  82. package/dist-web/assets/{vendor-echarts-CITQeskI.js → vendor-echarts-hJVnODyU.js} +2 -2
  83. package/dist-web/assets/{vendor-echarts-wordcloud-B1kQMklB.js → vendor-echarts-wordcloud-k5ih2Jl4.js} +1 -1
  84. package/dist-web/assets/{vendor-nuxt-ui-Zy8txNdC.js → vendor-nuxt-ui-Dr2T8_OZ.js} +2 -2
  85. package/dist-web/assets/{vendor-reka-ui-mMvma1EP.js → vendor-reka-ui-CzM4kDQ7.js} +1 -1
  86. package/dist-web/assets/{vendor-zrender-DFl4U2Oe.js → vendor-zrender-5DcYjSZk.js} +1 -1
  87. package/dist-web/assets/{web-H3XLx159.js → web-BakeV58u.js} +1 -1
  88. package/dist-web/assets/webworkerAll-D_6PgURS.js +83 -0
  89. package/dist-web/index.html +4 -4
  90. package/package.json +1 -1
  91. package/dist/chunk-AB6TAXTQ.mjs.map +0 -1
  92. package/dist/chunk-YBS3YQB6.mjs.map +0 -1
  93. package/dist/chunk-ZVDOFWL7.mjs.map +0 -1
  94. package/dist-web/assets/DebugToolsPanel-DFw6_G5V.css +0 -1
  95. package/dist-web/assets/DebugToolsPanel.vue_vue_type_script_setup_true_lang-Do3x4aL3.js +0 -110
  96. package/dist-web/assets/MessageExportModal-rijqUusq.js +0 -1
  97. package/dist-web/assets/fetch-BAxKmbKF.js +0 -1
  98. package/dist-web/assets/fetch-Da_TBxrX.js +0 -1
  99. package/dist-web/assets/index-BzjLqlW_.js +0 -173
  100. package/dist-web/assets/index-C74qEDFh.js +0 -64
  101. package/dist-web/assets/index-CM6xNPFp.css +0 -1
  102. package/dist-web/assets/index-CgK2LLIF.js +0 -12
  103. package/dist-web/assets/index-CjkOvM3N.js +0 -2
  104. package/dist-web/assets/index-Dno7CADA.js +0 -1
  105. package/dist-web/assets/index-I3SWZjnW.css +0 -1
  106. /package/dist/{chunk-NJB2NNB2.mjs.map → chunk-6FPEP2ZX.mjs.map} +0 -0
  107. /package/dist/{chunk-3QBVO4J7.mjs.map → chunk-CIB23U32.mjs.map} +0 -0
  108. /package/dist/{http-MBILV37U.mjs.map → http-5E7ARYFW.mjs.map} +0 -0
  109. /package/dist/{import-EYV3GXHE.mjs.map → import-3KG6VK6O.mjs.map} +0 -0
  110. /package/dist/{src-36ZIR65K.mjs.map → src-UTBQAOJ3.mjs.map} +0 -0
  111. /package/dist/{stream-import-YZMZ56B5.mjs.map → stream-import-7HZ4IRYJ.mjs.map} +0 -0
@@ -18,9 +18,7 @@ import {
18
18
  createNodeDataDirSwitch,
19
19
  createPendingDataDirMigration,
20
20
  createSemanticIndexWorkerRuntimeClient,
21
- getDbFileVersion,
22
21
  getDefaultNodeUserDataDir,
23
- getOrComputeAnalysisCache,
24
22
  getPendingNodeDataDirMigration,
25
23
  getSystemLogsDir,
26
24
  hasPendingElectronDataWarning,
@@ -30,28 +28,21 @@ import {
30
28
  runPendingDataDirMigration,
31
29
  semantic_index_exports,
32
30
  serializeChatLabToJsonl
33
- } from "./chunk-YBS3YQB6.mjs";
31
+ } from "./chunk-7RW4CQAO.mjs";
34
32
  import {
35
33
  AIChatManager,
36
34
  AgentEventHandler,
37
- AiLogger,
38
35
  ArchiveImportError,
39
36
  ArchiveImportSourceManager,
40
37
  AssistantManager,
41
38
  BUILTIN_DESENSITIZE_RULES,
42
- BetterSqliteAdapter,
43
- CACHE_KEY_MEMBERS,
44
- CACHE_KEY_OVERVIEW,
45
39
  CHART_CAPABILITY_ANALYSIS_TOOLS,
46
40
  CHART_CAPABILITY_CORE_TOOLS,
47
- CHART_CAPABILITY_SKILL_ID,
48
41
  CHART_SCHEMA_REQUIRED_MESSAGE,
49
42
  CustomModelStore,
50
43
  CustomProviderStore,
51
44
  DEFAULT_MAX_TOOL_ROUNDS,
52
45
  DESENSITIZE_RULES_SCHEMA_VERSION,
53
- DataDirCompatibilityError,
54
- DatabaseManager,
55
46
  GoogleChatTakeoutResolver,
56
47
  LLMConfigStore,
57
48
  LogLevel,
@@ -71,11 +62,8 @@ import {
71
62
  analyzeIncrementalImport,
72
63
  analyzeNewImport,
73
64
  anonymizeMessageNames,
74
- appLogger,
75
65
  applyDesensitizeRuleOverrides,
76
66
  applyPreprocessingPipeline,
77
- assertDataDirCompatible,
78
- batchSegmentWithFrequency,
79
67
  buildFtsIndex,
80
68
  buildPiModel,
81
69
  buildPlanGuidance,
@@ -85,12 +73,9 @@ import {
85
73
  checkAndCompress,
86
74
  checkSessionsCanGenerateSummary,
87
75
  cleanupTempDatabases,
88
- clearJiebaInstance,
89
- collectPosTagStats,
90
76
  completeSimple,
91
- computeAndSetMembersCache,
92
- computeAndSetOverviewCache,
93
77
  computeWordFrequency,
78
+ contacts_exports,
94
79
  countMessagesTokens,
95
80
  countTokens,
96
81
  createActivateSkillTool,
@@ -98,16 +83,16 @@ import {
98
83
  createAnalysisPlanner,
99
84
  createChartSchemaGateState,
100
85
  createCompressionLlmAdapter,
86
+ createContactsService,
101
87
  createDataSnapshotFromOverview,
102
- createDatabaseManagerAdapter,
103
88
  createFtsTable,
104
89
  createLlmRouteDecider,
90
+ createPeopleRelationshipsService,
105
91
  createPlanContentBlock,
106
92
  createSemanticIndexService,
107
93
  decideRequestRoute,
108
94
  defaultSemanticIndexConfig,
109
95
  deleteDict,
110
- deleteSessionCache,
111
96
  deleteTempDatabase,
112
97
  downloadDict,
113
98
  ensureDefaultDict,
@@ -116,8 +101,6 @@ import {
116
101
  exportSessionToJson,
117
102
  exportWithFormat,
118
103
  export_service_exports,
119
- extractErrorInfo,
120
- extractErrorStack,
121
104
  extractSkillId,
122
105
  fetchRemoteModels,
123
106
  filterValidMessages,
@@ -128,31 +111,21 @@ import {
128
111
  generateSessionSummaries,
129
112
  generateSessionSummary,
130
113
  getAllowedBuiltinToolsForChartAutoSkill,
131
- getCache,
132
- getCachePath,
133
114
  getChartCapabilityAllowedBuiltinTools,
134
115
  getChartCapabilitySkill,
135
116
  getChartPlannerCapabilityForMessage,
136
- getChatDbMigrations,
137
117
  getCurrentLogFile,
138
118
  getDefaultRulesForLocale,
139
119
  getDictList,
140
120
  getErrorCount,
141
- getJieba,
142
- getNlpDir,
143
- getPosTagDefinitions,
144
121
  getRuleGroupsForLocale,
145
122
  getSkillConfigWithBuiltinChart,
146
- getValidatedOverviewCache,
147
123
  hasFtsTable,
148
124
  i18nTexts,
149
125
  incrementalImport,
150
- initAppLogger,
151
- initNlpDir,
152
126
  initPerfLog,
153
127
  initTokenizer,
154
128
  insertFtsEntries,
155
- invalidateCache,
156
129
  isChineseLocale,
157
130
  isDictDownloaded,
158
131
  isSemanticIndexConfigured,
@@ -166,32 +139,26 @@ import {
166
139
  manualCompress,
167
140
  member_service_exports,
168
141
  mergeRulesForLocale,
169
- migrateFromElectronIfNeeded,
170
142
  normalizeAnthropicBaseUrl,
171
143
  normalizeOpenAICompatibleBaseUrl,
172
- openBetterSqliteDatabase,
173
144
  owner_profile_service_exports,
174
145
  parseAssistantFile,
175
146
  parseSkillFile,
176
147
  persistSemanticIndexConfig,
177
148
  preprocessMessages,
178
149
  pushImport,
179
- raiseChatDbCompatibilityGate,
180
- raiseDataDirMinRuntimeVersion,
181
- readDataDirCompatibilityMeta,
182
150
  rebuildFtsIndex,
151
+ relationships_exports,
183
152
  resetPerfLog,
184
153
  resolveChartRuntimeForRequest,
185
154
  resolveSemanticIndexApiKeySet,
186
155
  runAgentCore,
187
156
  runSimpleLlmStream,
188
157
  searchByFts,
189
- segment,
190
158
  segmentText,
191
159
  serializeAssistant,
192
160
  session_index_service_exports,
193
161
  session_service_exports,
194
- setCache,
195
162
  shouldOfferChartCapabilityForAnalyticalMessage,
196
163
  shouldUseChartCapabilityForMessage,
197
164
  splitIntoSegments,
@@ -200,16 +167,61 @@ import {
200
167
  streamingImport,
201
168
  summary_service_exports,
202
169
  t,
203
- tokenizeForFts,
204
- tokenizeQueryForFts,
205
170
  truncateFormattedMessages,
206
171
  validateApiKey,
207
172
  validateArchiveEntryName,
208
- verifyCliDataPath,
209
- wasElectronUsed,
210
173
  wrapWithChartSchemaGate,
211
174
  writeParseResultToDb
212
- } from "./chunk-ZVDOFWL7.mjs";
175
+ } from "./chunk-QQK7MLCR.mjs";
176
+ import {
177
+ CONTACTS_ALGORITHM_VERSION
178
+ } from "./chunk-D4WTE7LV.mjs";
179
+ import {
180
+ PEOPLE_RELATIONSHIPS_ALGORITHM_VERSION
181
+ } from "./chunk-2MZ6G4AC.mjs";
182
+ import {
183
+ AiLogger,
184
+ BetterSqliteAdapter,
185
+ CACHE_KEY_MEMBERS,
186
+ CACHE_KEY_OVERVIEW,
187
+ CHART_CAPABILITY_SKILL_ID,
188
+ DataDirCompatibilityError,
189
+ DatabaseManager,
190
+ appLogger,
191
+ assertDataDirCompatible,
192
+ batchSegmentWithFrequency,
193
+ clearJiebaInstance,
194
+ collectPosTagStats,
195
+ computeAndSetMembersCache,
196
+ computeAndSetOverviewCache,
197
+ createDatabaseManagerAdapter,
198
+ deleteSessionCache,
199
+ extractErrorInfo,
200
+ extractErrorStack,
201
+ getCache,
202
+ getCachePath,
203
+ getChatDbMigrations,
204
+ getDbFileVersion,
205
+ getJieba,
206
+ getNlpDir,
207
+ getOrComputeAnalysisCache,
208
+ getPosTagDefinitions,
209
+ getValidatedOverviewCache,
210
+ initAppLogger,
211
+ initNlpDir,
212
+ invalidateCache,
213
+ migrateFromElectronIfNeeded,
214
+ openBetterSqliteDatabase,
215
+ raiseChatDbCompatibilityGate,
216
+ raiseDataDirMinRuntimeVersion,
217
+ readDataDirCompatibilityMeta,
218
+ segment,
219
+ setCache,
220
+ tokenizeForFts,
221
+ tokenizeQueryForFts,
222
+ verifyCliDataPath,
223
+ wasElectronUsed
224
+ } from "./chunk-WPI6YSAR.mjs";
213
225
  import "./chunk-GFHSSCCR.mjs";
214
226
  export {
215
227
  AIChatManager,
@@ -227,6 +239,7 @@ export {
227
239
  CHART_CAPABILITY_CORE_TOOLS,
228
240
  CHART_CAPABILITY_SKILL_ID,
229
241
  CHART_SCHEMA_REQUIRED_MESSAGE,
242
+ CONTACTS_ALGORITHM_VERSION,
230
243
  CustomModelStore,
231
244
  CustomProviderStore,
232
245
  DEFAULT_MAX_TOOL_ROUNDS,
@@ -239,6 +252,7 @@ export {
239
252
  MAX_CONFIG_COUNT,
240
253
  MergeSessionCache,
241
254
  NodePathProvider,
255
+ PEOPLE_RELATIONSHIPS_ALGORITHM_VERSION,
242
256
  PreferencesManager,
243
257
  SEMANTIC_INDEX_CONFIG_FILE,
244
258
  SemanticIndexConfigStore,
@@ -279,6 +293,7 @@ export {
279
293
  computeAndSetMembersCache,
280
294
  computeAndSetOverviewCache,
281
295
  computeWordFrequency,
296
+ contacts_exports as contactsService,
282
297
  copyDirMerge as copyDataDirMerge,
283
298
  countMessagesTokens,
284
299
  countTokens,
@@ -287,6 +302,7 @@ export {
287
302
  createAnalysisPlanner,
288
303
  createChartSchemaGateState,
289
304
  createCompressionLlmAdapter,
305
+ createContactsService,
290
306
  createDataSnapshotFromOverview,
291
307
  createDatabaseManagerAdapter,
292
308
  createFtsTable,
@@ -294,6 +310,7 @@ export {
294
310
  createLlmRouteDecider,
295
311
  createNodeDataDirSwitch,
296
312
  createPendingDataDirMigration,
313
+ createPeopleRelationshipsService,
297
314
  createPlanContentBlock,
298
315
  createSemanticIndexService,
299
316
  createSemanticIndexWorkerRuntimeClient,
@@ -376,6 +393,7 @@ export {
376
393
  owner_profile_service_exports as ownerProfileService,
377
394
  parseAssistantFile,
378
395
  parseSkillFile,
396
+ relationships_exports as peopleRelationshipsService,
379
397
  persistSemanticIndexConfig,
380
398
  preprocessMessages,
381
399
  pushImport,
@@ -416,4 +434,4 @@ export {
416
434
  wrapWithChartSchemaGate,
417
435
  writeParseResultToDb
418
436
  };
419
- //# sourceMappingURL=src-36ZIR65K.mjs.map
437
+ //# sourceMappingURL=src-UTBQAOJ3.mjs.map
@@ -9,8 +9,8 @@ import {
9
9
  analyzeNewImport,
10
10
  incrementalImport,
11
11
  streamImport
12
- } from "./chunk-T7IETWHN.mjs";
13
- import "./chunk-YBS3YQB6.mjs";
12
+ } from "./chunk-I35WHWA6.mjs";
13
+ import "./chunk-7RW4CQAO.mjs";
14
14
  import {
15
15
  detectAllFormats,
16
16
  detectFormat,
@@ -18,7 +18,10 @@ import {
18
18
  getFormatFeatureById,
19
19
  getSupportedFormats,
20
20
  scanMultiChatFile
21
- } from "./chunk-ZVDOFWL7.mjs";
21
+ } from "./chunk-QQK7MLCR.mjs";
22
+ import "./chunk-D4WTE7LV.mjs";
23
+ import "./chunk-2MZ6G4AC.mjs";
24
+ import "./chunk-WPI6YSAR.mjs";
22
25
  import "./chunk-GFHSSCCR.mjs";
23
26
  export {
24
27
  analyzeIncrementalImport,
@@ -32,4 +35,4 @@ export {
32
35
  scanMultiChatFile,
33
36
  streamImport
34
37
  };
35
- //# sourceMappingURL=stream-import-YZMZ56B5.mjs.map
38
+ //# sourceMappingURL=stream-import-7HZ4IRYJ.mjs.map
@@ -4,13 +4,17 @@ import { fileURLToPath as __fileURLToPath } from 'url';
4
4
  const require = __createRequire(import.meta.url);
5
5
  const __filename = __fileURLToPath(import.meta.url);
6
6
  const __dirname = __pathDirname(__filename);
7
+ import {
8
+ createSemanticIndexService
9
+ } from "./chunk-QQK7MLCR.mjs";
10
+ import "./chunk-D4WTE7LV.mjs";
11
+ import "./chunk-2MZ6G4AC.mjs";
7
12
  import {
8
13
  DatabaseManager,
9
14
  StaticPathProvider,
10
15
  createDatabaseManagerAdapter,
11
- createSemanticIndexService,
12
16
  initAppLogger
13
- } from "./chunk-ZVDOFWL7.mjs";
17
+ } from "./chunk-WPI6YSAR.mjs";
14
18
  import "./chunk-GFHSSCCR.mjs";
15
19
 
16
20
  // ../../packages/node-runtime/src/semantic-index/worker-runtime.ts
@@ -72,4 +76,4 @@ export {
72
76
  createSemanticIndexWorkerRuntime,
73
77
  createSemanticIndexWorkerServiceFactory
74
78
  };
75
- //# sourceMappingURL=worker-runtime-YDYS2C6T.mjs.map
79
+ //# sourceMappingURL=worker-runtime-ALS4MR2A.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../packages/node-runtime/src/semantic-index/worker-runtime.ts"],"sourcesContent":["import type { RuntimeIdentity } from '../data-dir-compat'\nimport { DatabaseManager } from '../database-manager'\nimport { initAppLogger } from '../logging/app-logger'\nimport { createDatabaseManagerAdapter } from '../services'\nimport { createSemanticIndexService } from './service'\nimport type { LoadSqliteVec } from './store'\nimport { StaticPathProvider, type StaticPathProviderSnapshot } from './static-path-provider'\nimport type { SemanticIndexRuntime } from './runtime'\n\nexport interface SemanticIndexWorkerStartupOptions {\n paths: StaticPathProviderSnapshot\n runtime: RuntimeIdentity\n nativeBinding?: string\n sqliteVecLoadablePath?: string\n modelDownloadProxyUrl?: string\n}\n\nexport type SemanticIndexWorkerServiceFactory = () => SemanticIndexRuntime\n\nexport interface SemanticIndexWorkerServiceFactoryDeps {\n initLogger?: (logsDir: string) => void\n}\n\nexport interface SemanticIndexWorkerRuntimeOptions {\n serviceFactory: SemanticIndexWorkerServiceFactory\n}\n\nexport class SemanticIndexWorkerRuntime {\n private service: SemanticIndexRuntime | null = null\n private readonly options: SemanticIndexWorkerRuntimeOptions\n\n constructor(options: SemanticIndexWorkerRuntimeOptions) {\n this.options = options\n }\n\n async handleRequest(method: string, args: unknown[]): Promise<unknown> {\n if (method === '__close') {\n await this.close()\n return null\n }\n const service = this.ensureService()\n const target = service as unknown as Record<string, (...args: unknown[]) => unknown>\n const fn = target[method]\n if (typeof fn !== 'function') throw new Error(`Unsupported semantic index worker method: ${method}`)\n return await fn.apply(service, args)\n }\n\n async close(): Promise<void> {\n const service = this.service\n this.service = null\n await service?.close()\n }\n\n private ensureService(): SemanticIndexRuntime {\n if (!this.service) {\n this.service = this.options.serviceFactory()\n void this.service.recover()\n }\n return this.service\n }\n}\n\nexport function createSemanticIndexWorkerRuntime(\n options: SemanticIndexWorkerRuntimeOptions\n): SemanticIndexWorkerRuntime {\n return new SemanticIndexWorkerRuntime(options)\n}\n\nexport function createSemanticIndexWorkerServiceFactory(\n options: SemanticIndexWorkerStartupOptions,\n deps: SemanticIndexWorkerServiceFactoryDeps = {}\n): SemanticIndexWorkerServiceFactory {\n const initializeLogger = deps.initLogger ?? initAppLogger\n initializeLogger(options.paths.logsDir)\n\n return () => {\n const pathProvider = new StaticPathProvider(options.paths)\n const dbManager = new DatabaseManager(pathProvider, {\n nativeBinding: options.nativeBinding,\n runtime: options.runtime,\n })\n const sessionAdapter = createDatabaseManagerAdapter(dbManager)\n const loadSqliteVec: LoadSqliteVec | undefined = options.sqliteVecLoadablePath\n ? (db) => db.loadExtension(options.sqliteVecLoadablePath!)\n : undefined\n\n return createSemanticIndexService({\n pathProvider,\n sessionAdapter,\n nativeBinding: options.nativeBinding,\n loadSqliteVec,\n modelDownloadProxyUrl: options.modelDownloadProxyUrl,\n })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AA2BO,IAAM,6BAAN,MAAiC;AAAA,EAC9B,UAAuC;AAAA,EAC9B;AAAA,EAEjB,YAAY,SAA4C;AACtD,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,MAAM,cAAc,QAAgB,MAAmC;AACrE,QAAI,WAAW,WAAW;AACxB,YAAM,KAAK,MAAM;AACjB,aAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,cAAc;AACnC,UAAM,SAAS;AACf,UAAM,KAAK,OAAO,MAAM;AACxB,QAAI,OAAO,OAAO,WAAY,OAAM,IAAI,MAAM,6CAA6C,MAAM,EAAE;AACnG,WAAO,MAAM,GAAG,MAAM,SAAS,IAAI;AAAA,EACrC;AAAA,EAEA,MAAM,QAAuB;AAC3B,UAAM,UAAU,KAAK;AACrB,SAAK,UAAU;AACf,UAAM,SAAS,MAAM;AAAA,EACvB;AAAA,EAEQ,gBAAsC;AAC5C,QAAI,CAAC,KAAK,SAAS;AACjB,WAAK,UAAU,KAAK,QAAQ,eAAe;AAC3C,WAAK,KAAK,QAAQ,QAAQ;AAAA,IAC5B;AACA,WAAO,KAAK;AAAA,EACd;AACF;AAEO,SAAS,iCACd,SAC4B;AAC5B,SAAO,IAAI,2BAA2B,OAAO;AAC/C;AAEO,SAAS,wCACd,SACA,OAA8C,CAAC,GACZ;AACnC,QAAM,mBAAmB,KAAK,cAAc;AAC5C,mBAAiB,QAAQ,MAAM,OAAO;AAEtC,SAAO,MAAM;AACX,UAAM,eAAe,IAAI,mBAAmB,QAAQ,KAAK;AACzD,UAAM,YAAY,IAAI,gBAAgB,cAAc;AAAA,MAClD,eAAe,QAAQ;AAAA,MACvB,SAAS,QAAQ;AAAA,IACnB,CAAC;AACD,UAAM,iBAAiB,6BAA6B,SAAS;AAC7D,UAAM,gBAA2C,QAAQ,wBACrD,CAAC,OAAO,GAAG,cAAc,QAAQ,qBAAsB,IACvD;AAEJ,WAAO,2BAA2B;AAAA,MAChC;AAAA,MACA;AAAA,MACA,eAAe,QAAQ;AAAA,MACvB;AAAA,MACA,uBAAuB,QAAQ;AAAA,IACjC,CAAC;AAAA,EACH;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../packages/node-runtime/src/semantic-index/worker-runtime.ts"],"sourcesContent":["import type { RuntimeIdentity } from '../data-dir-compat'\nimport { DatabaseManager } from '../database-manager'\nimport { initAppLogger } from '../logging/app-logger'\nimport { createDatabaseManagerAdapter } from '../services'\nimport { createSemanticIndexService } from './service'\nimport type { LoadSqliteVec } from './store'\nimport { StaticPathProvider, type StaticPathProviderSnapshot } from './static-path-provider'\nimport type { SemanticIndexRuntime } from './runtime'\n\nexport interface SemanticIndexWorkerStartupOptions {\n paths: StaticPathProviderSnapshot\n runtime: RuntimeIdentity\n nativeBinding?: string\n sqliteVecLoadablePath?: string\n modelDownloadProxyUrl?: string\n}\n\nexport type SemanticIndexWorkerServiceFactory = () => SemanticIndexRuntime\n\nexport interface SemanticIndexWorkerServiceFactoryDeps {\n initLogger?: (logsDir: string) => void\n}\n\nexport interface SemanticIndexWorkerRuntimeOptions {\n serviceFactory: SemanticIndexWorkerServiceFactory\n}\n\nexport class SemanticIndexWorkerRuntime {\n private service: SemanticIndexRuntime | null = null\n private readonly options: SemanticIndexWorkerRuntimeOptions\n\n constructor(options: SemanticIndexWorkerRuntimeOptions) {\n this.options = options\n }\n\n async handleRequest(method: string, args: unknown[]): Promise<unknown> {\n if (method === '__close') {\n await this.close()\n return null\n }\n const service = this.ensureService()\n const target = service as unknown as Record<string, (...args: unknown[]) => unknown>\n const fn = target[method]\n if (typeof fn !== 'function') throw new Error(`Unsupported semantic index worker method: ${method}`)\n return await fn.apply(service, args)\n }\n\n async close(): Promise<void> {\n const service = this.service\n this.service = null\n await service?.close()\n }\n\n private ensureService(): SemanticIndexRuntime {\n if (!this.service) {\n this.service = this.options.serviceFactory()\n void this.service.recover()\n }\n return this.service\n }\n}\n\nexport function createSemanticIndexWorkerRuntime(\n options: SemanticIndexWorkerRuntimeOptions\n): SemanticIndexWorkerRuntime {\n return new SemanticIndexWorkerRuntime(options)\n}\n\nexport function createSemanticIndexWorkerServiceFactory(\n options: SemanticIndexWorkerStartupOptions,\n deps: SemanticIndexWorkerServiceFactoryDeps = {}\n): SemanticIndexWorkerServiceFactory {\n const initializeLogger = deps.initLogger ?? initAppLogger\n initializeLogger(options.paths.logsDir)\n\n return () => {\n const pathProvider = new StaticPathProvider(options.paths)\n const dbManager = new DatabaseManager(pathProvider, {\n nativeBinding: options.nativeBinding,\n runtime: options.runtime,\n })\n const sessionAdapter = createDatabaseManagerAdapter(dbManager)\n const loadSqliteVec: LoadSqliteVec | undefined = options.sqliteVecLoadablePath\n ? (db) => db.loadExtension(options.sqliteVecLoadablePath!)\n : undefined\n\n return createSemanticIndexService({\n pathProvider,\n sessionAdapter,\n nativeBinding: options.nativeBinding,\n loadSqliteVec,\n modelDownloadProxyUrl: options.modelDownloadProxyUrl,\n })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA2BO,IAAM,6BAAN,MAAiC;AAAA,EAC9B,UAAuC;AAAA,EAC9B;AAAA,EAEjB,YAAY,SAA4C;AACtD,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,MAAM,cAAc,QAAgB,MAAmC;AACrE,QAAI,WAAW,WAAW;AACxB,YAAM,KAAK,MAAM;AACjB,aAAO;AAAA,IACT;AACA,UAAM,UAAU,KAAK,cAAc;AACnC,UAAM,SAAS;AACf,UAAM,KAAK,OAAO,MAAM;AACxB,QAAI,OAAO,OAAO,WAAY,OAAM,IAAI,MAAM,6CAA6C,MAAM,EAAE;AACnG,WAAO,MAAM,GAAG,MAAM,SAAS,IAAI;AAAA,EACrC;AAAA,EAEA,MAAM,QAAuB;AAC3B,UAAM,UAAU,KAAK;AACrB,SAAK,UAAU;AACf,UAAM,SAAS,MAAM;AAAA,EACvB;AAAA,EAEQ,gBAAsC;AAC5C,QAAI,CAAC,KAAK,SAAS;AACjB,WAAK,UAAU,KAAK,QAAQ,eAAe;AAC3C,WAAK,KAAK,QAAQ,QAAQ;AAAA,IAC5B;AACA,WAAO,KAAK;AAAA,EACd;AACF;AAEO,SAAS,iCACd,SAC4B;AAC5B,SAAO,IAAI,2BAA2B,OAAO;AAC/C;AAEO,SAAS,wCACd,SACA,OAA8C,CAAC,GACZ;AACnC,QAAM,mBAAmB,KAAK,cAAc;AAC5C,mBAAiB,QAAQ,MAAM,OAAO;AAEtC,SAAO,MAAM;AACX,UAAM,eAAe,IAAI,mBAAmB,QAAQ,KAAK;AACzD,UAAM,YAAY,IAAI,gBAAgB,cAAc;AAAA,MAClD,eAAe,QAAQ;AAAA,MACvB,SAAS,QAAQ;AAAA,IACnB,CAAC;AACD,UAAM,iBAAiB,6BAA6B,SAAS;AAC7D,UAAM,gBAA2C,QAAQ,wBACrD,CAAC,OAAO,GAAG,cAAc,QAAQ,qBAAsB,IACvD;AAEJ,WAAO,2BAA2B;AAAA,MAChC;AAAA,MACA;AAAA,MACA,eAAe,QAAQ;AAAA,MACvB;AAAA,MACA,uBAAuB,QAAQ;AAAA,IACjC,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -0,0 +1,185 @@
1
+ import{w as U,g,c,u as S,B as _,d as m,E as I,e as p}from"./RelationshipGalaxyCanvas-DTzJq7q7.js";const x={name:"local-uniform-bit",vertex:{header:`
2
+
3
+ struct LocalUniforms {
4
+ uTransformMatrix:mat3x3<f32>,
5
+ uColor:vec4<f32>,
6
+ uRound:f32,
7
+ }
8
+
9
+ @group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
10
+ `,main:`
11
+ vColor *= localUniforms.uColor;
12
+ modelMatrix *= localUniforms.uTransformMatrix;
13
+ `,end:`
14
+ if(localUniforms.uRound == 1)
15
+ {
16
+ vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
17
+ }
18
+ `}},C={...x,vertex:{...x.vertex,header:x.vertex.header.replace("group(1)","group(2)")}},D={name:"local-uniform-bit",vertex:{header:`
19
+
20
+ uniform mat3 uTransformMatrix;
21
+ uniform vec4 uColor;
22
+ uniform float uRound;
23
+ `,main:`
24
+ vColor *= uColor;
25
+ modelMatrix = uTransformMatrix;
26
+ `,end:`
27
+ if(uRound == 1.)
28
+ {
29
+ gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
30
+ }
31
+ `}},O={name:"texture-bit",vertex:{header:`
32
+
33
+ struct TextureUniforms {
34
+ uTextureMatrix:mat3x3<f32>,
35
+ }
36
+
37
+ @group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
38
+ `,main:`
39
+ uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
40
+ `},fragment:{header:`
41
+ @group(2) @binding(0) var uTexture: texture_2d<f32>;
42
+ @group(2) @binding(1) var uSampler: sampler;
43
+
44
+
45
+ `,main:`
46
+ outColor = textureSample(uTexture, uSampler, vUV);
47
+ `}},R={name:"texture-bit",vertex:{header:`
48
+ uniform mat3 uTextureMatrix;
49
+ `,main:`
50
+ uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
51
+ `},fragment:{header:`
52
+ uniform sampler2D uTexture;
53
+
54
+
55
+ `,main:`
56
+ outColor = texture(uTexture, vUV);
57
+ `}};function A(e,t){for(const a in e.attributes){const s=e.attributes[a],r=t[a];r?(s.format??(s.format=r.format),s.offset??(s.offset=r.offset),s.instance??(s.instance=r.instance)):U(`Attribute ${a} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}M(e)}function M(e){const{buffers:t,attributes:a}=e,s={},r={};for(const n in t){const o=t[n];s[o.uid]=0,r[o.uid]=0}for(const n in a){const o=a[n];s[o.buffer.uid]+=g(o.format).stride}for(const n in a){const o=a[n];o.stride??(o.stride=s[o.buffer.uid]),o.start??(o.start=r[o.buffer.uid]),r[o.buffer.uid]+=g(o.format).stride}}const d=[];d[c.NONE]=void 0;d[c.DISABLED]={stencilWriteMask:0,stencilReadMask:0};d[c.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}};d[c.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}};d[c.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}};d[c.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"keep"},stencilBack:{compare:"not-equal",passOp:"keep"}};class B{constructor(t){this._syncFunctionHash=Object.create(null),this._adaptor=t,this._systemCheck()}_systemCheck(){if(!S())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(t){const a=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(a.layout.size/4),usage:m.UNIFORM|m.COPY_DST}))}getUniformGroupData(t){return this._syncFunctionHash[t._signature]||this._initUniformGroup(t)}_initUniformGroup(t){const a=t._signature;let s=this._syncFunctionHash[a];if(!s){const r=Object.keys(t.uniformStructures).map(l=>t.uniformStructures[l]),n=this._adaptor.createUboElements(r),o=this._generateUboSync(n.uboElements);s=this._syncFunctionHash[a]={layout:n,syncFunction:o}}return this._syncFunctionHash[a]}_generateUboSync(t){return this._adaptor.generateUboSync(t)}syncUniformGroup(t,a,s){const r=this.getUniformGroupData(t);t.buffer||(t.buffer=new _({data:new Float32Array(r.layout.size/4),usage:m.UNIFORM|m.COPY_DST}));let n=null;return a||(a=t.buffer.data,n=t.buffer.dataInt32),s||(s=0),r.syncFunction(t.uniforms,a,n,s),!0}updateUniformGroup(t){if(t.isStatic&&!t._dirtyId)return!1;t._dirtyId=0;const a=this.syncUniformGroup(t);return t.buffer.update(),a}destroy(){this._syncFunctionHash=null}}const h=[{type:"mat3x3<f32>",test:e=>e.value.a!==void 0,ubo:`
58
+ var matrix = uv[name].toArray(true);
59
+ data[offset] = matrix[0];
60
+ data[offset + 1] = matrix[1];
61
+ data[offset + 2] = matrix[2];
62
+ data[offset + 4] = matrix[3];
63
+ data[offset + 5] = matrix[4];
64
+ data[offset + 6] = matrix[5];
65
+ data[offset + 8] = matrix[6];
66
+ data[offset + 9] = matrix[7];
67
+ data[offset + 10] = matrix[8];
68
+ `,uniform:`
69
+ gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
70
+ `},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.width!==void 0,ubo:`
71
+ v = uv[name];
72
+ data[offset] = v.x;
73
+ data[offset + 1] = v.y;
74
+ data[offset + 2] = v.width;
75
+ data[offset + 3] = v.height;
76
+ `,uniform:`
77
+ cv = ud[name].value;
78
+ v = uv[name];
79
+ if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
80
+ cv[0] = v.x;
81
+ cv[1] = v.y;
82
+ cv[2] = v.width;
83
+ cv[3] = v.height;
84
+ gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
85
+ }
86
+ `},{type:"vec2<f32>",test:e=>e.type==="vec2<f32>"&&e.size===1&&e.value.x!==void 0,ubo:`
87
+ v = uv[name];
88
+ data[offset] = v.x;
89
+ data[offset + 1] = v.y;
90
+ `,uniform:`
91
+ cv = ud[name].value;
92
+ v = uv[name];
93
+ if (cv[0] !== v.x || cv[1] !== v.y) {
94
+ cv[0] = v.x;
95
+ cv[1] = v.y;
96
+ gl.uniform2f(ud[name].location, v.x, v.y);
97
+ }
98
+ `},{type:"vec4<f32>",test:e=>e.type==="vec4<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
99
+ v = uv[name];
100
+ data[offset] = v.red;
101
+ data[offset + 1] = v.green;
102
+ data[offset + 2] = v.blue;
103
+ data[offset + 3] = v.alpha;
104
+ `,uniform:`
105
+ cv = ud[name].value;
106
+ v = uv[name];
107
+ if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
108
+ cv[0] = v.red;
109
+ cv[1] = v.green;
110
+ cv[2] = v.blue;
111
+ cv[3] = v.alpha;
112
+ gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
113
+ }
114
+ `},{type:"vec3<f32>",test:e=>e.type==="vec3<f32>"&&e.size===1&&e.value.red!==void 0,ubo:`
115
+ v = uv[name];
116
+ data[offset] = v.red;
117
+ data[offset + 1] = v.green;
118
+ data[offset + 2] = v.blue;
119
+ `,uniform:`
120
+ cv = ud[name].value;
121
+ v = uv[name];
122
+ if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
123
+ cv[0] = v.red;
124
+ cv[1] = v.green;
125
+ cv[2] = v.blue;
126
+ gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
127
+ }
128
+ `}];function k(e,t,a,s){const r=[`
129
+ var v = null;
130
+ var v2 = null;
131
+ var t = 0;
132
+ var index = 0;
133
+ var name = null;
134
+ var arrayOffset = null;
135
+ `];let n=0;for(let l=0;l<e.length;l++){const f=e[l],b=f.data.name;let y=!1,i=0;for(let u=0;u<h.length;u++)if(h[u].test(f.data)){i=f.offset/4,r.push(`name = "${b}";`,`offset += ${i-n};`,h[u][t]||h[u].ubo),y=!0;break}if(!y)if(f.data.size>1)i=f.offset/4,r.push(a(f,i-n));else{const u=s[f.data.type];i=f.offset/4,r.push(`
136
+ v = uv.${b};
137
+ offset += ${i-n};
138
+ ${u};
139
+ `)}n=i}const o=r.join(`
140
+ `);return new Function("uv","data","dataInt32","offset",o)}function v(e,t){return`
141
+ for (let i = 0; i < ${e*t}; i++) {
142
+ data[offset + (((i / ${e})|0) * 4) + (i % ${e})] = v[i];
143
+ }
144
+ `}const F={f32:`
145
+ data[offset] = v;`,i32:`
146
+ dataInt32[offset] = v;`,"vec2<f32>":`
147
+ data[offset] = v[0];
148
+ data[offset + 1] = v[1];`,"vec3<f32>":`
149
+ data[offset] = v[0];
150
+ data[offset + 1] = v[1];
151
+ data[offset + 2] = v[2];`,"vec4<f32>":`
152
+ data[offset] = v[0];
153
+ data[offset + 1] = v[1];
154
+ data[offset + 2] = v[2];
155
+ data[offset + 3] = v[3];`,"vec2<i32>":`
156
+ dataInt32[offset] = v[0];
157
+ dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
158
+ dataInt32[offset] = v[0];
159
+ dataInt32[offset + 1] = v[1];
160
+ dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
161
+ dataInt32[offset] = v[0];
162
+ dataInt32[offset + 1] = v[1];
163
+ dataInt32[offset + 2] = v[2];
164
+ dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
165
+ data[offset] = v[0];
166
+ data[offset + 1] = v[1];
167
+ data[offset + 4] = v[2];
168
+ data[offset + 5] = v[3];`,"mat3x3<f32>":`
169
+ data[offset] = v[0];
170
+ data[offset + 1] = v[1];
171
+ data[offset + 2] = v[2];
172
+ data[offset + 4] = v[3];
173
+ data[offset + 5] = v[4];
174
+ data[offset + 6] = v[5];
175
+ data[offset + 8] = v[6];
176
+ data[offset + 9] = v[7];
177
+ data[offset + 10] = v[8];`,"mat4x4<f32>":`
178
+ for (let i = 0; i < 16; i++) {
179
+ data[offset + i] = v[i];
180
+ }`,"mat3x2<f32>":v(3,2),"mat4x2<f32>":v(4,2),"mat2x3<f32>":v(2,3),"mat4x3<f32>":v(4,3),"mat2x4<f32>":v(2,4),"mat3x4<f32>":v(3,4)},w={...F,"mat2x2<f32>":`
181
+ data[offset] = v[0];
182
+ data[offset + 1] = v[1];
183
+ data[offset + 2] = v[2];
184
+ data[offset + 3] = v[3];
185
+ `};class P extends I{constructor({buffer:t,offset:a,size:s}){super(),this.uid=p("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=p("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=t,this.offset=a|0,this.size=s,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=p("resource"),this.emit("change",this)}destroy(t=!1){this.destroyed=!0,t&&this.buffer.destroy(),this.emit("change",this),this.buffer=null,this.removeAllListeners()}}export{P as B,d as G,B as U,x as a,F as b,k as c,h as d,A as e,D as f,R as g,C as l,O as t,w as u};
@@ -0,0 +1 @@
1
+ import{f as C,h as Ce,i as Te,m as Z,M as A,j as _,k as Le,w as Oe,s as Pe,l as ke,n as je,C as be,T as _e,o as Ne,F as Ye,p as Ve,q as $e,D as Se,A as Xe,R as Je,r as te}from"./RelationshipGalaxyCanvas-DTzJq7q7.js";import{R as Ke,S as Qe,B as ze,a as Ze,b as et,c as tt,A as st,C as nt}from"./RenderTargetSystem-BSAQFamI.js";import"./vendor-snapdom-XnBoh1gd.js";import"./index-BgVbj5qX.js";import"./vendor-reka-ui-CzM4kDQ7.js";import"./vendor-nuxt-ui-Dr2T8_OZ.js";import"./index-CLRaKwpT.js";import"./index-aljYO5ms.js";import"./people-page-header-Mupn-U_b.js";import"./relationship-galaxy-viewport-Cwfa51ER.js";import"./Filter-wRJtdXx9.js";const he=class L{static _getPatternRepeat(e,t){const a=e&&e!=="clamp-to-edge",s=t&&t!=="clamp-to-edge";return a&&s?"repeat":a?"repeat-x":s?"repeat-y":"no-repeat"}start(e,t,a){}execute(e,t){const a=t.elements;if(!a||!a.length)return;const s=e.renderer,o=s.canvasContext,r=o.activeContext;for(let l=0;l<a.length;l++){const i=a[l];if(!i.packAsQuad)continue;const d=i,h=d.texture,v=h?C.getCanvasSource(h):null;if(!v)continue;const y=h.source.style,H=o.smoothProperty,W=y.scaleMode!=="nearest";r[H]!==W&&(r[H]=W),o.setBlendMode(t.blendMode);const F=s.globalUniforms.globalUniformData?.worldColor??4294967295,S=d.color,G=(F>>>24&255)/255,P=(S>>>24&255)/255,g=s.filter?.alphaMultiplier??1,M=G*P*g;if(M<=0)continue;r.globalAlpha=M;const K=F&16777215,k=S&16777215,q=Te(Z(k,K)),I=h.frame,V=y.addressModeU??y.addressMode,O=y.addressModeV??y.addressMode,u=L._getPatternRepeat(V,O),m=h.source._resolution??h.source.resolution??1,f=d.renderable?.renderGroup?.isCachedAsTexture,D=I.x*m,j=I.y*m,b=I.width*m,E=I.height*m,x=d.bounds,w=s.renderTarget.renderTarget.isRoot,R=x.minX,$=x.minY,U=x.maxX-x.minX,B=x.maxY-x.minY,T=h.rotate,c=h.uvs,se=Math.min(c.x0,c.x1,c.x2,c.x3,c.y0,c.y1,c.y2,c.y3),Fe=Math.max(c.x0,c.x1,c.x2,c.x3,c.y0,c.y1,c.y2,c.y3),de=u!=="no-repeat"&&(se<0||Fe>1),Q=T&&!(!de&&(q!==16777215||T));Q?(L._tempPatternMatrix.copyFrom(d.transform),Ce.matrixAppendRotationInv(L._tempPatternMatrix,T,R,$,U,B),o.setContextTransform(L._tempPatternMatrix,d.roundPixels===1,void 0,f&&w)):o.setContextTransform(d.transform,d.roundPixels===1,void 0,f&&w);const ne=U,ae=B;let X=Q?0:R,J=Q?0:$;if(!Q&&d.roundPixels===1&&(X|=0,J|=0),de){let oe=v;const N=q!==16777215&&!T,Y=I.width<=h.source.width&&I.height<=h.source.height;N&&Y&&(oe=C.getTintedCanvas({texture:h},q));const re=r.createPattern(oe,u);if(!re)continue;const pe=ne,ue=ae;if(pe===0||ue===0)continue;const me=1/pe,fe=1/ue,ge=(c.x1-c.x0)*me,ve=(c.y1-c.y0)*me,ye=(c.x3-c.x0)*fe,xe=(c.y3-c.y0)*fe,qe=c.x0-ge*X-ye*J,Ue=c.y0-ve*X-xe*J,ie=h.source.pixelWidth,ce=h.source.pixelHeight;L._tempPatternMatrix.set(ge*ie,ve*ce,ye*ie,xe*ce,qe*ie,Ue*ce),C.applyPatternTransform(re,L._tempPatternMatrix),r.fillStyle=re,r.fillRect(X,J,ne,ae)}else{const N=q!==16777215||T?C.getTintedCanvas({texture:h},q):v,Y=N!==v;r.drawImage(N,Y?0:D,Y?0:j,Y?N.width:b,Y?N.height:E,X,J,ne,ae)}}}};he._tempPatternMatrix=new A;he.extension={type:[_.CanvasPipesAdaptor],name:"batch"};let at=he;class Me{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15}push(e,t,a){this._renderer.renderPipes.batch.break(a);const s=this._colorStack;s[this._colorStackIndex]=s[this._colorStackIndex-1]&e.mask;const o=this._colorStack[this._colorStackIndex];o!==this._currentColor&&(this._currentColor=o,a.add({renderPipeId:"colorMask",colorMask:o,canBundle:!1})),this._colorStackIndex++}pop(e,t,a){this._renderer.renderPipes.batch.break(a);const s=this._colorStack;this._colorStackIndex--;const o=s[this._colorStackIndex-1];o!==this._currentColor&&(this._currentColor=o,a.add({renderPipeId:"colorMask",colorMask:o,canBundle:!1}))}execute(e){}destroy(){this._renderer=null,this._colorStack=null}}Me.extension={type:[_.CanvasPipes],name:"colorMask"};function ot(n,e,t,a,s,o){o=Math.max(0,Math.min(o,Math.min(a,s)/2)),n.moveTo(e+o,t),n.lineTo(e+a-o,t),n.quadraticCurveTo(e+a,t,e+a,t+o),n.lineTo(e+a,t+s-o),n.quadraticCurveTo(e+a,t+s,e+a-o,t+s),n.lineTo(e+o,t+s),n.quadraticCurveTo(e,t+s,e,t+s-o),n.lineTo(e,t+o),n.quadraticCurveTo(e,t,e+o,t)}function we(n,e){switch(e.type){case"rectangle":{const t=e;n.rect(t.x,t.y,t.width,t.height);break}case"roundedRectangle":{const t=e;ot(n,t.x,t.y,t.width,t.height,t.radius);break}case"circle":{const t=e;n.moveTo(t.x+t.radius,t.y),n.arc(t.x,t.y,t.radius,0,Math.PI*2);break}case"ellipse":{const t=e;n.ellipse?(n.moveTo(t.x+t.halfWidth,t.y),n.ellipse(t.x,t.y,t.halfWidth,t.halfHeight,0,0,Math.PI*2)):(n.save(),n.translate(t.x,t.y),n.scale(t.halfWidth,t.halfHeight),n.moveTo(1,0),n.arc(0,0,1,0,Math.PI*2),n.restore());break}case"triangle":{const t=e;n.moveTo(t.x,t.y),n.lineTo(t.x2,t.y2),n.lineTo(t.x3,t.y3),n.closePath();break}default:{const t=e,a=t.points;if(!a?.length)break;n.moveTo(a[0],a[1]);for(let s=2;s<a.length;s+=2)n.lineTo(a[s],a[s+1]);t.closePath&&n.closePath();break}}}function rt(n,e,t){const a=[],s=[],o=[];if(!Pe[e.type]?.build(e,a))return!1;const l=e.closePath??!0;ke(a,t,!1,l,s,o);for(let i=0;i<o.length;i+=3){const d=o[i]*2,h=o[i+1]*2,v=o[i+2]*2;n.moveTo(s[d],s[d+1]),n.lineTo(s[h],s[h+1]),n.lineTo(s[v],s[v+1]),n.closePath()}return!0}function it(n,e){if(!e?.length)return!1;for(let t=0;t<e.length;t++){const a=e[t];if(!a?.shape)continue;const s=a.transform,o=s&&!s.isIdentity();o&&(n.save(),n.transform(s.a,s.b,s.c,s.d,s.tx,s.ty)),we(n,a.shape),o&&n.restore()}return!0}class Re{constructor(e){this._warnedMaskTypes=new Set,this._canvasMaskStack=[],this._renderer=e}push(e,t,a){this._renderer.renderPipes.batch.break(a),a.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}pop(e,t,a){this._renderer.renderPipes.batch.break(a),a.add({renderPipeId:"stencilMask",action:"popMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}execute(e){if(e.action!=="pushMaskBegin"&&e.action!=="popMaskEnd")return;const t=this._renderer,a=t.canvasContext,s=a?.activeContext;if(!s)return;if(e.action==="popMaskEnd"){this._canvasMaskStack.pop()&&s.restore();return}e.inverse&&this._warnOnce("inverse","CanvasRenderer: inverse masks are not supported on Canvas2D; ignoring inverse flag.");const o=e.mask.mask;if(!(o instanceof Le)){this._warnOnce("nonGraphics","CanvasRenderer: only Graphics masks are supported in Canvas2D; skipping mask."),this._canvasMaskStack.push(!1);return}const r=o,l=r.context?.instructions;if(!l?.length){this._canvasMaskStack.push(!1);return}s.save(),a.setContextTransform(r.groupTransform,(t._roundPixels|r._roundPixels)===1),s.beginPath();let i=!1,d=!1;for(let h=0;h<l.length;h++){const v=l[h],y=v.action;if(y!=="fill"&&y!=="stroke")continue;const H=v.data,W=H?.path?.shapePath;if(!W?.shapePrimitives?.length)continue;const F=y==="stroke",S=W.shapePrimitives;for(let G=0;G<S.length;G++){const P=S[G];if(!P?.shape)continue;const g=P.transform,M=g&&!g.isIdentity();M&&(s.save(),s.transform(g.a,g.b,g.c,g.d,g.tx,g.ty)),F&&H.style?i=rt(s,P.shape,H.style)||i:(we(s,P.shape),d=it(s,P.holes)||d,i=!0),M&&s.restore()}}if(!i){s.restore(),this._canvasMaskStack.push(!1);return}d?s.clip("evenodd"):s.clip(),this._canvasMaskStack.push(!0)}destroy(){this._renderer=null,this._warnedMaskTypes=null,this._canvasMaskStack=null}_warnOnce(e,t){this._warnedMaskTypes.has(e)||(this._warnedMaskTypes.add(e),Oe(t))}}Re.extension={type:[_.CanvasPipes],name:"stencilMask"};const p="source-over";function ct(){const n=je(),e=Object.create(null);return e.inherit=p,e.none=p,e.normal="source-over",e.add="lighter",e.multiply=n?"multiply":p,e.screen=n?"screen":p,e.overlay=n?"overlay":p,e.darken=n?"darken":p,e.lighten=n?"lighten":p,e["color-dodge"]=n?"color-dodge":p,e["color-burn"]=n?"color-burn":p,e["hard-light"]=n?"hard-light":p,e["soft-light"]=n?"soft-light":p,e.difference=n?"difference":p,e.exclusion=n?"exclusion":p,e.saturation=n?"saturation":p,e.color=n?"color":p,e.luminosity=n?"luminosity":p,e["linear-burn"]=n?"color-burn":p,e["linear-dodge"]=n?"color-dodge":p,e["linear-light"]=n?"hard-light":p,e["pin-light"]=n?"hard-light":p,e["vivid-light"]=n?"hard-light":p,e["hard-mix"]=p,e.negation=n?"difference":p,e["normal-npm"]=e.normal,e["add-npm"]=e.add,e["screen-npm"]=e.screen,e.erase="destination-out",e.subtract=p,e.divide=p,e.min=p,e.max=p,e}const lt=new A;class Ie{constructor(e){this.activeResolution=1,this.smoothProperty="imageSmoothingEnabled",this.blendModes=ct(),this._activeBlendMode="normal",this._projTransform=null,this._outerBlend=!1,this._warnedBlendModes=new Set,this._renderer=e}resolutionChange(e){this.activeResolution=e}init(){const e=this._renderer.background.alpha<1;if(this.rootContext=this._renderer.canvas.getContext("2d",{alpha:e}),this.activeContext=this.rootContext,this.activeResolution=this._renderer.resolution,!this.rootContext.imageSmoothingEnabled){const t=this.rootContext;t.webkitImageSmoothingEnabled?this.smoothProperty="webkitImageSmoothingEnabled":t.mozImageSmoothingEnabled?this.smoothProperty="mozImageSmoothingEnabled":t.oImageSmoothingEnabled?this.smoothProperty="oImageSmoothingEnabled":t.msImageSmoothingEnabled&&(this.smoothProperty="msImageSmoothingEnabled")}}setContextTransform(e,t,a,s){const o=s?A.IDENTITY:this._renderer.globalUniforms.globalUniformData?.worldTransformMatrix||A.IDENTITY;let r=lt;r.copyFrom(o),r.append(e);const l=this._projTransform,i=this.activeResolution;if(a=a||i,l){const d=A.shared;d.copyFrom(r),d.prepend(l),r=d}t?this.activeContext.setTransform(r.a*a,r.b*a,r.c*a,r.d*a,r.tx*i|0,r.ty*i|0):this.activeContext.setTransform(r.a*a,r.b*a,r.c*a,r.d*a,r.tx*i,r.ty*i)}clear(e,t){const a=this.activeContext,s=this._renderer;if(a.clearRect(0,0,s.width,s.height),e){const o=be.shared.setValue(e);a.globalAlpha=t??o.alpha,a.fillStyle=o.toHex(),a.fillRect(0,0,s.width,s.height),a.globalAlpha=1}}setBlendMode(e){if(this._activeBlendMode===e)return;this._activeBlendMode=e,this._outerBlend=!1;const t=this.blendModes[e];if(!t){this._warnedBlendModes.has(e)||(console.warn(`CanvasRenderer: blend mode "${e}" is not supported in Canvas2D; falling back to "source-over".`),this._warnedBlendModes.add(e)),this.activeContext.globalCompositeOperation="source-over";return}this.activeContext.globalCompositeOperation=t}destroy(){this.rootContext=null,this.activeContext=null,this._warnedBlendModes.clear()}}Ie.extension={type:[_.CanvasSystem],name:"canvasContext"};class Be{constructor(){this.maxTextures=16,this.maxBatchableTextures=16,this.maxUniformBindings=0}init(){}}Be.extension={type:[_.CanvasSystem],name:"limits"};const ht="#808080",z=new A,dt=new A,pt=new A,le=new A;function ut(n,e,t){n.beginPath();for(let a=0;a<t.length;a+=3){const s=t[a]*2,o=t[a+1]*2,r=t[a+2]*2;n.moveTo(e[s],e[s+1]),n.lineTo(e[o],e[o+1]),n.lineTo(e[r],e[r+1]),n.closePath()}n.fill()}function mt(n){return`#${(n&16777215).toString(16).padStart(6,"0")}`}function ft(n,e,t,a,s,o){o=Math.max(0,Math.min(o,Math.min(a,s)/2)),n.moveTo(e+o,t),n.lineTo(e+a-o,t),n.quadraticCurveTo(e+a,t,e+a,t+o),n.lineTo(e+a,t+s-o),n.quadraticCurveTo(e+a,t+s,e+a-o,t+s),n.lineTo(e+o,t+s),n.quadraticCurveTo(e,t+s,e,t+s-o),n.lineTo(e,t+o),n.quadraticCurveTo(e,t,e+o,t)}function ee(n,e){switch(e.type){case"rectangle":{const t=e;n.rect(t.x,t.y,t.width,t.height);break}case"roundedRectangle":{const t=e;ft(n,t.x,t.y,t.width,t.height,t.radius);break}case"circle":{const t=e;n.arc(t.x,t.y,t.radius,0,Math.PI*2);break}case"ellipse":{const t=e;n.ellipse?n.ellipse(t.x,t.y,t.halfWidth,t.halfHeight,0,0,Math.PI*2):(n.save(),n.translate(t.x,t.y),n.scale(t.halfWidth,t.halfHeight),n.arc(0,0,1,0,Math.PI*2),n.restore());break}case"triangle":{const t=e;n.moveTo(t.x,t.y),n.lineTo(t.x2,t.y2),n.lineTo(t.x3,t.y3),n.closePath();break}default:{const t=e,a=t.points;if(!a?.length)break;n.moveTo(a[0],a[1]);for(let s=2;s<a.length;s+=2)n.lineTo(a[s],a[s+1]);t.closePath&&n.closePath();break}}}function gt(n,e){if(!e?.length)return!1;for(let t=0;t<e.length;t++){const a=e[t];if(!a?.shape)continue;const s=a.transform,o=s&&!s.isIdentity();o&&(n.save(),n.transform(s.a,s.b,s.c,s.d,s.tx,s.ty)),ee(n,a.shape),o&&n.restore()}return!0}function vt(n,e,t,a){const s=n.fill;if(s instanceof Ye){s.buildGradient();const r=s.texture;if(r){const l=C.getTintedPattern(r,e),i=t?le.copyFrom(t).scale(r.source.pixelWidth,r.source.pixelHeight):le.copyFrom(s.transform);return a&&!n.textureSpace&&i.append(a),C.applyPatternTransform(l,i),l}}if(s instanceof Ve){const r=C.getTintedPattern(s.texture,e);return C.applyPatternTransform(r,s.transform,!1),r}const o=n.texture;if(o&&o!==_e.WHITE){if(!o.source.resource)return ht;const r=C.getTintedPattern(o,e),l=t?le.copyFrom(t).scale(o.source.pixelWidth,o.source.pixelHeight):n.matrix;return C.applyPatternTransform(r,l),r}return mt(e)}class Ae{constructor(){this.shader=null}contextChange(e){}execute(e,t){const a=e.renderer,s=a.canvasContext,o=s.activeContext,r=t.groupTransform,l=a.globalUniforms.globalUniformData?.worldColor??4294967295,i=t.groupColorAlpha,d=(l>>>24&255)/255,h=(i>>>24&255)/255,v=a.filter?.alphaMultiplier??1,y=d*h*v;if(y<=0)return;const H=l&16777215,W=i&16777215,F=Te(Z(W,H)),S=a._roundPixels|t._roundPixels;o.save(),s.setContextTransform(r,S===1),s.setBlendMode(t.groupBlendMode);const G=t.context.instructions;for(let P=0;P<G.length;P++){const g=G[P];if(g.action==="texture"){const u=g.data,m=u.image,f=m?C.getCanvasSource(m):null;if(!f)continue;const D=u.alpha*y;if(D<=0)continue;const j=Z(u.style,F);o.globalAlpha=D;let b=f;j!==16777215&&(b=C.getTintedCanvas({texture:m},j));const E=m.frame,x=m.source._resolution??m.source.resolution??1;let w=E.x*x,R=E.y*x;const $=E.width*x,U=E.height*x;b!==f&&(w=0,R=0);const B=u.transform,T=B&&!B.isIdentity(),c=m.rotate;T||c?(z.copyFrom(r),T&&z.append(B),c&&Ce.matrixAppendRotationInv(z,c,u.dx,u.dy,u.dw,u.dh),s.setContextTransform(z,S===1)):s.setContextTransform(r,S===1),o.drawImage(b,w,R,b===f?$:b.width,b===f?U:b.height,c?0:u.dx,c?0:u.dy,u.dw,u.dh),(T||c)&&s.setContextTransform(r,S===1);continue}const M=g.data,K=M?.path?.shapePath;if(!K?.shapePrimitives?.length)continue;const k=M.style,q=Z(k.color,F),I=k.alpha*y;if(I<=0)continue;const V=g.action==="stroke";if(o.globalAlpha=I,V){const u=k;o.lineWidth=u.width,o.lineCap=u.cap,o.lineJoin=u.join,o.miterLimit=u.miterLimit}const O=K.shapePrimitives;if(!V&&M.hole?.shapePath?.shapePrimitives?.length){const u=O[O.length-1];u.holes=M.hole.shapePath.shapePrimitives}for(let u=0;u<O.length;u++){const m=O[u];if(!m?.shape)continue;const f=m.transform,D=f&&!f.isIdentity(),j=k.texture&&k.texture!==_e.WHITE,b=k.textureSpace==="global"?f:null,E=j?Ne(dt,k,m.shape,b):null,x=D?pt.copyFrom(r).append(f):r,w=vt(k,q,E,x);if(D&&(o.save(),o.transform(f.a,f.b,f.c,f.d,f.tx,f.ty)),V){const R=k;if(R.alignment!==.5&&!R.pixelLine){const U=[],B=[],T=[];if(Pe[m.shape.type]?.build(m.shape,U)){const se=m.shape.closePath??!0;ke(U,R,!1,se,B,T),o.fillStyle=w,ut(o,B,T)}else o.strokeStyle=w,o.beginPath(),ee(o,m.shape),o.stroke()}else o.strokeStyle=w,o.beginPath(),ee(o,m.shape),o.stroke()}else o.fillStyle=w,o.beginPath(),ee(o,m.shape),gt(o,m.holes)?o.fill("evenodd"):o.fill();D&&o.restore()}}o.restore()}destroy(){this.shader=null}}Ae.extension={type:[_.CanvasPipesAdaptor],name:"graphics"};class yt{init(e,t){this._renderer=e,this._renderTargetSystem=t}initGpuRenderTarget(e){const t=e.colorTexture,{canvas:a,context:s}=this._ensureCanvas(t);return{canvas:a,context:s,width:a.width,height:a.height}}resizeGpuRenderTarget(e){const t=e.colorTexture,{canvas:a}=this._ensureCanvas(t);a.width=e.pixelWidth,a.height=e.pixelHeight}startRenderPass(e,t,a,s){const o=this._renderTargetSystem.getGpuRenderTarget(e);this._renderer.canvasContext.activeContext=o.context,this._renderer.canvasContext.activeResolution=e.resolution,t&&this.clear(e,t,a,s)}clear(e,t,a,s){const r=this._renderTargetSystem.getGpuRenderTarget(e).context,l=s||{x:0,y:0,width:e.pixelWidth,height:e.pixelHeight};if(r.setTransform(1,0,0,1,0,0),r.clearRect(l.x,l.y,l.width,l.height),a){const i=be.shared.setValue(a);i.alpha>0&&(r.globalAlpha=i.alpha,r.fillStyle=i.toHex(),r.fillRect(l.x,l.y,l.width,l.height),r.globalAlpha=1)}}finishRenderPass(){}copyToTexture(e,t,a,s,o){const l=this._renderTargetSystem.getGpuRenderTarget(e).canvas,i=t.source,{context:d}=this._ensureCanvas(i),h=o?.x??0,v=o?.y??0;return d.drawImage(l,a.x,a.y,s.width,s.height,h,v,s.width,s.height),i.update(),t}destroyGpuRenderTarget(e){}_ensureCanvas(e){let t=e.resource;(!t||!$e.test(t))&&(t=Se.get().createCanvas(e.pixelWidth,e.pixelHeight),e.resource=t),(t.width!==e.pixelWidth||t.height!==e.pixelHeight)&&(t.width=e.pixelWidth,t.height=e.pixelHeight);const a=t.getContext("2d");return{canvas:t,context:a}}}class He extends Ke{constructor(e){super(e),this.adaptor=new yt,this.adaptor.init(e,this)}}He.extension={type:[_.CanvasSystem],name:"renderTarget"};class Ge{constructor(e){}init(){}initSource(e){}generateCanvas(e){const t=Se.get().createCanvas(),a=t.getContext("2d"),s=C.getCanvasSource(e);if(!s)return t;const o=e.frame,r=e.source._resolution??e.source.resolution??1,l=o.x*r,i=o.y*r,d=o.width*r,h=o.height*r;return t.width=Math.ceil(d),t.height=Math.ceil(h),a.drawImage(s,l,i,d,h,0,0,d,h),t}getPixels(e){const t=this.generateCanvas(e);return{pixels:t.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,t.width,t.height).data,width:t.width,height:t.height}}destroy(){}}Ge.extension={type:[_.CanvasSystem],name:"texture"};const xt=[...Qe,Ie,Be,Ge,He],Ct=[ze,Ze,et,tt,st,Re,Me,nt],Tt=[at,Ae],De=[],Ee=[],We=[];te.handleByNamedList(_.CanvasSystem,De);te.handleByNamedList(_.CanvasPipes,Ee);te.handleByNamedList(_.CanvasPipesAdaptor,We);te.add(...xt,...Ct,...Tt);class Gt extends Xe{constructor(){const e={name:"canvas",type:Je.CANVAS,systems:De,renderPipes:Ee,renderPipeAdaptors:We};super(e)}}export{Gt as CanvasRenderer};
@@ -0,0 +1 @@
1
+ .writing-vertical[data-v-5097a3ad]{writing-mode:vertical-rl;text-orientation:mixed}.data-flow-bg[data-v-5097a3ad]{background:repeating-linear-gradient(0deg,transparent,transparent 20px,currentColor 20px,currentColor 21px);animation:dataFlow-5097a3ad 20s linear infinite}@keyframes dataFlow-5097a3ad{0%{transform:translateY(0)}to{transform:translateY(-100px)}}.mention-menu-enter-active[data-v-6b40ada0],.mention-menu-leave-active[data-v-6b40ada0]{transition:opacity .16s ease,transform .16s ease}.mention-menu-enter-from[data-v-6b40ada0],.mention-menu-leave-to[data-v-6b40ada0]{transform:translateY(8px);opacity:0}.slash-menu-enter-active[data-v-89f6ec48],.slash-menu-leave-active[data-v-89f6ec48]{transition:opacity .16s ease,transform .16s ease}.slash-menu-enter-from[data-v-89f6ec48],.slash-menu-leave-to[data-v-89f6ec48]{transform:translateY(8px);opacity:0}.custom-scrollbar[data-v-61e036f4]::-webkit-scrollbar{width:4px}.custom-scrollbar[data-v-61e036f4]::-webkit-scrollbar-track{background:transparent}.custom-scrollbar[data-v-61e036f4]::-webkit-scrollbar-thumb{border-radius:4px;background-color:#9ca3af4d}.dark .custom-scrollbar[data-v-61e036f4]::-webkit-scrollbar-thumb{background-color:#9ca3af26}.slide-fade-enter-active[data-v-b4435ee7],.slide-fade-leave-active[data-v-b4435ee7]{transition:all .3s ease-out}.slide-fade-enter-from[data-v-b4435ee7],.slide-fade-leave-to[data-v-b4435ee7]{transform:translate(20px);opacity:0}.slide-up-enter-active[data-v-b4435ee7],.slide-up-leave-active[data-v-b4435ee7]{transition:all .3s ease-out}.slide-up-enter-from[data-v-b4435ee7],.slide-up-leave-to[data-v-b4435ee7]{transform:translateY(10px);opacity:0}.fade-up-enter-active[data-v-b4435ee7],.fade-up-leave-active[data-v-b4435ee7]{transition:opacity .2s ease-out}.fade-up-enter-from[data-v-b4435ee7],.fade-up-leave-to[data-v-b4435ee7]{opacity:0}.fade-enter-active[data-v-0df46b7b],.fade-leave-active[data-v-0df46b7b]{transition:opacity .15s ease}.fade-enter-from[data-v-0df46b7b],.fade-leave-to[data-v-0df46b7b]{opacity:0}.fade-enter-active[data-v-d712cb76],.fade-leave-active[data-v-d712cb76]{transition:opacity .15s ease}.fade-enter-from[data-v-d712cb76],.fade-leave-to[data-v-d712cb76]{opacity:0}