Repository navigation
chore: add iOS, server and web toolchains with CI - #2
Conversation
Gives each part of the plan in docs/02 a starting point that builds and is checked on every pull request: - ios/: native Swift app (XcodeGen project, committed) that runs ARKit world tracking without requiring LiDAR and shows tracking status. Signing comes from ios/Config/Local.xcconfig. CI "iOS build" builds it with Xcode 26.6 on macos-26 and fails when the committed project differs from an XcodeGen 2.46.0 generation. - server/: uv project for the FastAPI server lanes B and C will fill, starting with units.py (meters to feet and inches). CI "Server checks". - web/: Vite, React and TypeScript for the reviewer view and zero-install capture experiments. CI "Web checks". - sites/landing: submodule for SamGu-NRX/house-scanning-landing. - .github: label manifest, PR template, label sync and PR size workflows, with actions pinned by commit SHA. - Makefile, CONTRIBUTING.md, experiments/README.md, an AGENTS.md section on working in the repo, and .gitignore entries for data/ and .local/. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 39 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (3)
📒 Files selected for processing (47)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Note Review skipped Codemetrics is installed on this repository, but it hasn't been added to your team yet. To enable AI code reviews for this repo, go to your dashboard and add house-scanning to your team's repositories. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
* Sync a1-classical breadth work from the Project store (no result file yet) * Sync a1-classical breadth work from the Project store (result file A1-classical.md)
What changed
Each part of the plan in
docs/02-implementation-plan.mdnow has a starting point that builds, and a pull request that touches it runs a check.ios/holds a native Swift app. It runs ARKit world tracking without requiring LiDAR and shows the tracking state and the number of detected planes. XcodeGen generates the project fromios/project.yml, and the generated project is committed so teammates can open it without XcodeGen. Signing comes fromios/Config/Local.xcconfig, so nobody edits the project file to pick a team.server/is a uv project for the FastAPI server that lanes B and C fill in. It starts with one shared module,units.py, which converts ARKit's meters to the feet and inches thatscene.jsonand the rules use.web/is a Vite, React and TypeScript toolchain for the reviewer view (D7) and zero-install capture experiments, with the same conversions insrc/lib/units.ts.sites/landingis a submodule pointing at SamGu-NRX/house-scanning-landing, where the landing page lives..githubgets the label manifest, the PR template, and workflows that sync labels and label PR size. Every third-party action is pinned to a commit SHA.make checkruns all three suites.CONTRIBUTING.mdcovers branches, the public-data rules and the checks.AGENTS.mdgains a section on working in the repo, andexperiments/README.mdsets the layout for agent-run experiments.A Vercel project,
house-scanning-web, now buildsweb/for every push that changes it, and its ignore step skips the rest. It installs throughcorepack pnpm, because Vercel's own corepack check reads the repository root, which has nopackage.json. This branch's preview is https://house-scanning-nb9fnnusn-sam-gus-projects-7a4b6082.vercel.app. Vercel Authentication is on for the account, so the preview asks for a Vercel login.scene.jsonandfixtures/fake-01are not in this PR, because a teammate owns them.Why native Swift for the capture app
docs/00-overview.mdchose native Swift, andAGENTS.mdleft Expo open. The capture needs camera frames with pose and intrinsics, raycasts, mesh export on LiDAR phones and on-device text recognition for the meter label. Expo has no ARKit module, so that code would be Swift in a native module either way. Expo Go can't load a custom module, so the team would also run development builds and bridge tracking updates into JavaScript, with no gain for the capture. An App Clip, the way to reach iPhone owners without an install, must stay under 15 MB when opened from a QR code, which a Swift clip meets easily. Android users can get AR through Chrome's WebXR, whichweb/can host. If the team keeps Expo for screens without AR, it can live besideios/.Verification
make checkpasses locally: 36 pytest tests; Biome, tsc, 30 Vitest tests and the Vite build; andxcodebuildfor a generic iOS device on Xcode 27.0 with no Swift warnings.ios/, which is what the CI drift check tests.actionlintreports nothing on the five workflows.tsc -bandvite build.round()fails 5 tests, and truncating fails 8. Replacing rounding with floor in the web module fails 3.macos-26, runs only in CI.Risk
project.pbxprojand fails the drift check.ios/README.mdandAGENTS.mdpoint people toLocal.xcconfiginstead.Checklist
🤖 Generated with Claude Code