|
15 | 15 | MPB0000000000000000006 /* PikachuPetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000006 /* PikachuPetView.swift */; }; |
16 | 16 | MPB0000000000000000007 /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000007 /* SettingsView.swift */; }; |
17 | 17 | MPB0000000000000000008 /* SettingsWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000008 /* SettingsWindowController.swift */; }; |
18 | | - MPB0000000000000000009 /* KeyEventHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000009 /* KeyEventHandler.swift */; }; |
19 | 18 | MPB0000000000000000010 /* SearchResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000010 /* SearchResult.swift */; }; |
20 | 19 | MPB0000000000000000011 /* PetState.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000011 /* PetState.swift */; }; |
21 | 20 | MPB0000000000000000012 /* FileSystemEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000012 /* FileSystemEvent.swift */; }; |
|
28 | 27 | MPB0000000000000000019 /* HotKeyManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000019 /* HotKeyManager.swift */; }; |
29 | 28 | MPB0000000000000000020 /* AppLogger.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000020 /* AppLogger.swift */; }; |
30 | 29 | MPB0000000000000000021 /* moss_worker.py in Resources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000021 /* moss_worker.py */; }; |
31 | | - MPB0000000000000000022 /* config.json in Resources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000022 /* config.json */; }; |
32 | 30 | MPB0000000000000000023 /* capvolt-sticker.png in Resources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000023 /* capvolt-sticker.png */; }; |
33 | | - MPB0000000000000000024 /* capvolt-sticker.webp in Resources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000024 /* capvolt-sticker.webp */; }; |
34 | 31 | MPB0000000000000000025 /* CapvoltSticker.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000025 /* CapvoltSticker.swift */; }; |
35 | 32 | MPB0000000000000000026 /* DotEnvLoader.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000026 /* DotEnvLoader.swift */; }; |
36 | 33 | MPB0000000000000000027 /* FloatingPetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000027 /* FloatingPetWindowController.swift */; }; |
37 | 34 | MPB0000000000000000028 /* SearchOverlayPresentation.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000028 /* SearchOverlayPresentation.swift */; }; |
38 | 35 | MPB0000000000000000030 /* IndexingPolicy.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000030 /* IndexingPolicy.swift */; }; |
39 | 36 | MPB0000000000000000031 /* IndexingBootstrapWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000031 /* IndexingBootstrapWindowController.swift */; }; |
40 | | - MPB0000000000000000032 /* pet.json in Resources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000032 /* pet.json */; }; |
41 | 37 | MPB0000000000000000033 /* spritesheet.webp in Resources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000033 /* spritesheet.webp */; }; |
42 | 38 | MPB0000000000000000034 /* CapvoltPetAssets.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000034 /* CapvoltPetAssets.swift */; }; |
43 | 39 | MPB0000000000000000035 /* CapvoltSpritesheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000035 /* CapvoltSpritesheetView.swift */; }; |
| 40 | + MPB0000000000000000036 /* MossPikachuPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000036 /* MossPikachuPaths.swift */; }; |
| 41 | + MPB0000000000000000037 /* PythonEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000037 /* PythonEnvironment.swift */; }; |
| 42 | + MPB0000000000000000038 /* CredentialsSetupView.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000038 /* CredentialsSetupView.swift */; }; |
| 43 | + MPB0000000000000000039 /* CredentialsSetupWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = MPF0000000000000000039 /* CredentialsSetupWindowController.swift */; }; |
44 | 44 | /* End PBXBuildFile section */ |
45 | 45 |
|
46 | 46 | /* Begin PBXFileReference section */ |
|
53 | 53 | MPF0000000000000000006 /* PikachuPetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PikachuPetView.swift; sourceTree = "<group>"; }; |
54 | 54 | MPF0000000000000000007 /* SettingsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = "<group>"; }; |
55 | 55 | MPF0000000000000000008 /* SettingsWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsWindowController.swift; sourceTree = "<group>"; }; |
56 | | - MPF0000000000000000009 /* KeyEventHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeyEventHandler.swift; sourceTree = "<group>"; }; |
57 | 56 | MPF0000000000000000010 /* SearchResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResult.swift; sourceTree = "<group>"; }; |
58 | 57 | MPF0000000000000000011 /* PetState.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PetState.swift; sourceTree = "<group>"; }; |
59 | 58 | MPF0000000000000000012 /* FileSystemEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileSystemEvent.swift; sourceTree = "<group>"; }; |
|
66 | 65 | MPF0000000000000000019 /* HotKeyManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HotKeyManager.swift; sourceTree = "<group>"; }; |
67 | 66 | MPF0000000000000000020 /* AppLogger.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppLogger.swift; sourceTree = "<group>"; }; |
68 | 67 | MPF0000000000000000021 /* moss_worker.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = moss_worker.py; sourceTree = "<group>"; }; |
69 | | - MPF0000000000000000022 /* config.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = config.json; sourceTree = "<group>"; }; |
70 | 68 | MPF0000000000000000023 /* capvolt-sticker.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = capvolt-sticker.png; sourceTree = "<group>"; }; |
71 | | - MPF0000000000000000024 /* capvolt-sticker.webp */ = {isa = PBXFileReference; lastKnownFileType = file; path = capvolt-sticker.webp; sourceTree = "<group>"; }; |
72 | 69 | MPF0000000000000000025 /* CapvoltSticker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CapvoltSticker.swift; sourceTree = "<group>"; }; |
73 | 70 | MPF0000000000000000026 /* DotEnvLoader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DotEnvLoader.swift; sourceTree = "<group>"; }; |
74 | 71 | MPF0000000000000000027 /* FloatingPetWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloatingPetWindowController.swift; sourceTree = "<group>"; }; |
75 | 72 | MPF0000000000000000028 /* SearchOverlayPresentation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchOverlayPresentation.swift; sourceTree = "<group>"; }; |
76 | 73 | MPF0000000000000000030 /* IndexingPolicy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndexingPolicy.swift; sourceTree = "<group>"; }; |
77 | 74 | MPF0000000000000000031 /* IndexingBootstrapWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndexingBootstrapWindowController.swift; sourceTree = "<group>"; }; |
78 | | - MPF0000000000000000032 /* pet.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; name = pet.json; path = pets/capvolt/pet.json; sourceTree = "<group>"; }; |
79 | 75 | MPF0000000000000000033 /* spritesheet.webp */ = {isa = PBXFileReference; lastKnownFileType = file; name = spritesheet.webp; path = pets/capvolt/spritesheet.webp; sourceTree = "<group>"; }; |
80 | 76 | MPF0000000000000000034 /* CapvoltPetAssets.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CapvoltPetAssets.swift; sourceTree = "<group>"; }; |
81 | 77 | MPF0000000000000000035 /* CapvoltSpritesheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CapvoltSpritesheetView.swift; sourceTree = "<group>"; }; |
| 78 | + MPF0000000000000000036 /* MossPikachuPaths.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MossPikachuPaths.swift; sourceTree = "<group>"; }; |
| 79 | + MPF0000000000000000037 /* PythonEnvironment.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PythonEnvironment.swift; sourceTree = "<group>"; }; |
| 80 | + MPF0000000000000000038 /* CredentialsSetupView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CredentialsSetupView.swift; sourceTree = "<group>"; }; |
| 81 | + MPF0000000000000000039 /* CredentialsSetupWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CredentialsSetupWindowController.swift; sourceTree = "<group>"; }; |
82 | 82 | /* End PBXFileReference section */ |
83 | 83 |
|
84 | 84 | /* Begin PBXFrameworksBuildPhase section */ |
|
134 | 134 | MPF0000000000000000007 /* SettingsView.swift */, |
135 | 135 | MPF0000000000000000008 /* SettingsWindowController.swift */, |
136 | 136 | MPF0000000000000000031 /* IndexingBootstrapWindowController.swift */, |
137 | | - MPF0000000000000000009 /* KeyEventHandler.swift */, |
| 137 | + MPF0000000000000000038 /* CredentialsSetupView.swift */, |
| 138 | + MPF0000000000000000039 /* CredentialsSetupWindowController.swift */, |
138 | 139 | ); |
139 | 140 | path = Views; |
140 | 141 | sourceTree = "<group>"; |
|
147 | 148 | MPF0000000000000000012 /* FileSystemEvent.swift */, |
148 | 149 | MPF0000000000000000013 /* UserSettings.swift */, |
149 | 150 | MPF0000000000000000030 /* IndexingPolicy.swift */, |
| 151 | + MPF0000000000000000036 /* MossPikachuPaths.swift */, |
150 | 152 | ); |
151 | 153 | path = Models; |
152 | 154 | sourceTree = "<group>"; |
|
164 | 166 | MPF0000000000000000025 /* CapvoltSticker.swift */, |
165 | 167 | MPF0000000000000000034 /* CapvoltPetAssets.swift */, |
166 | 168 | MPF0000000000000000026 /* DotEnvLoader.swift */, |
| 169 | + MPF0000000000000000037 /* PythonEnvironment.swift */, |
167 | 170 | ); |
168 | 171 | path = Services; |
169 | 172 | sourceTree = "<group>"; |
|
172 | 175 | isa = PBXGroup; |
173 | 176 | children = ( |
174 | 177 | MPF0000000000000000021 /* moss_worker.py */, |
175 | | - MPF0000000000000000022 /* config.json */, |
176 | 178 | MPF0000000000000000023 /* capvolt-sticker.png */, |
177 | | - MPF0000000000000000024 /* capvolt-sticker.webp */, |
178 | | - MPF0000000000000000032 /* pet.json */, |
179 | 179 | MPF0000000000000000033 /* spritesheet.webp */, |
180 | 180 | ); |
181 | 181 | path = Resources; |
|
188 | 188 | isa = PBXNativeTarget; |
189 | 189 | buildConfigurationList = MP0000000000000001100000 /* Build configuration list for PBXNativeTarget "MossPikachu" */; |
190 | 190 | buildPhases = ( |
| 191 | + MP0000000000000001500000 /* Setup Python venv */, |
191 | 192 | MP0000000000000001200000 /* Sources */, |
192 | 193 | MP0000000000000001300000 /* Frameworks */, |
193 | 194 | MP0000000000000001400000 /* Resources */, |
|
234 | 235 | }; |
235 | 236 | /* End PBXProject section */ |
236 | 237 |
|
| 238 | +/* Begin PBXShellScriptBuildPhase section */ |
| 239 | + MP0000000000000001500000 /* Setup Python venv */ = { |
| 240 | + isa = PBXShellScriptBuildPhase; |
| 241 | + alwaysOutOfDate = 1; |
| 242 | + buildActionMask = 2147483647; |
| 243 | + files = ( |
| 244 | + ); |
| 245 | + inputFileListPaths = ( |
| 246 | + ); |
| 247 | + inputPaths = ( |
| 248 | + ); |
| 249 | + name = "Setup Python venv"; |
| 250 | + outputFileListPaths = ( |
| 251 | + ); |
| 252 | + outputPaths = ( |
| 253 | + ); |
| 254 | + runOnlyForDeploymentPostprocessing = 0; |
| 255 | + shellPath = /bin/bash; |
| 256 | + shellScript = "set -euo pipefail\nif [ ! -x \"${SRCROOT}/.venv/bin/python3\" ] || ! \"${SRCROOT}/.venv/bin/python3\" -c \"from moss import MossClient\" 2>/dev/null; then\n echo \"Picklight: setting up Python venv...\"\n bash \"${SRCROOT}/scripts/setup-moss-venv.sh\"\nfi\n\"${SRCROOT}/.venv/bin/python3\" -c \"from moss import MossClient\"\n"; |
| 257 | + }; |
| 258 | +/* End PBXShellScriptBuildPhase section */ |
| 259 | + |
237 | 260 | /* Begin PBXResourcesBuildPhase section */ |
238 | 261 | MP0000000000000001400000 /* Resources */ = { |
239 | 262 | isa = PBXResourcesBuildPhase; |
240 | 263 | buildActionMask = 2147483647; |
241 | 264 | files = ( |
242 | 265 | MPB0000000000000000021 /* moss_worker.py in Resources */, |
243 | | - MPB0000000000000000022 /* config.json in Resources */, |
244 | 266 | MPB0000000000000000023 /* capvolt-sticker.png in Resources */, |
245 | | - MPB0000000000000000024 /* capvolt-sticker.webp in Resources */, |
246 | | - MPB0000000000000000032 /* pet.json in Resources */, |
247 | 267 | MPB0000000000000000033 /* spritesheet.webp in Resources */, |
248 | 268 | ); |
249 | 269 | runOnlyForDeploymentPostprocessing = 0; |
|
263 | 283 | MPB0000000000000000006 /* PikachuPetView.swift in Sources */, |
264 | 284 | MPB0000000000000000007 /* SettingsView.swift in Sources */, |
265 | 285 | MPB0000000000000000008 /* SettingsWindowController.swift in Sources */, |
266 | | - MPB0000000000000000009 /* KeyEventHandler.swift in Sources */, |
267 | 286 | MPB0000000000000000010 /* SearchResult.swift in Sources */, |
268 | 287 | MPB0000000000000000011 /* PetState.swift in Sources */, |
269 | 288 | MPB0000000000000000012 /* FileSystemEvent.swift in Sources */, |
|
283 | 302 | MPB0000000000000000031 /* IndexingBootstrapWindowController.swift in Sources */, |
284 | 303 | MPB0000000000000000034 /* CapvoltPetAssets.swift in Sources */, |
285 | 304 | MPB0000000000000000035 /* CapvoltSpritesheetView.swift in Sources */, |
| 305 | + MPB0000000000000000036 /* MossPikachuPaths.swift in Sources */, |
| 306 | + MPB0000000000000000037 /* PythonEnvironment.swift in Sources */, |
| 307 | + MPB0000000000000000038 /* CredentialsSetupView.swift in Sources */, |
| 308 | + MPB0000000000000000039 /* CredentialsSetupWindowController.swift in Sources */, |
286 | 309 | ); |
287 | 310 | runOnlyForDeploymentPostprocessing = 0; |
288 | 311 | }; |
|
376 | 399 | ENABLE_HARDENED_RUNTIME = YES; |
377 | 400 | ENABLE_PREVIEWS = YES; |
378 | 401 | GENERATE_INFOPLIST_FILE = YES; |
| 402 | + INFOPLIST_KEY_CFBundleDisplayName = Picklight; |
379 | 403 | INFOPLIST_KEY_LSUIElement = YES; |
380 | | - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2026 Moss Pikachu."; |
| 404 | + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2026 Picklight."; |
381 | 405 | LD_RUNPATH_SEARCH_PATHS = ( |
382 | 406 | "$(inherited)", |
383 | 407 | "@executable_path/../Frameworks", |
384 | 408 | ); |
385 | 409 | MARKETING_VERSION = 1.0; |
386 | 410 | PRODUCT_BUNDLE_IDENTIFIER = dev.moss.pikachu; |
387 | | - PRODUCT_NAME = "$(TARGET_NAME)"; |
| 411 | + PRODUCT_NAME = Picklight; |
388 | 412 | SUPPORTED_PLATFORMS = macosx; |
389 | 413 | SWIFT_APPROACHABLE_CONCURRENCY = YES; |
390 | 414 | SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; |
|
404 | 428 | ENABLE_HARDENED_RUNTIME = YES; |
405 | 429 | ENABLE_PREVIEWS = YES; |
406 | 430 | GENERATE_INFOPLIST_FILE = YES; |
| 431 | + INFOPLIST_KEY_CFBundleDisplayName = Picklight; |
407 | 432 | INFOPLIST_KEY_LSUIElement = YES; |
408 | | - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2026 Moss Pikachu."; |
| 433 | + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2026 Picklight."; |
409 | 434 | LD_RUNPATH_SEARCH_PATHS = ( |
410 | 435 | "$(inherited)", |
411 | 436 | "@executable_path/../Frameworks", |
412 | 437 | ); |
413 | 438 | MARKETING_VERSION = 1.0; |
414 | 439 | PRODUCT_BUNDLE_IDENTIFIER = dev.moss.pikachu; |
415 | | - PRODUCT_NAME = "$(TARGET_NAME)"; |
| 440 | + PRODUCT_NAME = Picklight; |
416 | 441 | SUPPORTED_PLATFORMS = macosx; |
417 | 442 | SWIFT_APPROACHABLE_CONCURRENCY = YES; |
418 | 443 | SWIFT_DEFAULT_ACTOR_ISOLATION = MainActor; |
|
0 commit comments