mesh-avatar-studio
Turn one illustration into an animated 2D mesh avatar with a coding agent and a local editor
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證A macOS app that automates 3D model reconstruction from photos. Process multiple photo sets with various quality settings into meshes and splats on a schedule.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Reality Pulse is a macOS photogrammetry queue for Apple Object Capture. It turns folders of photos into USDZ 3D models with a SwiftUI batch interface, RealityKit reconstruction settings, scheduled processing windows, SwiftData persistence, and crash-aware retry recovery.
Use it when you have many capture sets to reconstruct and want a local Apple Object Capture workflow that can run overnight, survive relaunches, keep completed history, and export multiple quality levels from one job.檢視完整 README ↗Reality Pulse is a macOS photogrammetry queue for Apple Object Capture. It turns folders of photos into USDZ 3D models with a SwiftUI batch interface, RealityKit reconstruction settings, scheduled processing windows, SwiftData persistence, and crash-aware retry recovery.
Use it when you have many capture sets to reconstruct and want a local Apple Object Capture workflow that can run overnight, survive relaunches, keep completed history, and export multiple quality levels from one job.
Apple Object Capture is powerful, but running one folder at a time is tedious when you are scanning products, props, archive objects, handmade pieces, or environment assets. Reality Pulse wraps PhotogrammetrySession in a persistent queue so you can prepare a batch, choose output quality, and let the Mac process the work in order.
.usdz models per job..usdz file as a job to convert it to glTF, glb, or Gaussian Splat (.ply) without reconstructing..ply, or a Text Sculpture .glb that rebuilds the model out of your own words (readable rings of text or a cloud of letters, any script, colored by the model's texture or a single ink).Reality Pulse restores the queue on launch, but it does not automatically start processing after a relaunch. The user stays in control.
PhotogrammetrySessionClone the repo and build the macOS app:
git clone https://github.com/nuit-dhiver/reality-pulse.git
cd reality-pulse
xcodebuild -project RealityPulse.xcodeproj \
-scheme RealityPulse \
-configuration Debug \
-destination 'platform=macOS' \
build
You can also open RealityPulse.xcodeproj in Xcode and build the RealityPulse scheme.
Run the persistence and scheduler-focused test suite with:
xcodebuild -project RealityPulse.xcodeproj \
-scheme RealityPulse \
-configuration Debug \
-destination 'platform=macOS' \
test
The current tests cover SwiftData persistence, schedule reloads, launch recovery, interrupted jobs, retry behavior, and one-time legacy JSON migration.
Releases are driven by Git tags. To publish a new GitHub Release:
git tag v1.1.0
git push origin v1.1.0
The release workflow builds Reality Pulse.app in Release configuration, runs the test suite, packages the app as a zip, writes a SHA-256 checksum, and attaches both files to the GitHub Release.
The current release artifact is ad-hoc signed for local/open-source distribution, not notarized.
Bump the version before tagging or uploading to App Store Connect. Every command except show also increments the build number, which App Store Connect requires to increase with each upload:
scripts/bump-version.sh patch
Use show, build, patch, minor, major, or set 1.4.0.
The app target is sandboxed (com.apple.security.files.user-selected.read-write only), ships a privacy manifest (PrivacyInfo.xcprivacy), and declares ITSAppUsesNonExemptEncryption = NO. The bundle identifier is com.openmuseum.realitypulse. The privacy policy is in PRIVACY.md.
The Mac App Store build workflow (.github/workflows/app-store.yml) is started manually from the Actions tab. It runs the tests, archives, signs, and exports the .pkg using scripts/ExportOptions.plist. With upload unticked it's a dry run that attaches the signed package as an artifact; ticked, it also uploads the build to App Store Connect for TestFlight and review.
One-time setup after joining the Apple Developer Program:
com.openmuseum.realitypulse and the app record in App Store Connect..p12.Reality Pulse Mac App Store.APPLE_TEAM_ID and the secrets SIGNING_CERTIFICATES_P12 (base64 -i certificates.p12 | pbcopy), SIGNING_CERTIFICATES_PASSWORD, ASC_KEY_ID, ASC_ISSUER_ID, and ASC_PRIVATE_KEY (the .p8 file contents).Run scripts/bump-version.sh before each upload; App Store Connect rejects a build number it has already seen.
The app is designed for folders of still images supported by Apple Object Capture. Image metadata is inspected where available so the UI can enable bounding-box related options only when the capture set supports them.
Each requested detail level writes a separate USDZ file named:
<model-name>-<detail-level>.usdz
For example, a model named Vase with medium and raw outputs produces:
Vase-medium.usdz
Vase-raw.usdz
Scheduling controls are intentionally conservative:
PhotogrammetrySession does not support pausing an in-progress requestReality Pulse stores jobs and schedule settings with SwiftData. On launch it:
interruptedWhen retrying an interrupted multi-output job, previously completed outputs are skipped only if the app recorded their completion and the file still exists. Existing files without a recorded completion are treated as stale partial outputs and replaced before retrying.
ObjectCaptureReconstructionApp: creates the SwiftData model container and main SwiftUI window.ContentView: owns the app model and routes between the queue dashboard and processing views.AppDataModel: central UI/application state.JobScheduler: sequential queue processor, schedule enforcement, sleep prevention, notifications, and retry recovery.JobStore: SwiftData-backed persistence API for jobs, schedule settings, and legacy JSON migration.ReconstructionJob: app-facing value model for input/output folders, Object Capture settings, progress, status, and completed outputs.Settings/: SwiftUI controls for folder selection and PhotogrammetrySession.Configuration.Processing/: progress display and USDZ preview with RealityKit.See docs/ARCHITECTURE.md for a deeper code map and CONTRIBUTING.md for development conventions and test commands.
Recommended repository topics:
apple-object-capture, photogrammetry, macos, swiftui, swiftdata, realitykit, usdz, 3d-reconstruction, object-capture, batch-processing
These topics help developers find the project when searching for SwiftUI photogrammetry tools, RealityKit Object Capture examples, macOS USDZ exporters, and batch 3D reconstruction workflows.
This project is licensed under the MIT License. It also contains components originally provided by Apple Inc. under the MIT License. See LICENSE for the full license text, including the Apple notice.