Files
luma/Sources/LumaCore/Models/HookPackBundle.swift
Ole André Vadla Ravnås d1606523b5 Support multi-file custom instruments
- Store source files as named CustomInstrumentFile rows per def
- Render sidebar with disclosure groups
- Drive editor via Monaco project models with activePath
- Validate Add/Rename/Delete dialogs and submit on Enter
- Fork installed hook packs into editable custom instruments
- Reload instances on def change; clear stale compat reasons live
- Focus editor on selection (native + Monaco)
2026-05-13 08:54:48 +02:00

38 lines
848 B
Swift

import Foundation
public struct HookPackBundle: Sendable {
public struct File: Sendable {
public let path: String
public let content: Data
public init(path: String, content: Data) {
self.path = path
self.content = content
}
}
public struct IconAttachment: Sendable {
public let filename: String
public let data: Data
public init(filename: String, data: Data) {
self.filename = filename
self.data = data
}
}
public let manifestData: Data
public let files: [File]
public let icon: IconAttachment?
public init(
manifestData: Data,
files: [File],
icon: IconAttachment?
) {
self.manifestData = manifestData
self.files = files
self.icon = icon
}
}