ವಿಷಯಕ್ಕೆ ಹೋಗಿ

ವಾಸ್ತುಶಿಲ್ಪ

bae ನಾಲ್ಕು native ಆಪ್‌ಗಳನ್ನು ಧರಿಸಿರುವ ಒಂದು Rust core. ಉತ್ಪನ್ನ, ಗ್ರಂಥಾಲಯ ಮಾದರಿ, ಆಮದು, ಪ್ಲೇಬ್ಯಾಕ್, ಸಮನ್ವಯ, ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಎಲ್ಲವೂ Rust ನಲ್ಲಿ ಇರುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ವೇದಿಕೆಯಲ್ಲಿ ಒಂದೇ ರೀತಿಯಾಗಿ ವರ್ತಿಸುತ್ತದೆ; ಪ್ರತಿಯೊಂದು ಆಪ್ ಅದರ ಮೇಲಿರುವ ತೆಳುವಾದ native UI.

  • bae-core: ಉತ್ಪನ್ನ. ಗ್ರಂಥಾಲಯ ಮತ್ತು ಮೆಟಾಡೇಟಾ ಮಾದರಿ, ಆಮದು ಮತ್ತು ಗುರುತಿಸುವ ಪೈಪ್‌ಲೈನ್‌ಗಳು, FFmpeg ಪ್ಲೇಬ್ಯಾಕ್ ಎಂಜಿನ್, loudness ವಿಶ್ಲೇಷಣೆ, ರಫ್ತು, ಮತ್ತು ಕೆಳಗಿನ coven ಜೊತೆ ಸಂಪರ್ಕ. ಆಮದು ಮತ್ತು ಗುರುತಿಸುವಿಕೆ ಡೆಸ್ಕ್‌ಟಾಪ್‌ನಲ್ಲಿ ಮಾತ್ರ compile ಆಗುತ್ತವೆ; mobile builds ಸಮನ್ವಯ ಮತ್ತು ಪ್ಲೇಬ್ಯಾಕ್ ಕ್ಲೈಂಟ್‌ಗಳು.
  • coven: ದತ್ತಾಂಶ ಪದರ, ಪ್ರತ್ಯೇಕ ಗ್ರಂಥಾಲಯ. coven SQLite ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿದೆ, bae commit ಮಾಡುವ ಪ್ರತಿಯೊಂದು ಬದಲಾವಣೆಯನ್ನು ಹಿಡಿಯುತ್ತದೆ, ಮತ್ತು ಆ ಬದಲಾವಣೆಗಳನ್ನು ಬಳಕೆದಾರನ ಮೇಘ ಸಂಗ್ರಹದ ಮೂಲಕ end-to-end encrypted ಆಗಿ ಸಮನ್ವಯಗೊಳಿಸುತ್ತದೆ. ಅದು blob ಸಂಗ್ರಹ (ಆಡಿಯೋ ಬೈಟ್‌ಗಳು, ಕಲೆಚಿತ್ರ), ಸ್ಥಳೀಯ ಕ್ಯಾಶ್, ಗುರುತು ಕೀಗಳು, ಮತ್ತು ಸದಸ್ಯತ್ವವನ್ನೂ ಹೊಂದಿದೆ. bae ನಿಖರ coven revision ಅನ್ನು pin ಮಾಡಿ ಪ್ರತಿಯೊಂದು binary ಯಲ್ಲಿ stamp ಮಾಡುತ್ತದೆ; ಅದು builds ನಡುವಿನ ಸಮನ್ವಯ-ಹೊಂದಾಣಿಕೆಯ ತಲೆಮಾರನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
  • bae-bridge: UniFFI ಗಡಿ. Bridge types Rust ನಲ್ಲಿ ಒಮ್ಮೆ ವ್ಯಾಖ್ಯಾನಗೊಂಡು ಕಟ್ಟುವ ಸಮಯ ನಲ್ಲಿ Swift ಮತ್ತು Kotlin ಗೆ ಸೃಜಿಸು ಆಗುತ್ತವೆ.
  • ಆಪ್‌ಗಳು: macOS ಮತ್ತು iOS ನಲ್ಲಿ SwiftUI, Android ನಲ್ಲಿ Jetpack Compose, ಮತ್ತು native Windows ಆಪ್. ಪ್ರತಿಯೊಂದೂ core ಕೇಳುವ ವೇದಿಕೆ ಭಾಗಗಳನ್ನು ಕೂಡ ಅನುಷ್ಠಾನಗೊಳಿಸುತ್ತದೆ: ಆಡಿಯೋ ಔಟ್‌ಪುಟ್, ಕಲೆಚಿತ್ರ ಪಠ್ಯ ಗುರುತಿಸುವಿಕೆ, media controls, ಕೀ ಸಂಗ್ರಹ ಪ್ರವೇಶ, crash reporting.

ಆಪ್‌ಗಳ ಜೊತೆಗೆ: bae-mcp (MCP ಸರ್ವರ್), bae-cli (ಆಜ್ಞಾ ಸಾಲು), ಮತ್ತು bae-automation (ಎರಡೂ ಬಳಸುವ ಹಂಚಿದ ಸಾಧನ ಪದರ).

Disk ಮೇಲೆ ಒಂದು ಗ್ರಂಥಾಲಯ

