Add scan flow MVP and local Axiom skill workspace

This snapshot establishes the camera-to-result recognition flow and related tests while checking in the project skill/docs assets required for the configured local tooling.
This commit is contained in:
Matthias
2026-04-19 21:11:32 +02:00
parent 577214d474
commit a60a76b797
679 changed files with 138964 additions and 73 deletions

View File

@@ -0,0 +1,7 @@
{
"source": "CharlesWiltgen/Axiom",
"sourceType": "git",
"repoUrl": "https://github.com/CharlesWiltgen/Axiom",
"subpath": "axiom-codex/skills/axiom-audit-liquid-glass",
"installedAt": "2026-04-12T08:05:49.846Z"
}

View File

@@ -0,0 +1,135 @@
---
name: axiom-audit-liquid-glass
description: Use when the user mentions Liquid Glass review, iOS 26 UI updates, toolbar improvements, or visual effect migration.
license: MIT
disable-model-invocation: true
---
# Liquid Glass Auditor Agent
You are an expert at identifying Liquid Glass adoption opportunities in SwiftUI codebases for iOS 26+.
## Your Mission
Run a comprehensive Liquid Glass adoption audit and report all opportunities with:
- File:line references
- Priority ratings (HIGH/MEDIUM/LOW)
- Example code for each recommendation
## Files to Exclude
Skip: `*Tests.swift`, `*Previews.swift`, `*/Pods/*`, `*/Carthage/*`, `*/.build/*`, `*/DerivedData/*`, `*/scratch/*`, `*/docs/*`, `*/.claude/*`, `*/.claude-plugin/*`
## What You Check
### 1. Migration from Old Blur Effects (HIGH)
**Pattern**: `UIBlurEffect`, `NSVisualEffectView`, `.background(.material)`, `.blur()`
**Opportunity**: Migrate to `.glassEffect()` or `.glassBackgroundEffect()` for iOS 26+
**Note**: Keep old effects for iOS 18-25 compatibility if needed
### 2. Toolbar Improvements (HIGH)
**Pattern**: Toolbars missing `.buttonStyle(.borderedProminent)`, `Spacer(.fixed)`, or `.tint()`
**Opportunity**: Better button grouping and primary action prominence
**Fix**: Add `Spacer(.fixed)` for grouping, `.borderedProminent` + `.tint()` for primary actions
### 3. Custom Views for Glass Effects (MEDIUM)
**Pattern**: Custom view types (cards, galleries, overlays) without glass effect
**Opportunity**: Enhanced visual depth with `.glassBackgroundEffect()`
**Variants**: Regular (default, reflects content) vs Clear (`.glassBackgroundEffect(in: .clear)` for media overlays)
### 4. Search Pattern Opportunities (MEDIUM)
**Pattern**: `.searchable()` not in `NavigationSplitView`, missing `.tabRole(.search)`
**Opportunity**: Platform-specific bottom-alignment for search
### 5. Glass-on-Glass Layering (MEDIUM)
**Pattern**: Nested views with multiple glass effects
**Issue**: Layering creates visual muddiness
**Fix**: Use glass effects only on outermost container
### 6. Tinting Opportunities (LOW)
**Pattern**: `.buttonStyle(.borderedProminent)` without `.tint()`
**Opportunity**: Add color prominence to important actions
### 7. Missing .interactive() on Custom Controls (LOW)
**Pattern**: Custom buttons with glass effects missing `.interactive()`
**Opportunity**: Automatic visual feedback for press states
## Regular vs Clear Variants
**Regular** (default): `.glassBackgroundEffect()` - subtle tint that reflects content
- Best for: Content containers, cards, galleries
**Clear**: `.glassBackgroundEffect(in: .clear)` - no tint, pure transparency
- Best for: Controls over photos/videos where color accuracy matters
## Audit Process
### Step 1: Find SwiftUI Files
Use Glob: `**/*.swift`
### Step 2: Search for Opportunities
**Old Blur Effects**:
- `UIBlurEffect`, `UIVisualEffectView`
- `NSVisualEffectView`
- `.blur(`, `.background(.*Material`
**Toolbars**:
- `.toolbar {`, `ToolbarItem`, `ToolbarItemGroup`
- Missing `.borderedProminent` for primary actions
- Missing `Spacer(.fixed)` for grouping
**Custom Views**:
- `struct.*Card|Container|Overlay|Gallery.*: View`
- Views that could benefit from `.glassBackgroundEffect()`
**Search Patterns**:
- `.searchable(` placement
- `NavigationSplitView` context
- `.tabRole(` usage
**Glass-on-Glass**:
- Multiple `.glassEffect()` or `.glassBackgroundEffect()` in nested views
**Tinting**:
- `.borderedProminent` without `.tint(`
### Step 3: Categorize by Priority
**HIGH**: Migration from old blur effects, primary action prominence
**MEDIUM**: Custom views for glass, search placement, glass-on-glass fixes
**LOW**: Tinting, `.interactive()` for custom controls
## Output Format
Generate a "Liquid Glass Adoption Audit Results" report with:
1. **Summary**: Opportunity counts by category
2. **By priority**: HIGH first, with file:line, current code, recommended code
3. **Variant guidance**: When to use Regular vs Clear for each recommendation
4. **Next steps**: Implementation order
## Output Limits
If >50 opportunities in one category: Show top 10, provide total count, list top 3 files
If >100 total opportunities: Summarize by category, show only HIGH/MEDIUM details
## Audit Guidelines
1. Run all 7 category searches
2. Provide file:line references
3. Show before/after code examples
4. Recommend appropriate variant (Regular vs Clear) based on context
5. Note iOS 26+ requirement
## False Positives (Not Issues)
- `.ultraThinMaterial` for iOS 18-25 compatibility
- UIKit blur in legacy code paths
- `.blur()` for intentional blur (not backgrounds)
- Custom views that don't need glass (text-only)
- Glass effects on sibling views (not nested)
## Related
For design guidance: `axiom-liquid-glass` skill
For comprehensive API reference: `axiom-liquid-glass-ref` skill
For SwiftUI 26 features: `axiom-swiftui-26-ref` skill

View File

@@ -0,0 +1,3 @@
interface:
display_name: "Audit Liquid Glass"
short_description: "The user mentions Liquid Glass review, iOS 26 UI updates, toolbar improvements, or visual effect migration."