Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
eebe691
Define Core AI Lab product design principles
rudrankriyam Jun 24, 2026
b5397e8
Reorganize the Core AI Lab workspace shell
rudrankriyam Jun 24, 2026
6406b16
Refine the model and recipe libraries
rudrankriyam Jun 24, 2026
ecad8ba
Clarify conversion and recipe authoring flows
rudrankriyam Jun 24, 2026
00fcc56
Polish local model run experiences
rudrankriyam Jun 24, 2026
44b699a
Refine inspection and device evidence views
rudrankriyam Jun 24, 2026
f25e3de
Polish Apple model task workspaces
rudrankriyam Jun 24, 2026
6ed5b73
Clarify the function workbench hierarchy
rudrankriyam Jun 24, 2026
e2d0880
Polish project management flows
rudrankriyam Jun 24, 2026
1e7938c
Refine product voice and recovery copy
rudrankriyam Jun 24, 2026
98bfa4d
Document the native design system
rudrankriyam Jun 24, 2026
0588561
Harden responsive and accessible interactions
rudrankriyam Jun 24, 2026
b9f97e0
Update the runtime copy contract
rudrankriyam Jun 24, 2026
5c0a224
Support every iPad interface orientation
rudrankriyam Jun 24, 2026
b0dbaba
Polish design system documentation
rudrankriyam Jun 24, 2026
c8a66a3
Add contextual workspace inspector
rudrankriyam Jun 24, 2026
e2784de
Keep primary actions in the toolbar
rudrankriyam Jun 24, 2026
54e2c56
Remove redundant secondary copy
rudrankriyam Jun 24, 2026
21da0c4
Align the workspace inspector
rudrankriyam Jun 24, 2026
6d8e7b1
Anchor workspace toolbar controls
rudrankriyam Jun 24, 2026
da21e9e
Remove duplicate empty-library actions
rudrankriyam Jun 24, 2026
c97c4ef
Simplify empty and result states
rudrankriyam Jun 24, 2026
cf41edc
Reveal workflow evidence progressively
rudrankriyam Jun 24, 2026
2a91c34
Tighten validation status copy
rudrankriyam Jun 24, 2026
2fdde42
Merge macOS-only main into redesign
rudrankriyam Jun 24, 2026
42baa6f
Isolate real-model contract tests
rudrankriyam Jun 24, 2026
a3de574
Keep restored sidebar selections visible
rudrankriyam Jun 24, 2026
1fc8dee
Present device evidence statuses clearly
rudrankriyam Jun 24, 2026
fed5a26
Preserve diarization media during replacement
rudrankriyam Jun 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 132 additions & 0 deletions .impeccable/design.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
{
"schemaVersion": 2,
"generatedAt": "2026-06-24T04:56:51Z",
"title": "Design System: Core AI Lab",
"extensions": {
"colorMeta": {
"system-blue": {
"role": "primary",
"displayName": "System Blue",
"tonalRamp": ["#EAF3FF", "#8FC2FF", "#007AFF", "#0057B8", "#003A7A"]
},
"system-green": {
"role": "success",
"displayName": "System Green",
"tonalRamp": ["#EAF9EE", "#91E3A5", "#34C759", "#248A3D", "#176128"]
},
"system-orange": {
"role": "warning",
"displayName": "System Orange",
"tonalRamp": ["#FFF4E5", "#FFD08A", "#FF9500", "#B56900", "#7A4700"]
},
"system-red": {
"role": "destructive",
"displayName": "System Red",
"tonalRamp": ["#FFECEC", "#FF9C99", "#FF3B30", "#C5221F", "#7F1715"]
},
"on-accent": {
"role": "on-primary",
"displayName": "On Accent"
}
},
"typographyMeta": {
"title": {
"displayName": "System Title",
"purpose": "Navigation and workspace identity; use SwiftUI semantic title styles at runtime."
},
"body": {
"displayName": "System Body",
"purpose": "Controls, instructions, results, and user-authored content."
},
"technical": {
"displayName": "Technical Mono",
"purpose": "Commands, hashes, paths, identifiers, shapes, and numeric evidence."
}
},
"shadows": [],
"motion": [
{
"name": "system-state-change",
"value": "platform-default",
"purpose": "Use SwiftUI's restrained state transitions and honor Reduce Motion."
}
],
"breakpoints": []
},
"components": [
{
"name": "Primary Action",
"kind": "button",
"refersTo": "button-primary",
"description": "The single prominent action in a workflow, mirroring SwiftUI borderedProminent styling.",
"html": "<button class=\"ds-primary-action\">Run Function</button>",
"css": ".ds-primary-action { appearance: none; border: 0; border-radius: 8px; padding: 8px 14px; background: #007AFF; color: #FFFFFF; font: 600 14px/1.25 -apple-system, BlinkMacSystemFont, sans-serif; transition: filter 140ms ease, transform 140ms ease; } .ds-primary-action:hover { filter: brightness(1.06); } .ds-primary-action:active { transform: scale(0.98); } .ds-primary-action:focus-visible { outline: 3px solid rgba(0,122,255,0.35); outline-offset: 2px; }"
},
{
"name": "Secondary Action",
"kind": "button",
"description": "A supporting action with standard system prominence.",
"html": "<button class=\"ds-secondary-action\">Choose Model</button>",
"css": ".ds-secondary-action { appearance: none; border: 1px solid rgba(60,60,67,0.24); border-radius: 8px; padding: 7px 13px; background: rgba(118,118,128,0.12); color: #1D1D1F; font: 500 14px/1.25 -apple-system, BlinkMacSystemFont, sans-serif; transition: background 140ms ease, transform 140ms ease; } .ds-secondary-action:hover { background: rgba(118,118,128,0.18); } .ds-secondary-action:active { transform: scale(0.98); } .ds-secondary-action:focus-visible { outline: 3px solid rgba(0,122,255,0.35); outline-offset: 2px; }"
},
{
"name": "Search Field",
"kind": "input",
"description": "Native-feeling search for libraries and registries.",
"html": "<label class=\"ds-search\"><span aria-hidden=\"true\">⌕</span><input type=\"search\" placeholder=\"Search models\"></label>",
"css": ".ds-search { display: inline-flex; align-items: center; gap: 7px; width: 280px; border-radius: 8px; padding: 7px 10px; background: rgba(118,118,128,0.12); color: rgba(60,60,67,0.65); font: 400 14px/1.25 -apple-system, BlinkMacSystemFont, sans-serif; } .ds-search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; color: #1D1D1F; font: inherit; } .ds-search:focus-within { box-shadow: 0 0 0 3px rgba(0,122,255,0.28); }"
},
{
"name": "Sidebar Destination",
"kind": "nav",
"description": "A concise system-symbol destination row with a selected state.",
"html": "<nav class=\"ds-sidebar\"><button class=\"ds-sidebar-row ds-selected\"><span aria-hidden=\"true\">◇</span><span>Apple Models</span></button><button class=\"ds-sidebar-row\"><span aria-hidden=\"true\">ƒ</span><span>Function Workbench</span></button></nav>",
"css": ".ds-sidebar { display: grid; gap: 2px; width: 240px; font: 500 14px/1.25 -apple-system, BlinkMacSystemFont, sans-serif; } .ds-sidebar-row { display: flex; align-items: center; gap: 8px; border: 0; border-radius: 7px; padding: 7px 9px; background: transparent; color: #1D1D1F; text-align: left; } .ds-sidebar-row:hover { background: rgba(118,118,128,0.10); } .ds-sidebar-row.ds-selected { background: #007AFF; color: #FFFFFF; } .ds-sidebar-row:focus-visible { outline: 3px solid rgba(0,122,255,0.35); outline-offset: 1px; }"
},
{
"name": "Evidence Section",
"kind": "custom",
"description": "A grouped, flat evidence surface using labels and selectable technical values.",
"html": "<section class=\"ds-evidence\"><h3>Integrity</h3><dl><div><dt>SHA-256</dt><dd>0f4e…a819</dd></div><div><dt>Stored size</dt><dd>428 MB</dd></div></dl></section>",
"css": ".ds-evidence { width: 360px; color: #1D1D1F; font: 400 14px/1.35 -apple-system, BlinkMacSystemFont, sans-serif; } .ds-evidence h3 { margin: 0 0 7px; color: rgba(60,60,67,0.72); font-size: 12px; font-weight: 600; text-transform: uppercase; } .ds-evidence dl { margin: 0; overflow: hidden; border: 1px solid rgba(60,60,67,0.16); border-radius: 10px; background: rgba(255,255,255,0.9); } .ds-evidence dl div { display: flex; justify-content: space-between; gap: 20px; padding: 10px 12px; } .ds-evidence dl div + div { border-top: 1px solid rgba(60,60,67,0.12); } .ds-evidence dt { color: rgba(60,60,67,0.72); } .ds-evidence dd { margin: 0; font-family: ui-monospace, SFMono-Regular, monospace; }"
}
],
"narrative": {
"northStar": "The Native Instrument",
"overview": "Core AI Lab is calm at rest, exact when interrogated, and candid about what it knows. It uses standard platform structure so technical evidence—not ornamental interface chrome—holds attention. Every workspace moves from orientation through preparation and action to observable, verifiable results.",
"keyCharacteristics": [
"Native and platform-adaptive",
"Evidence-led rather than decorative",
"Progressive disclosure for technical density",
"Explicit prerequisites, progress, cancellation, and failure",
"Keyboard and VoiceOver accessible"
],
"rules": [
{
"name": "The One Accent Rule",
"body": "Use one prominent blue action per workflow; supporting actions retain standard prominence.",
"section": "colors"
},
{
"name": "The Semantic Type Rule",
"body": "Use SwiftUI semantic styles and let Dynamic Type determine runtime size.",
"section": "typography"
},
{
"name": "The Platform Depth Rule",
"body": "If SwiftUI already communicates the layer, do not add another shadow, blur, stroke, or floating container.",
"section": "elevation"
}
],
"dos": [
"Do start each workspace with purpose, current state, and the next meaningful action.",
"Do keep evidence precise, selectable, and visually subordinate to the current task.",
"Do pair status color with text and a familiar symbol."
],
"donts": [
"Don't build generic card grids or prompt-first chat surfaces.",
"Don't add ornamental glass, neon gradients, or unexplained status lights.",
"Don't claim execution placement, performance, or cache benefit without evidence."
]
}
}
4 changes: 4 additions & 0 deletions CoreAIFrameworkLab.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@
3E682C6B70D19395DAFE10A1 /* CoreAIFunctionValueKind.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB04F943311AA32BBCD7E95D /* CoreAIFunctionValueKind.swift */; };
3E7EA385F765D82D1650E92C /* CoreAIRuntimeMetricEvidence.swift in Sources */ = {isa = PBXBuildFile; fileRef = D0877E38482D768EC4F68D71 /* CoreAIRuntimeMetricEvidence.swift */; };
3F0C34F96B21DE35BE1E9A04 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E7FB5157DD183D55DA2447D /* ContentView.swift */; };
8FCF2AB32FEBA26500094256 /* CoreAIWorkspaceInspectorView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FCF2AB22FEBA26500094256 /* CoreAIWorkspaceInspectorView.swift */; };
3FBBF65C7E3750853D7CA39C /* CoreAISwiftPackageGenerator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 18EDE7C13B56DD6321F3DFE0 /* CoreAISwiftPackageGenerator.swift */; };
3F78820211A431FF3EC16D78 /* CoreAIProjectSpecializationCacheView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 536A6790D1F0EFB21CEDC33D /* CoreAIProjectSpecializationCacheView.swift */; };
405EB3C4D141B116DE4EF121 /* CoreAIFunctionRunResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68CCDF520342FD26442812A9 /* CoreAIFunctionRunResult.swift */; };
Expand Down Expand Up @@ -591,6 +592,7 @@
0E0BDACAD345692BD0CF2CD0 /* CoreAINECompatibilityCheck.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAINECompatibilityCheck.swift; sourceTree = "<group>"; };
0E13A77B8F8BA388C8EA12A9 /* CoreAIProjectRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAIProjectRoute.swift; sourceTree = "<group>"; };
0E7FB5157DD183D55DA2447D /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
8FCF2AB22FEBA26500094256 /* CoreAIWorkspaceInspectorView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAIWorkspaceInspectorView.swift; sourceTree = "<group>"; };
0EA900D41D26D5440F5B873D /* AppleModelLibraryModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleModelLibraryModel.swift; sourceTree = "<group>"; };
0F3153C86C4BB1C0F56A8514 /* CoreAIRuntimeLifecycleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAIRuntimeLifecycleView.swift; sourceTree = "<group>"; };
0F5B304A4D84B06BFE71C5A8 /* CoreAIPipelineCodec.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreAIPipelineCodec.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -1580,6 +1582,7 @@
isa = PBXGroup;
children = (
0E7FB5157DD183D55DA2447D /* ContentView.swift */,
8FCF2AB22FEBA26500094256 /* CoreAIWorkspaceInspectorView.swift */,
7716B246D5E600F1622AB1D5 /* Core AI Lab.icon */,
21EF809F4325A5DED84D6974 /* CoreAILabApp.swift */,
3865FA28608466F39B8B3251 /* CoreAILabSection.swift */,
Expand Down Expand Up @@ -2143,6 +2146,7 @@
27368950A09746EC0B06C643 /* ChatterboxWorkspaceModel.swift in Sources */,
862DF4D00DCD7711215B7B2F /* ChatterboxWorkspaceView.swift in Sources */,
3F0C34F96B21DE35BE1E9A04 /* ContentView.swift in Sources */,
8FCF2AB32FEBA26500094256 /* CoreAIWorkspaceInspectorView.swift in Sources */,
D236381C42FD8790C405E461 /* CoreAIAheadOfTimeCompileScriptGenerator.swift in Sources */,
3CF411188EC9E73089394377 /* CoreAIArtifactDigest.swift in Sources */,
5F9C403770360C83B2236A22 /* CoreAIArtifactDigesting.swift in Sources */,
Expand Down
107 changes: 97 additions & 10 deletions CoreAILab/ContentView.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,64 @@ import SwiftData
import SwiftUI