ಈ ವಿಭಾಗಕ್ಕೆ ಲಿಂಕ್

ಗ್ರಂಥಾಲಯ ~/.bae/libraries/<library-id>/ ನಲ್ಲಿ ಇರುತ್ತದೆ (mobile ನಲ್ಲಿ ವೇದಿಕೆಯ ದತ್ತಾಂಶ ಕಡತಕೋಶ):

~/.bae/libraries/<id>/
library.db # SQLite: catalog, credits, playback specs
config.yaml # device-local settings, never synced
storage/
local/ # blobs this device owns (covers, artist images)
cache/ # evictable copies of cloud blobs
pinned/ # pinned-for-offline copies, never evicted

ಡೇಟಾಬೇಸ್ coven ಮೂಲಕ ಮಾತ್ರ ತೆರೆಯಲ್ಪಡುತ್ತದೆ; ಅದು ತನ್ನದೇ bookkeeping ಪಟ್ಟಿಗಳನ್ನು (ಸಮನ್ವಯ cursors, outbox, blob ಸ್ಥಿತಿ) bae ರೂಪರಚನೆ ಪಕ್ಕದಲ್ಲಿ ಪದರಗೊಳಿಸುತ್ತದೆ ಮತ್ತು bae migrations ಓಡಿಸುತ್ತದೆ. ಅನಿರ್ವಹಿತವಾಗಿ ಆಮದು ಮಾಡಿದ ಆಡಿಯೋ ಕಡತಗಳು ~/.bae ಅಡಿಯಲ್ಲಿ ಇರುವುದಿಲ್ಲ: ಡೇಟಾಬೇಸ್ ಅವು ಆಮದು ಆದ ಮಾರ್ಗಗಳನ್ನು ಉಲ್ಲೇಖಿಸುತ್ತದೆ.

ರಹಸ್ಯಗಳು ಈ ಕಡತಗಳಲ್ಲಿ ಎಂದಿಗೂ ಇರುವುದಿಲ್ಲ. ಗುರುತು ಕೀಗಳು, ಗ್ರಂಥಾಲಯದ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕೀ, ಮೇಘ ಪ್ರಮಾಣಪತ್ರಗಳು, ಮತ್ತು API token ಗಳು OS ಕೀ ಸಂಗ್ರಹ ನಲ್ಲಿ ಇರುತ್ತವೆ (Apple ವೇದಿಕೆಗಳಲ್ಲಿ Keychain, iCloud Keychain ಮೂಲಕ ಸಮನ್ವಯಿತ; ಬೇರೆಡೆ ವೇದಿಕೆಯ ಸಮಾನ ವ್ಯವಸ್ಥೆಗಳು).

ಪ್ರತಿಯೊಂದು ವೇದಿಕೆಯಲ್ಲಿ ಎರಡು ಕಟ್ಟುವ-ಸಮಯ ಆವೃತ್ತಿಗಳು ಇವೆ. bae OAuth ಒದಗಿಸುವವರು (Google Drive, Dropbox, OneDrive), CloudKit, ಮತ್ತು telemetry ಅನ್ನು ಸೇರಿಸಿ compile ಮಾಡುತ್ತದೆ. baeium ಅದನ್ನೆಲ್ಲ ಹೊರತುಪಡಿಸಿ compile ಮಾಡುತ್ತದೆ: S3-compatible ಸಂಗ್ರಹ ಮಾತ್ರ, telemetry ಇಲ್ಲ, dependency tree ನಲ್ಲಿ proprietary ಏನೂ ಇಲ್ಲ. ಆವೃತ್ತಿಗಳು ಒಂದೇ ಮೂಲ ಮತ್ತು ಒಂದೇ core; feature flag ಒದಗಿಸುವವರ ಪಟ್ಟಿ ಮತ್ತು diagnostics wiring ನಿರ್ಧರಿಸುತ್ತದೆ.

ಆವೃತ್ತಿ ಸಂಖ್ಯೆ

ಈ ವಿಭಾಗಕ್ಕೆ ಲಿಂಕ್

ಆಪ್‌ಗಳು ಪ್ರತಿ ವೇದಿಕೆಯಲ್ಲಿ MAJOR.MINOR ಆಗಿ ಆವೃತ್ತಿಗೊಳ್ಳುತ್ತವೆ. major ಹೊಂದಾಣಿಕೆಯ ಯುಗ, ಪ್ರತಿಯೊಂದು ಆಪ್ ಹಂಚಿಕೊಳ್ಳುವುದು: ಅದೇ major ಇರುವ ಸಾಧನಗಳು ಗ್ರಂಥಾಲಯವನ್ನು ಸಮನ್ವಯಗೊಳಿಸಬಹುದು. wire ಅಥವಾ on-disk ಸ್ವರೂಪ ಮುರಿದಾಗ ಮಾತ್ರ ಅದು ಏರುತ್ತದೆ, ಹೆಚ್ಚಿನದಾಗಿ pinned coven revision ಕಾರಣ. minor ಗಳು ಪ್ರತಿ ಆಪ್‌ನ ಬಿಡುಗಡೆಗಳನ್ನು ಎಣಿಸುತ್ತವೆ ಮತ್ತು ವೇದಿಕೆಗಳ ನಡುವೆ ಹೋಲಿಸಲಾಗುವುದಿಲ್ಲ.