4 Commits

Author SHA1 Message Date
phranck b3d563040a Feat: Add Image view with ASCII art rendering, bracketed paste, and input filtering
- Add Image view rendering local files and URLs as colored ASCII art
- Add CSTBImage C target wrapping stb_image for cross-platform image decoding
- Add ASCIIConverter with block, ASCII, and braille character sets
- Support trueColor, ANSI-256, grayscale, and mono color modes
- Add Floyd-Steinberg dithering for improved visual quality
- Add async image loading with URLImageCache for URL sources
- Add bracketed paste mode for bulk text insertion in text fields
- Add TextContentType modifier for input character filtering
- Add ContentMode enum and aspectRatio(_:contentMode:) View modifier
- Add text-input priority in key dispatch to prevent shortcut conflicts
- Add Image (File) and Image (URL) demo pages to example app
- Update DocC documentation with new symbols and layout table
2026-02-14 00:43:22 +01:00
phranck 242d305801 update Github banner 2026-01-30 22:37:27 +01:00
phranck 34cfa447b9 feat: Integrate SwiftLint as build plugin with project-wide autofix
- Add SwiftLintPlugins (v0.58.2+) dependency to Package.swift
- Add SwiftLintBuildToolPlugin to TUIKit and TUIKitExample targets
- Create .swiftlint.yml with ~30 opt-in rules and project-specific limits
- Apply swiftlint --fix across all sources (~200+ trailing whitespace,
  ~80 prefer_self_in_static_references, ~15 trailing_newline,
  ~10 trailing_comma, ~5 redundant_type_annotation, ~4 modifier_order,
  ~4 shorthand_optional_binding)
- Fix for_where violations in KeyEvent.swift and App.swift
- Fix empty_string violation in RenderingTests.swift
- Add targeted swiftlint:disable for ViewBuilder patterns (large_tuple,
  function_parameter_count) and StatusBarTests (file_length)
- Configure exclusions: discouraged_none_name, nesting, fatal_error_message
- Result: 0 warnings, 0 errors, 210/210 tests passing
2026-01-30 14:23:05 +01:00
phranck c66a53de66 feat: Replace all documentation with DocC + GitHub Pages deployment
- Remove old VitePress, MkDocs, and legacy DocC workflows and files
- Add swift-docc-plugin dependency to Package.swift
- Create DocC catalog at Sources/TUIKit/TUIKit.docc/ with:
  - Main landing page with full API topic organization
  - Getting Started guide
  - Architecture overview
  - State Management guide
  - Theming guide
- Add GitHub Actions workflow for DocC → GitHub Pages (macos-15)
- CNAME for tuikit.layered.work injected during CI build
- Clean up .gitignore (remove MkDocs/VitePress entries, add docs-output/)
2026-01-30 07:41:53 +01:00