struct ContentView: View {
@State private var selection: CoreAILabSection? = .projects
@SceneStorage("CoreAILab.selectedSection")
private var selectedSectionRawValue = CoreAILabSection.projects.rawValue

@SceneStorage("CoreAILab.isWorkspaceInspectorPresented")
private var isWorkspaceInspectorPresented = false

@State private var columnVisibility: NavigationSplitViewVisibility = .all

var body: some View {
NavigationSplitView {
List(selection: $selection) {
Section("Workspaces") {
ForEach(CoreAILabSection.workspaces) { section in
NavigationSplitView(columnVisibility: $columnVisibility) {
List(selection: selectedSectionBinding) {
Section("Library") {
ForEach(CoreAILabSection.library) { section in
NavigationLink(value: section) {
Label(section.title, systemImage: section.systemImage)
}
.help(section.summary)
.accessibilityHint(section.summary)
}
}

Section("Build") {
ForEach(CoreAILabSection.build) { section in
NavigationLink(value: section) {
Label(section.title, systemImage: section.systemImage)
}
.help(section.summary)
.accessibilityHint(section.summary)
}
}

Section("Tools") {
ForEach(CoreAILabSection.tools) { section in
Section("Run") {
ForEach(CoreAILabSection.run) { section in
NavigationLink(value: section) {
Label(section.title, systemImage: section.systemImage)
}
.help(section.summary)
.accessibilityHint(section.summary)
}
}

Section("Validate") {
ForEach(CoreAILabSection.validate) { section in
NavigationLink(value: section) {
Label(section.title, systemImage: section.systemImage)
}
.help(section.summary)
.accessibilityHint(section.summary)
}
}
}
.navigationTitle("Core AI Lab")
.navigationSplitViewColumnWidth(min: 190, ideal: 220, max: 280)
.listStyle(.sidebar)
.navigationSplitViewColumnWidth(min: 200, ideal: 240, max: 280)
#if os(macOS)
.toolbar(removing: .sidebarToggle)
#endif
} detail: {
switch selection ?? .projects {
switch selectedSection {
case .projects:
CoreAIProjectLibraryView()
case .appleModels:
Expand Down Expand Up @@ -54,6 +87,60 @@ struct ContentView: View {
}
}
.navigationSplitViewStyle(.prominentDetail)
.formStyle(.grouped)
.tint(.blue)
.inspector(isPresented: $isWorkspaceInspectorPresented) {
CoreAIWorkspaceInspectorView(section: selectedSection)
}
.toolbar {
#if os(macOS)
ToolbarItem(placement: .navigation) {
Button(
"Toggle Sidebar",
systemImage: "sidebar.leading",
action: toggleSidebar
)
.help("Show or hide the workspace sidebar")
.keyboardShortcut("s", modifiers: [.command, .control])
}
#endif

ToolbarItem(placement: .primaryAction) {
Button(
"Workspace Inspector",
systemImage: "sidebar.trailing",
action: toggleWorkspaceInspector
)
.help("Show the selected workspace's workflow and evidence boundary")
#if os(macOS)
.keyboardShortcut("0", modifiers: [.command, .option])
#endif
}
}
#if os(macOS)
.frame(minWidth: 1_000, minHeight: 680)
#endif
}

private func toggleWorkspaceInspector() {
isWorkspaceInspectorPresented.toggle()
}

private var selectedSection: CoreAILabSection {
CoreAILabSection(rawValue: selectedSectionRawValue) ?? .projects
}

private var selectedSectionBinding: Binding<CoreAILabSection?> {
Binding(
get: { selectedSection },
set: { selectedSectionRawValue = ($0 ?? .projects).rawValue }
)
}

private func toggleSidebar() {
withAnimation {
columnVisibility = columnVisibility == .detailOnly ? .all : .detailOnly
}
}
}

Expand Down
3 changes: 3 additions & 0 deletions CoreAILab/CoreAILabApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,8 @@ struct CoreAILabApp: App {
ContentView()
}
.modelContainer(modelContainer)
#if os(macOS)
.defaultSize(width: 1_280, height: 820)
#endif
}
}
Loading
Loading