{"templateId":"openapi_docs","sharedDataIds":{"openAPIDocsStore":"oas-reference/ai_hairstyle.yaml","sidebar":"sidebar-reference/sidebars.yaml"},"props":{"definitionId":"reference/ai_hairstyle.yaml","dynamicMarkdocComponents":[],"baseSlug":"/reference/ai_hairstyle","seo":{"title":"AI Hair Style Virtual Try-On","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"itemId":"","disableAutoScroll":true,"metadata":{"type":"openapi","title":"AI Hair Style Virtual Try-On","description":"# Overview\nUsing the latest AI technology to try a wide variety of hairstyles, catering to both women and men, meeting different gender and style preference.\nDiscover a world of styles: curly, long, buzz cut, and more. Our AI-powered hair changer lets you experiment effortlessly. Find your ideal hairstyle now!\n\n![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/hair_style_v3_poster_bb1c7aad10.jpg)\n\n---\n\n## Integration Guide\n\n* API Playground\nYou can use the API Playground to test the AI Hairstyle Generator feature. This allows you to experiment with your ideas and gain a better understanding of the try-on process.\n\nAccess the API Playground at:\n<https://yce.makeupar.com/api-console/en/api-playground/ai-hair-style-generator/>\n\n---\n\n* API Workflow\nThis guide walks you through:\n\nWorkflow for AI Hairstyle Generator API:\n\n**Endpoint:** `/s2s/v2.1/file/hair-transfer`\n\n**Authentication Required:** `Authorization: Bearer YOUR_API_KEY`\n\n**Workflow Steps:**\n\n1. **Image Upload Preparation:**\n   - The process begins with preparing a selfie.\n\n2. **List predefined templates or using your own reference photo**\n    **Choose Reference Source**\nYou have two options for styling references:\n\n| Option | Use Case | Implementation Tip |\n|-------|-----------|---------------------|\n| **Predefined Templates** (`template_id`) | Quick start (e.g., \"Curly Bob\", \"Side-Swept Bangs\") | Call `/s2s/v2.1/task/template/hair-transfer` and pick `template_id`. |\n| **Custom Reference Image** (`ref_file_url` / `ref_file_id`) | User uploads own style photo or uses provided image link | Upload via same file API; <BR>Use `ref_file_url` if your reference image is already hosted online. |\n\n3. **Initiate AI Task and Obtain Task ID:**\n   - Send the uploaded image along with the style configuration via an HTTP POST request to `/s2s/v2.1/file/hair-transfer`.\n   - Await a unique task ID in the response, which identifies this interaction.\n\n4. **Poll Task Status (Continuous Check):**\n   - Use the obtained `task_id` to periodically poll the task status using an HTTP GET request (e.g., `GET /task/${task_id}`).\n   - Continuously monitor for:\n     - `Task_status = \"success\"` (process completed).\n     - `Task_status = \"error\"` (resolve or retry if applicable).\n   - Update the workflow accordingly once the status transitions to success.\n\nThis structured workflow ensures efficient integration with user inputs, automated monitoring of tasks, and seamless retrieval of results.\n\n---\n\n* Authentication\n- Include your API key in the request header using **Bearer Token**:\n    ```\n    Authorization: Bearer YOUR_API_KEY\n    ```\nYou can find your API Key at https://yce.makeupar.com/api-console/en/api-keys/.\n\n---\n\n* API Usage Guide\n\nThis guide explains how to upload images, prepare reference images, and create virtual try-on tasks using the AI Hairstyle Generator API.\n\n***\n\n   * Step 1. Upload a File Using the File API or provide a valid image URL\n\nUse the **File API** (`/s2s/v2.1/file/hair-transfer`) to upload a target user image.\n\nAlternatively, skip step 1 to 3 if you already have a public image URL.\n\n**Image Requirements:**\n\n*   Upload a high-resolution selfie photo.\n*   Ensure the photo clearly shows the entire body.\n*   Avoid backgrounds with multiple people or distracting objects.\n\n**Example Request:**\n\n```bash\ncurl --request POST \\\n  --url https://yce-api-01.makeupar.com/s2s/v2.1/file/hair-transfer \\\n  --header 'Authorization: Bearer YOUR_API_KEY' \\\n  --header 'content-type: application/json' \\\n  --data '{\n    \"files\": [\n      {\n        \"content_type\": \"image/jpg\",\n        \"file_name\": \"selfie_01_3dbd1b6683.jpg\",\n        \"file_size\": 547541\n      }\n    ]\n  }'\n```\n\n***\n\n   * Step 2. Retrieve File API Response\n\nThe response includes:\n\n*   `file_id` for creating an AI task.\n*   `requests.url` for uploading the actual image file.\n\n**Sample Response:**\n\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"files\": [\n      {\n        \"content_type\": \"image/jpg\",\n        \"file_name\": \"full_body_photo_01_3dbd1b6683.jpg\",\n        \"file_id\": \"SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9/13W5TOD8/u/FfjK3xgCQ+hRt9MJXBFaud\",\n        \"requests\": [\n          {\n            \"method\": \"PUT\",\n            \"url\": \"https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...\",\n            \"headers\": {\n              \"Content-Length\": \"547541\",\n              \"Content-Type\": \"image/jpg\"\n            }\n          }\n        ]\n      }\n    ]\n  }\n}\n```\n\n***\n\n   * Step 3. Upload Image to Provided URL\n\nUse the `requests.url` from the File API response to upload the image:\n\n```bash\ncurl --location --request PUT 'https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...' \\\n  --header 'Content-Type: image/jpg' \\\n  --header 'Content-Length: 547541' \\\n  --data-binary @'./full_body_photo_01_3dbd1b6683.jpg'\n```\n\n***\n\n   * Step 4. Prepare a Reference Image\n\n     * 4.1 Fetch Predefined Image Templates\n\nUse the **Template API** (`/s2s/v2.1/task/template/hair-transfer`) to retrieve a list of predefined reference templates:\n\n```bash\ncurl --request GET \\\n  --url 'https://yce-api-01.makeupar.com/s2s/v2.1/task/template/hair-transfer?page_size=20&starting_token=13045969587275114' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n     * 4.2 Upload a Reference Image\n\nYou can:\n\n*   Upload an reference image using the File API (`/s2s/v2.1/file/hair-transfer`), or\n*   Provide a valid image URL.\n\n**Supported Images:**\n\n*   Another selfie photo as an reference image.\n\nRefer to **[File Specs and Errors](#section/overview/File-Specs-and-Errors)** for detailed specifications.\n\n***\n\n   * Step 5. Create an AI Hairstyle Generator Task\n\nUse the **AI Task API** (`/s2s/v2.1/task/hair-transfer`) to create a virtual try-on task.\n\n**Parameters:**\n\n*   For the user image: `src_file_id` or `src_file_url`.\n*   For the reference image: `ref_file_id`, `ref_file_url`, or `template_id`.\n\n**Example Request:**\n\n```bash\ncurl --request POST \\\n  --url https://yce-api-01.makeupar.com/s2s/v2.1/task/hair-transfer \\\n  --header 'Authorization: Bearer YOUR_API_KEY' \\\n  --header 'content-type: application/json' \\\n  --data '{\n    \"src_file_url\": \"https://plugins-media.makeupar.com/strapi/assets/selfie_03_cccd5d4803.jpeg\",\n    \"ref_file_url\": \"https://plugins-media.makeupar.com/strapi/assets/style_reference_full_body_01_5a000d999f.png\"\n  }'\n```\n\n**Sample Response:**\n\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"task_id\": \"SaGaqpDgKwFrVBgMpQMA3HY0LeqdT9_13W5TOD8_u_GPi6NqQ3dhlmN-6ntFwhzT\"\n  }\n}\n```\n\n***\n\n   * Step 6. Poll for Task Result\n\nUse the task ID to check the status:\n\n```bash\ncurl --request GET \\\n  --url https://yce-api-01.makeupar.com/s2s/v2.1/task/hair-transfer/<YOUR_TASK_ID> \\\n  --header 'Authorization: Bearer YOUR_API_KEY' \\\n  --header 'content-type: application/json'\n```\n\n***\n\n   * Step 7. Retrieve Result\n\nA successful response includes a download URL for the result image:\n\n```json\n{\n  \"status\": 200,\n  \"data\": {\n    \"error\": null,\n    \"results\": {\n      \"url\": \"https://yce-us.s3-accelerate.amazonaws.com/demo/ttl30/...signature...\"\n    },\n    \"task_status\": \"success\"\n  }\n}\n```\n\nInvalid API Key error response:\n\n```json\n{\n  \"status\": 401,\n  \"error\": \"Unauthorized\",\n  \"error_code\": \"InvalidAccessToken\"\n}\n```\n\n---\n\nUse cases:\nUse case:\n![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/hair_style_v1_video_08513beb46.jpg)\n\nSuggestions for How to Shoot:\n![](https://bcw-media.s3.ap-northeast-1.amazonaws.com/AI_Hair_Extension_recommendation_ba24bd5d92.png)\n\n## File Specs & Errors\n* Supported Formats & Dimensions\n\n|AI Feature|Supported Dimensions|Supported File Size|Supported Formats|\n|  ----  | ----  | ----  | ----  |\n|AI Hairstyle Generator|long side <= 1024, face width >= 128, face pose: -10 < pitch < +10, -45 < yaw < +45, -15 < roll < +15, single face only, need to show full face|< 10MB|jpg/jpeg|\n\n* Error Codes\n\n|Error Code|Description|\n|  ----  | ----  |\n|error_no_shoulder\t|Shoulders are not visible in the source image\n|error_large_face_angle\t|The face angle in the uploaded image is too large\n|error_insufficient_landmarks\t|Cannot detect sufficient face or body landmarks in the source image\n|error_hair_too_short\t|Input hair is too short\n|error_face_pose\t|The face pose of source image is unsupported\n\n* Environment & Dependency\n\n| Sample Code Language / Tool | Recommended Runtime Versions |\n|---|---|\n| cURL | - bash >= 3.2</br>   - curl >= 7.58 (modern TLS/HTTP support)</br>   - jq >= 1.6 (robust JSON parsing) |\n| Node.js (JavaScript) | Node >= 18 (for global fetch) |\n| JavaScript | - Chrome / Edge >= 80</br>   - Firefox >= 74</br>   - Safari >= 13.1 |\n| PHP | PHP >= 7.4 (for modern TLS/compat), ext-curl (recommended) or allow_url_fopen=On + ext-openssl, ext-json |\n| Python | Python >= 3.10 (for f-strings), requests >= 2.20.0 |\n| Java | Java 11+ (for HttpClient), Jackson Databind >= 2.12.0 |\n\n---\n\n## FAQ\n**Q: Can I try on a custom hairstyle?**\n\n**A:** Absolutely, you can try on a custom hairstyle using your own reference photo. The AI Hairstyle Generator supports two methods for specifying the desired hairstyle:\n\n1. **Upload your own reference image**\n   You may upload a high-resolution selfie or style photo (e.g., someone wearing the target hairstyle) via the File API (`/s2s/v2.1/file/hair-transfer`). After uploading, use the returned `file_id` or public URL as the reference source when creating the AI task.\n\n2. **Provide a valid image URL**\n   If your reference image is already hosted online (e.g., on your own server or CDN), you can directly supply its HTTPS URL in the request body under the field `ref_file_url`.\n\nWhen submitting the task via `/s2s/v2.1/task/hair-transfer`, include either:\n- `src_file_id` (your selfie) and `ref_file_id` (your custom reference image),\nor\n- `src_file_url` and `ref_file_url`.\n\nEnsure both images meet the specified requirements:\n- Supported format: JPG/JPEG only\n- File size under 10 MB\n- Long side ≤ 1024 pixels\n- Face width ≥ 128 pixels\n- Head pose within allowed range (pitch: −10° to +10°, yaw: −45° to +45°, roll: −15° to +15°)\n- Single face visible, full frontal view with clear hair visibility\n\nThis flexibility allows you to apply virtually any hairstyle from a photo reference, not just predefined templates.\n\n---\n"},"compilationErrors":[],"markdown":{"partials":{"_partials/js-camera-kit.md":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{"level":1},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":true,"attributes":{"content":"JavaScript Camera Kit SDK Documentation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":0},"end":{"line":1}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":0},"end":{"line":1}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","errors":[],"lines":[1,4],"inline":false,"attributes":{"content":"version: v2.5\n"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1,4],"inline":false,"attributes":{"content":"version: v2.5\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":1},"end":{"line":4}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":1},"end":{"line":4}}},{"$$mdtype":"Node","errors":[],"lines":[4,5],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[4,5],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[4,5],"inline":true,"attributes":{"content":"Overview"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":4},"end":{"line":5}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":4},"end":{"line":5}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":4},"end":{"line":5}}},{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":true,"attributes":{"content":"The "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":true,"attributes":{"content":"JavaScript Camera Kit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":true,"attributes":{"content":" provides a complete in-browser camera solution designed for high-accuracy face-based imaging tasks. It handles camera permissions, real-time face detection, automatic quality validation (lighting, pose, angle, distance), and guided capture UI flows."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":true,"attributes":{"content":"This module is optimized for "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":true,"attributes":{"content":"AI-driven image analysis"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":true,"attributes":{"content":", such as:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","errors":[],"lines":[9,14],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":true,"attributes":{"content":"AI Skin Analysis (SD/HD)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":10}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":10}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":10}}},{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":true,"attributes":{"content":"AI Face Tone Analysis"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":10},"end":{"line":11}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":10},"end":{"line":11}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":10},"end":{"line":11}}},{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":true,"attributes":{"content":"Hair-related Analysis"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":11},"end":{"line":12}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":11},"end":{"line":12}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":11},"end":{"line":12}}},{"$$mdtype":"Node","errors":[],"lines":[12,14],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[12,13],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[12,13],"inline":true,"attributes":{"content":"Virtual Try-On (Ring, Wrist, Necklace, etc.)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":12},"end":{"line":13}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":12},"end":{"line":13}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":12},"end":{"line":14}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":9},"end":{"line":14}}},{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":true,"attributes":{"content":"Key Features"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":14},"end":{"line":15}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":14},"end":{"line":15}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":14},"end":{"line":15}}},{"$$mdtype":"Node","errors":[],"lines":[15,20],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":true,"attributes":{"content":"Permission Handling:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}},{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":true,"attributes":{"content":" Automatic management of webcam access."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":16}}},{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":true,"attributes":{"content":"Quality Validation:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}},{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":true,"attributes":{"content":" Real-time monitoring of face position, lighting, and angle."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":16},"end":{"line":17}}},{"$$mdtype":"Node","errors":[],"lines":[17,18],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[17,18],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[17,18],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[17,18],"inline":true,"attributes":{"content":"Multi-Step Flows:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}},{"$$mdtype":"Node","errors":[],"lines":[17,18],"inline":true,"attributes":{"content":" Support for complex capture requirements (e.g., multi-angle hair capture)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":17},"end":{"line":18}}},{"$$mdtype":"Node","errors":[],"lines":[18,20],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"content":"Flexible Output:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"content":" Supports both "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"content":"base64"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"content":" and "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"content":"blob"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":true,"attributes":{"content":" image formats."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":19}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":18},"end":{"line":20}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":15},"end":{"line":20}}},{"$$mdtype":"Node","errors":[],"lines":[20,21],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":20},"end":{"line":21}}},{"$$mdtype":"Node","errors":[],"lines":[22,23],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[22,23],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[22,23],"inline":true,"attributes":{"content":"Installation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":22},"end":{"line":23}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":22},"end":{"line":23}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":22},"end":{"line":23}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":"Include the SDK via CDN in your HTML "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":"<head>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":" or before the closing "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":"<body>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":" tag. Once loaded, the SDK installs a global "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":"YMK"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[24,25],"inline":true,"attributes":{"content":" object."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":24},"end":{"line":25}}},{"$$mdtype":"Node","errors":[],"lines":[26,29],"inline":false,"attributes":{"content":"<script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n","language":"html"},"children":[{"$$mdtype":"Node","errors":[],"lines":[26,29],"inline":false,"attributes":{"content":"<script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":26},"end":{"line":29}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":26},"end":{"line":29}}},{"$$mdtype":"Node","errors":[],"lines":[30,31],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":30},"end":{"line":31}}},{"$$mdtype":"Node","errors":[],"lines":[32,33],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[32,33],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[32,33],"inline":true,"attributes":{"content":"Quick Start Example"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":32},"end":{"line":33}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":32},"end":{"line":33}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":32},"end":{"line":33}}},{"$$mdtype":"Node","errors":[],"lines":[34,35],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[34,35],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[34,35],"inline":true,"attributes":{"content":"The following example demonstrates how to initialize the kit, open the camera, and handle captured images."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":34},"end":{"line":35}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":34},"end":{"line":35}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":34},"end":{"line":35}}},{"$$mdtype":"Node","errors":[],"lines":[36,98],"inline":false,"attributes":{"content":"<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Camera Kit Sample</title>\n    <style>\n      #YMK-module { margin: 20px 0; }\n      img { width: 150px; margin: 5px; border: 1px solid #ccc; }\n    </style>\n  </head>\n  <body>\n\n    <!-- Initialization Script -->\n    <script>\n      // Define async init entry point\n      window.YMKAsyncInit = function() {\n        YMK.addEventListener('loaded', function() {\n          console.log('Module fully loaded and ready');\n        });\n\n        YMK.addEventListener('faceDetectionCaptured', function(capturedResult) {\n          const container = document.getElementById('captured-results');\n          container.innerHTML = '';\n\n          // Handle multiple images if returned (e.g., multi-angle capture)\n          for (const item of capturedResult.images) {\n            const img = document.createElement('img');\n            // Handle both base64 strings and Blob objects\n            img.src = typeof item.image === 'string' \n              ? item.image \n              : URL.createObjectURL(item.image);\n            container.appendChild(img);\n          }\n        });\n      };\n\n      function openCameraKit() {\n        YMK.init({\n          faceDetectionMode: 'makeup',\n          imageFormat: 'base64',\n          language: 'enu'\n        });\n        YMK.openCameraKit();\n      }\n    </script>\n\n    <!-- Load SDK -->\n    <script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n\n    <!-- UI Elements -->\n    <button onclick=\"openCameraKit()\">Open Camera Kit</button>\n\n    <!-- Mandatory Mount Point -->\n    <div id=\"YMK-module\"></div>\n\n    <h3>Captured Results:</h3>\n    <div id=\"captured-results\"></div>\n  </body>\n</html>\n","language":"html"},"children":[{"$$mdtype":"Node","errors":[],"lines":[36,98],"inline":false,"attributes":{"content":"<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Camera Kit Sample</title>\n    <style>\n      #YMK-module { margin: 20px 0; }\n      img { width: 150px; margin: 5px; border: 1px solid #ccc; }\n    </style>\n  </head>\n  <body>\n\n    <!-- Initialization Script -->\n    <script>\n      // Define async init entry point\n      window.YMKAsyncInit = function() {\n        YMK.addEventListener('loaded', function() {\n          console.log('Module fully loaded and ready');\n        });\n\n        YMK.addEventListener('faceDetectionCaptured', function(capturedResult) {\n          const container = document.getElementById('captured-results');\n          container.innerHTML = '';\n\n          // Handle multiple images if returned (e.g., multi-angle capture)\n          for (const item of capturedResult.images) {\n            const img = document.createElement('img');\n            // Handle both base64 strings and Blob objects\n            img.src = typeof item.image === 'string' \n              ? item.image \n              : URL.createObjectURL(item.image);\n            container.appendChild(img);\n          }\n        });\n      };\n\n      function openCameraKit() {\n        YMK.init({\n          faceDetectionMode: 'makeup',\n          imageFormat: 'base64',\n          language: 'enu'\n        });\n        YMK.openCameraKit();\n      }\n    </script>\n\n    <!-- Load SDK -->\n    <script src=\"https://plugins-media.makeupar.com/v2.5-camera-kit/sdk.js\"></script>\n\n    <!-- UI Elements -->\n    <button onclick=\"openCameraKit()\">Open Camera Kit</button>\n\n    <!-- Mandatory Mount Point -->\n    <div id=\"YMK-module\"></div>\n\n    <h3>Captured Results:</h3>\n    <div id=\"captured-results\"></div>\n  </body>\n</html>\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":36},"end":{"line":98}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":36},"end":{"line":98}}},{"$$mdtype":"Node","errors":[],"lines":[99,100],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":99},"end":{"line":100}}},{"$$mdtype":"Node","errors":[],"lines":[101,102],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[101,102],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[101,102],"inline":true,"attributes":{"content":"Prerequisites"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":101},"end":{"line":102}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":101},"end":{"line":102}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":101},"end":{"line":102}}},{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":true,"attributes":{"content":"To ensure successful integration, the following requirements must be met:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":103},"end":{"line":104}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":103},"end":{"line":104}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":103},"end":{"line":104}}},{"$$mdtype":"Node","errors":[],"lines":[105,111],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":true,"attributes":{"content":"Requirement"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}},{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":106}}},{"$$mdtype":"Node","errors":[],"lines":[107,111],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":true,"attributes":{"content":"Browser Support"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":true,"attributes":{"content":"Must support "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":true,"attributes":{"content":"getUserMedia"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":true,"attributes":{"content":" API."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":true,"attributes":{"content":"HTTPS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}},{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[108,109],"inline":true,"attributes":{"content":"Required on most browsers for webcam access (except localhost)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":108},"end":{"line":109}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":"Mount Point"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":"A "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":"<div id=\"YMK-module\"></div>"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":" is mandatory for rendering the UI."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":"Async Init"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":"You must define "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":"window.YMKAsyncInit"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":" before the SDK loads."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":107},"end":{"line":111}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":105},"end":{"line":111}}},{"$$mdtype":"Node","errors":[],"lines":[112,113],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":112},"end":{"line":113}}},{"$$mdtype":"Node","errors":[],"lines":[114,115],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[114,115],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[114,115],"inline":true,"attributes":{"content":"Integration Guide"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":114},"end":{"line":115}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":114},"end":{"line":115}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":114},"end":{"line":115}}},{"$$mdtype":"Node","errors":[],"lines":[116,117],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[116,117],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[116,117],"inline":true,"attributes":{"content":"Step 1: Initialize the Module"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":116},"end":{"line":117}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":116},"end":{"line":117}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":116},"end":{"line":117}}},{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":true,"attributes":{"content":"Call "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":true,"attributes":{"content":"YMK.init()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":true,"attributes":{"content":" before calling "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":true,"attributes":{"content":"YMK.openCameraKit()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","errors":[],"lines":[117,118],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":117},"end":{"line":118}}},{"$$mdtype":"Node","errors":[],"lines":[119,126],"inline":false,"attributes":{"content":"YMK.init({\n  faceDetectionMode: 'makeup', // Detection flow\n  imageFormat: 'base64',       // Output format\n  language: 'enu'              // UI Language\n});\n","language":"javascript"},"children":[{"$$mdtype":"Node","errors":[],"lines":[119,126],"inline":false,"attributes":{"content":"YMK.init({\n  faceDetectionMode: 'makeup', // Detection flow\n  imageFormat: 'base64',       // Output format\n  language: 'enu'              // UI Language\n});\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":119},"end":{"line":126}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":119},"end":{"line":126}}},{"$$mdtype":"Node","errors":[],"lines":[127,128],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[127,128],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[127,128],"inline":true,"attributes":{"content":"Step 2: Add Event Handlers"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":127},"end":{"line":128}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":127},"end":{"line":128}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":127},"end":{"line":128}}},{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":true,"attributes":{"content":"Register listeners for camera events and capture results."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":128},"end":{"line":129}}},{"$$mdtype":"Node","errors":[],"lines":[130,135],"inline":false,"attributes":{"content":"YMK.addEventListener('faceQualityChanged', function(q) {\n  console.log('Quality updated:', q);\n});\n","language":"javascript"},"children":[{"$$mdtype":"Node","errors":[],"lines":[130,135],"inline":false,"attributes":{"content":"YMK.addEventListener('faceQualityChanged', function(q) {\n  console.log('Quality updated:', q);\n});\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":130},"end":{"line":135}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":130},"end":{"line":135}}},{"$$mdtype":"Node","errors":[],"lines":[136,137],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[136,137],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[136,137],"inline":true,"attributes":{"content":"Step 3: Open Camera Kit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":136},"end":{"line":137}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":136},"end":{"line":137}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":136},"end":{"line":137}}},{"$$mdtype":"Node","errors":[],"lines":[137,138],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[137,138],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[137,138],"inline":true,"attributes":{"content":"This displays the UI, opens the webcam, and begins real-time monitoring."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":137},"end":{"line":138}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":137},"end":{"line":138}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":137},"end":{"line":138}}},{"$$mdtype":"Node","errors":[],"lines":[139,142],"inline":false,"attributes":{"content":"YMK.openCameraKit();\n","language":"javascript"},"children":[{"$$mdtype":"Node","errors":[],"lines":[139,142],"inline":false,"attributes":{"content":"YMK.openCameraKit();\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":139},"end":{"line":142}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":139},"end":{"line":142}}},{"$$mdtype":"Node","errors":[],"lines":[143,144],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[143,144],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[143,144],"inline":true,"attributes":{"content":"Step 4: Receive Captured Results"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":143},"end":{"line":144}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":143},"end":{"line":144}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":143},"end":{"line":144}}},{"$$mdtype":"Node","errors":[],"lines":[144,145],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[144,145],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[144,145],"inline":true,"attributes":{"content":"Images arrive via the "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}},{"$$mdtype":"Node","errors":[],"lines":[144,145],"inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}},{"$$mdtype":"Node","errors":[],"lines":[144,145],"inline":true,"attributes":{"content":" event."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":144},"end":{"line":145}}},{"$$mdtype":"Node","errors":[],"lines":[146,151],"inline":false,"attributes":{"content":"YMK.addEventListener('faceDetectionCaptured', function(result) {\n  console.log(result.images);\n});\n","language":"javascript"},"children":[{"$$mdtype":"Node","errors":[],"lines":[146,151],"inline":false,"attributes":{"content":"YMK.addEventListener('faceDetectionCaptured', function(result) {\n  console.log(result.images);\n});\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":146},"end":{"line":151}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":146},"end":{"line":151}}},{"$$mdtype":"Node","errors":[],"lines":[152,153],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[152,153],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[152,153],"inline":true,"attributes":{"content":"Step 5: Close Module"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":152},"end":{"line":153}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":152},"end":{"line":153}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":152},"end":{"line":153}}},{"$$mdtype":"Node","errors":[],"lines":[153,154],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[153,154],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[153,154],"inline":true,"attributes":{"content":"Clean up resources when done."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":153},"end":{"line":154}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":153},"end":{"line":154}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":153},"end":{"line":154}}},{"$$mdtype":"Node","errors":[],"lines":[155,158],"inline":false,"attributes":{"content":"YMK.close();\n","language":"javascript"},"children":[{"$$mdtype":"Node","errors":[],"lines":[155,158],"inline":false,"attributes":{"content":"YMK.close();\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":155},"end":{"line":158}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":155},"end":{"line":158}}},{"$$mdtype":"Node","errors":[],"lines":[159,160],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":159},"end":{"line":160}}},{"$$mdtype":"Node","errors":[],"lines":[161,162],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[161,162],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[161,162],"inline":true,"attributes":{"content":"API Reference"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":161},"end":{"line":162}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":161},"end":{"line":162}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":161},"end":{"line":162}}},{"$$mdtype":"Node","errors":[],"lines":[163,164],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[163,164],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[163,164],"inline":true,"attributes":{"content":"YMK.init(args)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":163},"end":{"line":164}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":163},"end":{"line":164}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":163},"end":{"line":164}}},{"$$mdtype":"Node","errors":[],"lines":[164,165],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[164,165],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[164,165],"inline":true,"attributes":{"content":"Configures module appearance, detection mode, language, and capture format."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":164},"end":{"line":165}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":164},"end":{"line":165}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":164},"end":{"line":165}}},{"$$mdtype":"Node","errors":[],"lines":[166,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":true,"attributes":{"content":"Argument"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":true,"attributes":{"content":"Type"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[166,167],"inline":true,"attributes":{"content":"Default"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":167}}},{"$$mdtype":"Node","errors":[],"lines":[168,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"content":"faceDetectionMode"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"content":"Detection flow to use (see "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"href":"#section/Detection-Modes"},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"content":"Detection Modes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}},"redocly:::linkOriginal:href":"#section/Detection-Modes"},{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"content":" below)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[168,169],"inline":true,"attributes":{"content":"\"skincare\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":169}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":"width"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":"number"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":"Pixel width of module container ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":"300–1920"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":"360"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":" (≥500px) or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[169,170],"inline":true,"attributes":{"content":"screen width"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":169},"end":{"line":170}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":"height"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":"number"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":"Pixel height of module container ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":"300–1920"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":"480"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":" (≥500px) or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[170,171],"inline":true,"attributes":{"content":"min(screen.height, innerHeight)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":170},"end":{"line":171}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"language"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"UI Language code ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"chs"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"cht"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"deu"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"enu"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"esp"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"fra"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"jpn"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"kor"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"ptb"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"ita"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[171,172],"inline":true,"attributes":{"content":"\"enu\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":171},"end":{"line":172}}},{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":true,"attributes":{"content":"imageFormat"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":true,"attributes":{"content":"Format returned via "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[172,173],"inline":true,"attributes":{"content":"\"base64\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":172},"end":{"line":173}}},{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":true,"attributes":{"content":"disableCameraResolutionCheck"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":true,"attributes":{"content":"Allow running even if webcam does not meet required resolution."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[173,174],"inline":true,"attributes":{"content":"false"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":173},"end":{"line":174}}},{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":true,"attributes":{"content":"hideFlipCameraButton"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":true,"attributes":{"content":"Controls visibility of the flip front/back camera button if the device supports it."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[174,175],"inline":true,"attributes":{"content":"false"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":174},"end":{"line":175}}},{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":true,"attributes":{"content":"countingDuration"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":true,"attributes":{"content":"number"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":true,"attributes":{"content":"Controls the countdown milliseconds when camera quality check meets criteria before auto-capture."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[175,176],"inline":true,"attributes":{"content":"800"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":175},"end":{"line":176}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"qualityLevel"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"Controls the camera quality check setting, with options of  "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"relaxed"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"moderate"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":", or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"strict"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[176,177],"inline":true,"attributes":{"content":"relaxed"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":176},"end":{"line":177}}},{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":true,"attributes":{"content":"qualityOverrides"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":true,"attributes":{"content":"object"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":true,"attributes":{"content":"Configure detailed parameters for camera quality verification."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":true,"attributes":{"content":"See "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":true,"attributes":{"href":"#section/Camera-Kit-Quality-Configuration"},"children":[{"$$mdtype":"Node","errors":[],"lines":[177,178],"inline":true,"attributes":{"content":"Camera Kit Quality Configuration"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}},"redocly:::linkOriginal:href":"#section/Camera-Kit-Quality-Configuration"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":177},"end":{"line":178}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"videoQuality"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"Configure the output quality to "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"720p"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"1080p"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":", or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"1920p"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":". 720p corresponds to 1280 × 720, 1080p to 1920 × 1080, and 1920p to 2560 × 1920. This setting is supported only for "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"skincare"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":" and "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"hdskincare"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[178,179],"inline":true,"attributes":{"content":"720p"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":178},"end":{"line":179}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":168},"end":{"line":179}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":166},"end":{"line":179}}},{"$$mdtype":"Node","errors":[],"lines":[180,181],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[180,181],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[180,181],"inline":true,"attributes":{"content":"Methods"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":180},"end":{"line":181}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":180},"end":{"line":181}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":180},"end":{"line":181}}},{"$$mdtype":"Node","errors":[],"lines":[182,192],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}},{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[182,183],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":183}}},{"$$mdtype":"Node","errors":[],"lines":[184,192],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":true,"attributes":{"content":"YMK.openCameraKit()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}},{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[184,185],"inline":true,"attributes":{"content":"Opens the module and begins detection."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":185}}},{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":true,"attributes":{"content":"YMK.close()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}},{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[185,186],"inline":true,"attributes":{"content":"Closes module and camera."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":185},"end":{"line":186}}},{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":true,"attributes":{"content":"YMK.addEventListener(event, callback)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":true,"attributes":{"content":"Registers event callbacks. Returns an "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":true,"attributes":{"content":"EventListenerIdentifier"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","errors":[],"lines":[186,187],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":186},"end":{"line":187}}},{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":true,"attributes":{"content":"YMK.removeEventListener(id)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}},{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[187,188],"inline":true,"attributes":{"content":"Removes listener by identifier."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":187},"end":{"line":188}}},{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":true,"attributes":{"content":"YMK.isLoaded()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":true,"attributes":{"content":"Returns whether livestream or photo is drawn on canvas ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","errors":[],"lines":[188,189],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":188},"end":{"line":189}}},{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":true,"attributes":{"content":"YMK.pause()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}},{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[189,190],"inline":true,"attributes":{"content":"Pauses the webcam stream."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":189},"end":{"line":190}}},{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":true,"attributes":{"content":"YMK.resume(restartWebcam)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}},{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[190,191],"inline":true,"attributes":{"content":"Resumes webcam after pause."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":190},"end":{"line":191}}},{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":true,"attributes":{"content":"YMK.getInfo()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":true,"attributes":{"content":"Returns current module info (e.g., "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":true,"attributes":{"content":"{ fps: 30 }"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":184},"end":{"line":192}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":182},"end":{"line":192}}},{"$$mdtype":"Node","errors":[],"lines":[194,195],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":194},"end":{"line":195}}},{"$$mdtype":"Node","errors":[],"lines":[196,197],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[196,197],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[196,197],"inline":true,"attributes":{"content":"Camera Kit Quality Configuration"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":196},"end":{"line":197}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":196},"end":{"line":197}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":196},"end":{"line":197}}},{"$$mdtype":"Node","errors":[],"lines":[198,199],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[198,199],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[198,199],"inline":true,"attributes":{"content":"Camera Kit provides configurable quality parameters to control face detection and skin analysis behavior. These parameters allow developers to fine-tune detection strictness while maintaining consistency across web and native SDK implementations."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":198},"end":{"line":199}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":198},"end":{"line":199}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":198},"end":{"line":199}}},{"$$mdtype":"Node","errors":[],"lines":[200,201],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[200,201],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[200,201],"inline":true,"attributes":{"content":"To simplify configuration, Camera Kit includes three predefined presets:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":200},"end":{"line":201}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":200},"end":{"line":201}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":200},"end":{"line":201}}},{"$$mdtype":"Node","errors":[],"lines":[202,206],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[202,203],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[202,203],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[202,203],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[202,203],"inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}},{"$$mdtype":"Node","errors":[],"lines":[202,203],"inline":true,"attributes":{"content":": Optimized for usability with minimal restrictions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":203}}},{"$$mdtype":"Node","errors":[],"lines":[203,204],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[203,204],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[203,204],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[203,204],"inline":true,"attributes":{"content":"MODERATE"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}},{"$$mdtype":"Node","errors":[],"lines":[203,204],"inline":true,"attributes":{"content":": Balanced between usability and accuracy"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":203},"end":{"line":204}}},{"$$mdtype":"Node","errors":[],"lines":[204,206],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[204,205],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[204,205],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[204,205],"inline":true,"attributes":{"content":"STRICT"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}},{"$$mdtype":"Node","errors":[],"lines":[204,205],"inline":true,"attributes":{"content":": Optimized for maximum detection accuracy"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":205}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":204},"end":{"line":206}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":202},"end":{"line":206}}},{"$$mdtype":"Node","errors":[],"lines":[206,207],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[206,207],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[206,207],"inline":true,"attributes":{"content":"All custom configurations must meet or exceed the minimum requirements defined by the "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}},{"$$mdtype":"Node","errors":[],"lines":[206,207],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[206,207],"inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}},{"$$mdtype":"Node","errors":[],"lines":[206,207],"inline":true,"attributes":{"content":" preset."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":206},"end":{"line":207}}},{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":true,"attributes":{"content":"Camera Kit Quality Configuration supports both "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":true,"attributes":{"content":"skincare"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":true,"attributes":{"content":" and "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":true,"attributes":{"content":"hdskincare"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","errors":[],"lines":[208,209],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":208},"end":{"line":209}}},{"$$mdtype":"Node","errors":[],"lines":[209,210],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":209},"end":{"line":210}}},{"$$mdtype":"Node","errors":[],"lines":[211,212],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[211,212],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[211,212],"inline":true,"attributes":{"content":"Preset Behavior"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":211},"end":{"line":212}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":211},"end":{"line":212}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":211},"end":{"line":212}}},{"$$mdtype":"Node","errors":[],"lines":[213,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":true,"attributes":{"content":"Preset"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}},{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[213,214],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":214}}},{"$$mdtype":"Node","errors":[],"lines":[215,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}},{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[215,216],"inline":true,"attributes":{"content":"Less strict validation for smoother user experience"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":216}}},{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":true,"attributes":{"content":"MODERATE"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}},{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[216,217],"inline":true,"attributes":{"content":"Balanced validation for most use cases"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":216},"end":{"line":217}}},{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":true,"attributes":{"content":"STRICT"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}},{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[217,218],"inline":true,"attributes":{"content":"Tight validation for high accuracy scenarios"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":217},"end":{"line":218}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":215},"end":{"line":218}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":213},"end":{"line":218}}},{"$$mdtype":"Node","errors":[],"lines":[219,220],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[219,220],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[219,220],"inline":true,"attributes":{"content":"When using "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}},{"$$mdtype":"Node","errors":[],"lines":[219,220],"inline":true,"attributes":{"content":"qualityOverrides"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}},{"$$mdtype":"Node","errors":[],"lines":[219,220],"inline":true,"attributes":{"content":", you may specify only the parameters you want to change. Unspecified parameters fall back to the active preset defaults."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":219},"end":{"line":220}}},{"$$mdtype":"Node","errors":[],"lines":[221,222],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":221},"end":{"line":222}}},{"$$mdtype":"Node","errors":[],"lines":[223,224],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[223,224],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[223,224],"inline":true,"attributes":{"content":"Configuration Object"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":223},"end":{"line":224}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":223},"end":{"line":224}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":223},"end":{"line":224}}},{"$$mdtype":"Node","errors":[],"lines":[225,248],"inline":false,"attributes":{"content":"{\n  \"face_ratio_lower_threshold\": 0.55,\n  \"face_ratio_upper_threshold\": 1,\n  \"face_left_boundary_lower_threshold\": 0,\n  \"face_left_boundary_upper_threshold\": 1,\n  \"face_right_boundary_lower_threshold\": 0,\n  \"face_right_boundary_upper_threshold\": 1,\n  \"face_top_boundary_lower_threshold\": 0,\n  \"face_top_boundary_upper_threshold\": 1,\n  \"face_bottom_boundary_lower_threshold\": 0,\n  \"face_bottom_boundary_upper_threshold\": 1,\n  \"pitch_lower_threshold\": -20,\n  \"pitch_upper_threshold\": 10,\n  \"yaw_lower_threshold\": -15,\n  \"yaw_upper_threshold\": 15,\n  \"roll_lower_threshold\": -15,\n  \"roll_upper_threshold\": 15,\n  \"lighting_lower_threshold\": 0.55,\n  \"lighting_upper_threshold\": 0.8,\n  \"lighting_uneven_threshold\": 0.2\n}\n","language":"json"},"children":[{"$$mdtype":"Node","errors":[],"lines":[225,248],"inline":false,"attributes":{"content":"{\n  \"face_ratio_lower_threshold\": 0.55,\n  \"face_ratio_upper_threshold\": 1,\n  \"face_left_boundary_lower_threshold\": 0,\n  \"face_left_boundary_upper_threshold\": 1,\n  \"face_right_boundary_lower_threshold\": 0,\n  \"face_right_boundary_upper_threshold\": 1,\n  \"face_top_boundary_lower_threshold\": 0,\n  \"face_top_boundary_upper_threshold\": 1,\n  \"face_bottom_boundary_lower_threshold\": 0,\n  \"face_bottom_boundary_upper_threshold\": 1,\n  \"pitch_lower_threshold\": -20,\n  \"pitch_upper_threshold\": 10,\n  \"yaw_lower_threshold\": -15,\n  \"yaw_upper_threshold\": 15,\n  \"roll_lower_threshold\": -15,\n  \"roll_upper_threshold\": 15,\n  \"lighting_lower_threshold\": 0.55,\n  \"lighting_upper_threshold\": 0.8,\n  \"lighting_uneven_threshold\": 0.2\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":225},"end":{"line":248}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":225},"end":{"line":248}}},{"$$mdtype":"Node","errors":[],"lines":[249,250],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":249},"end":{"line":250}}},{"$$mdtype":"Node","errors":[],"lines":[251,252],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[251,252],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[251,252],"inline":true,"attributes":{"content":"Parameters"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":251},"end":{"line":252}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":251},"end":{"line":252}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":251},"end":{"line":252}}},{"$$mdtype":"Node","errors":[],"lines":[253,254],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[253,254],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[253,254],"inline":true,"attributes":{"content":"Face Ratio Control"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":253},"end":{"line":254}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":253},"end":{"line":254}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":253},"end":{"line":254}}},{"$$mdtype":"Node","errors":[],"lines":[255,256],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[255,256],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[255,256],"inline":true,"attributes":{"content":"Controls the acceptable proportion of the detected face."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":255},"end":{"line":256}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":255},"end":{"line":256}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":255},"end":{"line":256}}},{"$$mdtype":"Node","errors":[],"lines":[257,261],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[257,261],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[257,258],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[257,258],"inline":true,"attributes":{"content":"Measurement basis:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":258}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":258}}},{"$$mdtype":"Node","errors":[],"lines":[258,261],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[258,259],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[258,259],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[258,259],"inline":true,"attributes":{"content":"Landscape mode: vertical ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":259}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":259}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":259}}},{"$$mdtype":"Node","errors":[],"lines":[259,261],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[259,260],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[259,260],"inline":true,"attributes":{"content":"Portrait mode: horizontal ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":259},"end":{"line":260}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":259},"end":{"line":260}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":259},"end":{"line":261}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":258},"end":{"line":261}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":261}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":257},"end":{"line":261}}},{"$$mdtype":"Node","errors":[],"lines":[261,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[261,262],"inline":true,"attributes":{"content":"Preset Defaults"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":262}}},{"$$mdtype":"Node","errors":[],"lines":[263,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":true,"attributes":{"content":"face_ratio_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":true,"attributes":{"content":"Minimum face ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":true,"attributes":{"content":"0.55 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[263,264],"inline":true,"attributes":{"content":"STRICT 0.75, MODERATE 0.65, RELAXED 0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":264}}},{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"face_ratio_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"Maximum face ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"1.0 (all presets)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":263},"end":{"line":265}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":261},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":266},"end":{"line":267}}},{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":true,"attributes":{"content":"Face Boundary Control"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":268},"end":{"line":269}}},{"$$mdtype":"Node","errors":[],"lines":[270,271],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[270,271],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[270,271],"inline":true,"attributes":{"content":"Defines how close the face can be to the frame edges."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":270},"end":{"line":271}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":270},"end":{"line":271}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":270},"end":{"line":271}}},{"$$mdtype":"Node","errors":[],"lines":[272,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[272,273],"inline":true,"attributes":{"content":"Default"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":273}}},{"$$mdtype":"Node","errors":[],"lines":[274,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":true,"attributes":{"content":"face_left_boundary_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":true,"attributes":{"content":"Left boundary minimum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[274,275],"inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":275}}},{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":true,"attributes":{"content":"face_left_boundary_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":true,"attributes":{"content":"Left boundary maximum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[275,276],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":275},"end":{"line":276}}},{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":true,"attributes":{"content":"face_right_boundary_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":true,"attributes":{"content":"Right boundary minimum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[276,277],"inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":276},"end":{"line":277}}},{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":true,"attributes":{"content":"face_right_boundary_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":true,"attributes":{"content":"Right boundary maximum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[277,278],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":277},"end":{"line":278}}},{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":true,"attributes":{"content":"face_top_boundary_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":true,"attributes":{"content":"Top boundary minimum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[278,279],"inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":278},"end":{"line":279}}},{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":true,"attributes":{"content":"face_top_boundary_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":true,"attributes":{"content":"Top boundary maximum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,280],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":279},"end":{"line":280}}},{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":true,"attributes":{"content":"face_bottom_boundary_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":true,"attributes":{"content":"Bottom boundary minimum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[280,281],"inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":280},"end":{"line":281}}},{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":true,"attributes":{"content":"face_bottom_boundary_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}},{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":true,"attributes":{"content":"Bottom boundary maximum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}},{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":true,"attributes":{"content":"0.0 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}},{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[281,282],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":281},"end":{"line":282}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":274},"end":{"line":282}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":272},"end":{"line":282}}},{"$$mdtype":"Node","errors":[],"lines":[283,284],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":283},"end":{"line":284}}},{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":true,"attributes":{"content":"Head Pose Angle Control"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":285},"end":{"line":286}}},{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":true,"attributes":{"content":"Controls allowable head orientation."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":287},"end":{"line":288}}},{"$$mdtype":"Node","errors":[],"lines":[289,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"Preset Defaults"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[291,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":true,"attributes":{"content":"pitch_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":true,"attributes":{"content":"Minimum pitch angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":true,"attributes":{"content":"-20 to 10"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":true,"attributes":{"content":"STRICT -10, MODERATE -15, RELAXED -20"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":true,"attributes":{"content":"pitch_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":true,"attributes":{"content":"Maximum pitch angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":true,"attributes":{"content":"-20 to 10"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[292,293],"inline":true,"attributes":{"content":"STRICT 0, MODERATE 5, RELAXED 10"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":292},"end":{"line":293}}},{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":true,"attributes":{"content":"yaw_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":true,"attributes":{"content":"Minimum yaw angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,294],"inline":true,"attributes":{"content":"STRICT -5, MODERATE -10, RELAXED -15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":293},"end":{"line":294}}},{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":true,"attributes":{"content":"yaw_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":true,"attributes":{"content":"Maximum yaw angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[294,295],"inline":true,"attributes":{"content":"STRICT 5, MODERATE 10, RELAXED 15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":294},"end":{"line":295}}},{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":true,"attributes":{"content":"roll_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":true,"attributes":{"content":"Minimum roll angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[295,296],"inline":true,"attributes":{"content":"STRICT -5, MODERATE -10, RELAXED -15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":295},"end":{"line":296}}},{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":true,"attributes":{"content":"roll_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}},{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":true,"attributes":{"content":"Maximum roll angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}},{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":true,"attributes":{"content":"-15 to 15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}},{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[296,297],"inline":true,"attributes":{"content":"STRICT 5, MODERATE 10, RELAXED 15"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":296},"end":{"line":297}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":291},"end":{"line":297}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":289},"end":{"line":297}}},{"$$mdtype":"Node","errors":[],"lines":[298,299],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":298},"end":{"line":299}}},{"$$mdtype":"Node","errors":[],"lines":[300,301],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[300,301],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[300,301],"inline":true,"attributes":{"content":"Lighting Control"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":300},"end":{"line":301}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":300},"end":{"line":301}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":300},"end":{"line":301}}},{"$$mdtype":"Node","errors":[],"lines":[302,303],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[302,303],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[302,303],"inline":true,"attributes":{"content":"Defines acceptable lighting quality and uniformity."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":302},"end":{"line":303}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":302},"end":{"line":303}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":302},"end":{"line":303}}},{"$$mdtype":"Node","errors":[],"lines":[304,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":true,"attributes":{"content":"Allowed Range"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[304,305],"inline":true,"attributes":{"content":"Preset Defaults"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":305}}},{"$$mdtype":"Node","errors":[],"lines":[306,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"lighting_lower_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"Minimum lighting level"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"0.55 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"STRICT 0.8, MODERATE 0.7, RELAXED 0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":true,"attributes":{"content":"lighting_upper_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":true,"attributes":{"content":"Maximum lighting level"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":true,"attributes":{"content":"0.8 to 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[307,308],"inline":true,"attributes":{"content":"STRICT 0.9, MODERATE 0.85, RELAXED 0.8"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":307},"end":{"line":308}}},{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"lighting_uneven_threshold"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"Maximum luma difference between eyes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"0.0 to 0.2"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"STRICT 0.1, MODERATE 0.15, RELAXED 0.2"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":306},"end":{"line":309}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":304},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[310,311],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":310},"end":{"line":311}}},{"$$mdtype":"Node","errors":[],"lines":[312,313],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[312,313],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[312,313],"inline":true,"attributes":{"content":"Validation Rules"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":312},"end":{"line":313}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":312},"end":{"line":313}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":312},"end":{"line":313}}},{"$$mdtype":"Node","errors":[],"lines":[314,319],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[314,315],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[314,315],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[314,315],"inline":true,"attributes":{"content":"Custom values must not be less restrictive than RELAXED preset values."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":315}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":315}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":315}}},{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":true,"attributes":{"content":"Only specified fields in "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":true,"attributes":{"content":"qualityOverrides"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":true,"attributes":{"content":" are applied."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","errors":[],"lines":[316,319],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[316,317],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[316,317],"inline":true,"attributes":{"content":"All unspecified parameters default to the selected preset."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":316},"end":{"line":317}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":316},"end":{"line":317}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":316},"end":{"line":319}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":314},"end":{"line":319}}},{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":319},"end":{"line":320}}},{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":true,"attributes":{"content":"Detection Modes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":321},"end":{"line":322}}},{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":true,"attributes":{"content":"Configure the "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":true,"attributes":{"content":"faceDetectionMode"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":true,"attributes":{"content":" in "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":true,"attributes":{"content":"YMK.init()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":true,"attributes":{"content":" to suit your specific use case."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","errors":[],"lines":[325,343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":true,"attributes":{"content":"Mode"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","errors":[],"lines":[327,343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":true,"attributes":{"content":"makeup"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":true,"attributes":{"content":"Standard camera mode for virtual cosmetic try-on."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":true,"attributes":{"content":"skincare"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":true,"attributes":{"content":"Standard skin analysis mode, close-up face capture. Support AI Skin Analysis and AI Skin Simulation."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":true,"attributes":{"content":"hdskincare"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":true,"attributes":{"content":"High-definition capture for AI skin analysis using webcams with a minimum resolution of 2560 pixels on the longer side, subject to device support."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":true,"attributes":{"content":"shadefinder"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":true,"attributes":{"content":"Skin Tone Analysis front-face capture."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":true,"attributes":{"content":"facereshape"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":true,"attributes":{"content":"AI Face Reshape capture and AI Face Lift."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":true,"attributes":{"content":"hairlength"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":true,"attributes":{"content":"Full hair-length capture (from a distance)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":true,"attributes":{"content":"hairfrizziness"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}},{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[333,334],"inline":true,"attributes":{"content":"3-phase capture: front, right-turn, left-turn."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":333},"end":{"line":334}}},{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":true,"attributes":{"content":"hairtype"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}},{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":true,"attributes":{"content":"Same 3-phase multi-angle capture flow."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":334},"end":{"line":335}}},{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":true,"attributes":{"content":"hairdensity"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}},{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[335,336],"inline":true,"attributes":{"content":"A 45‑degree downward head‑angle photograph."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":335},"end":{"line":336}}},{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":true,"attributes":{"content":"ring"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}},{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":true,"attributes":{"content":"Hand capture for ring virtual try‑on."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":336},"end":{"line":337}}},{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":true,"attributes":{"content":"wrist"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}},{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[337,338],"inline":true,"attributes":{"content":"Wrist capture for watch or bracelet virtual try‑on."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":337},"end":{"line":338}}},{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":true,"attributes":{"content":"necklace"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}},{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[338,339],"inline":true,"attributes":{"content":"Selfie capture for necklace try-on."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":338},"end":{"line":339}}},{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":true,"attributes":{"content":"earring"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}},{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[339,340],"inline":true,"attributes":{"content":"Selfie capture for earring virtual try-on."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":339},"end":{"line":340}}},{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":true,"attributes":{"content":"teethwhiten"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}},{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[340,341],"inline":true,"attributes":{"content":"Front‑facing selfie that detects whether teeth are visible; photo taken only when detected."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":340},"end":{"line":341}}},{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":true,"attributes":{"content":"nail"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}},{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[341,342],"inline":true,"attributes":{"content":"Hand capture for nails virtual try‑on."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":341},"end":{"line":342}}},{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":true,"attributes":{"content":"comprehensive"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}},{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[342,343],"inline":true,"attributes":{"content":"Photo to be used simultaneously for AI Makeup, AI Skin Analysis, and AI Facial Attributes & Ratio Analysis."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":342},"end":{"line":343}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":327},"end":{"line":343}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":325},"end":{"line":343}}},{"$$mdtype":"Node","errors":[],"lines":[344,345],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":344},"end":{"line":345}}},{"$$mdtype":"Node","errors":[],"lines":[346,347],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[346,347],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[346,347],"inline":true,"attributes":{"content":"Events Reference"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":346},"end":{"line":347}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":346},"end":{"line":347}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":346},"end":{"line":347}}},{"$$mdtype":"Node","errors":[],"lines":[348,349],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[348,349],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[348,349],"inline":true,"attributes":{"content":"Lifecycle & Status Events"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":348},"end":{"line":349}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":348},"end":{"line":349}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":348},"end":{"line":349}}},{"$$mdtype":"Node","errors":[],"lines":[350,357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":true,"attributes":{"content":"Event"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}},{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":351}}},{"$$mdtype":"Node","errors":[],"lines":[352,357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":true,"attributes":{"content":"opened"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}},{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,353],"inline":true,"attributes":{"content":"Module opened."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":353}}},{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":true,"attributes":{"content":"loading"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}},{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[353,354],"inline":true,"attributes":{"content":"Loading progress (0–100)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":353},"end":{"line":354}}},{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":true,"attributes":{"content":"loaded"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}},{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[354,355],"inline":true,"attributes":{"content":"Camera stream loaded onto canvas."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":354},"end":{"line":355}}},{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":true,"attributes":{"content":"closed"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}},{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[355,356],"inline":true,"attributes":{"content":"Module closed."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":355},"end":{"line":356}}},{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":true,"attributes":{"content":"faceDetectionStarted"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}},{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[356,357],"inline":true,"attributes":{"content":"User enters the detection UI."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":356},"end":{"line":357}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":352},"end":{"line":357}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":350},"end":{"line":357}}},{"$$mdtype":"Node","errors":[],"lines":[358,359],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[358,359],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[358,359],"inline":true,"attributes":{"content":"Camera Events"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":358},"end":{"line":359}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":358},"end":{"line":359}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":358},"end":{"line":359}}},{"$$mdtype":"Node","errors":[],"lines":[360,366],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":true,"attributes":{"content":"Event"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}},{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[360,361],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":361}}},{"$$mdtype":"Node","errors":[],"lines":[362,366],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":true,"attributes":{"content":"cameraOpened"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}},{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[362,363],"inline":true,"attributes":{"content":"Webcam opened successfully."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":363}}},{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":true,"attributes":{"content":"cameraClosed"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}},{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[363,364],"inline":true,"attributes":{"content":"Webcam closed."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":363},"end":{"line":364}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":"cameraFailed"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":"Permission denied or no webcam found. Error codes include "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":"\"error_resolution_unsupported\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":"\"error_permission_denied\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":"\"error_access_failed\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[364,365],"inline":true,"attributes":{"content":"."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":364},"end":{"line":365}}},{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":true,"attributes":{"content":"unsupportedResolution"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}},{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":false,"attributes":{"align":"left"},"children":[{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":true,"attributes":{"content":"Fired when the device resolution does not meet the minimum requirements for the selected mode."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":365},"end":{"line":366}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":362},"end":{"line":366}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":360},"end":{"line":366}}},{"$$mdtype":"Node","errors":[],"lines":[367,368],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[367,368],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[367,368],"inline":true,"attributes":{"content":"Detection Events"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":367},"end":{"line":368}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":367},"end":{"line":368}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":367},"end":{"line":368}}},{"$$mdtype":"Node","errors":[],"lines":[369,370],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[369,370],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[369,370],"inline":true,"attributes":{"content":"faceQualityChanged"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":369},"end":{"line":370}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":369},"end":{"line":370}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":369},"end":{"line":370}}},{"$$mdtype":"Node","errors":[],"lines":[370,371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[370,371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[370,371],"inline":true,"attributes":{"content":"Fires continuously during detection as quality metrics update."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":370},"end":{"line":371}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":370},"end":{"line":371}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":370},"end":{"line":371}}},{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":true,"attributes":{"content":"Example Payload:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":372},"end":{"line":373}}},{"$$mdtype":"Node","errors":[],"lines":[373,381],"inline":false,"attributes":{"content":"{\n  \"hasFace\": true,\n  \"position\": \"good\",\n  \"frontal\": \"good\",\n  \"lighting\": \"ok\"\n}\n","language":"json"},"children":[{"$$mdtype":"Node","errors":[],"lines":[373,381],"inline":false,"attributes":{"content":"{\n  \"hasFace\": true,\n  \"position\": \"good\",\n  \"frontal\": \"good\",\n  \"lighting\": \"ok\"\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":373},"end":{"line":381}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":373},"end":{"line":381}}},{"$$mdtype":"Node","errors":[],"lines":[382,383],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[382,383],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[382,383],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[382,383],"inline":true,"attributes":{"content":"Field Definitions:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":382},"end":{"line":383}}},{"$$mdtype":"Node","errors":[],"lines":[383,388],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[383,384],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[383,384],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[383,384],"inline":true,"attributes":{"content":"hasFace"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","errors":[],"lines":[383,384],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","errors":[],"lines":[383,384],"inline":true,"attributes":{"content":"boolean"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","errors":[],"lines":[383,384],"inline":true,"attributes":{"content":") Whether a face is detected."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":384}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":"position"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":") Face distance/size quality ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":"\"good\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":"\"notgood\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":"\"toosmall\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":"\"outofboundary\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[384,385],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":384},"end":{"line":385}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":"frontal"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":") Whether user is facing forward ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":"\"good\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":"\"notgood\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[385,386],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":385},"end":{"line":386}}},{"$$mdtype":"Node","errors":[],"lines":[386,388],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":"lighting"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":") Lighting strength ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":"\"good\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":"\"ok\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":"\"notgood\""},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}},{"$$mdtype":"Node","errors":[],"lines":[386,387],"inline":true,"attributes":{"content":")."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":387}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":386},"end":{"line":388}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":383},"end":{"line":388}}},{"$$mdtype":"Node","errors":[],"lines":[388,389],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[388,389],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[388,389],"inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":388},"end":{"line":389}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":388},"end":{"line":389}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":388},"end":{"line":389}}},{"$$mdtype":"Node","errors":[],"lines":[389,390],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[389,390],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[389,390],"inline":true,"attributes":{"content":"Fired "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}},{"$$mdtype":"Node","errors":[],"lines":[389,390],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[389,390],"inline":true,"attributes":{"content":"after"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}},{"$$mdtype":"Node","errors":[],"lines":[389,390],"inline":true,"attributes":{"content":" all required face quality validation checks have passed and the Camera Kit has successfully completed the capture workflow. Depending on the mode, this may contain one or multiple images."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":389},"end":{"line":390}}},{"$$mdtype":"Node","errors":[],"lines":[391,392],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[391,392],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[391,392],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[391,392],"inline":true,"attributes":{"content":"Example Payload:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":391},"end":{"line":392}}},{"$$mdtype":"Node","errors":[],"lines":[392,405],"inline":false,"attributes":{"content":"{\n  \"mode\": \"makeup\",\n  \"images\": [\n    {\n      \"phase\": 0,\n      \"image\": \"data:image/jpeg;base64,...\",\n      \"width\": 500,\n      \"height\": 500\n    }\n  ]\n}\n","language":"json"},"children":[{"$$mdtype":"Node","errors":[],"lines":[392,405],"inline":false,"attributes":{"content":"{\n  \"mode\": \"makeup\",\n  \"images\": [\n    {\n      \"phase\": 0,\n      \"image\": \"data:image/jpeg;base64,...\",\n      \"width\": 500,\n      \"height\": 500\n    }\n  ]\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":392},"end":{"line":405}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":392},"end":{"line":405}}},{"$$mdtype":"Node","errors":[],"lines":[406,407],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[406,407],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[406,407],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[406,407],"inline":true,"attributes":{"content":"Image Object Fields:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":406},"end":{"line":407}}},{"$$mdtype":"Node","errors":[],"lines":[407,412],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[407,408],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[407,408],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[407,408],"inline":true,"attributes":{"content":"phase"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","errors":[],"lines":[407,408],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","errors":[],"lines":[407,408],"inline":true,"attributes":{"content":"integer"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","errors":[],"lines":[407,408],"inline":true,"attributes":{"content":") Zero-based index representing the capture step."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":408}}},{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":true,"attributes":{"content":"image"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":true,"attributes":{"content":"string"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":true,"attributes":{"content":" | "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":true,"attributes":{"content":"Blob"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","errors":[],"lines":[408,409],"inline":true,"attributes":{"content":") The captured image data."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":408},"end":{"line":409}}},{"$$mdtype":"Node","errors":[],"lines":[409,410],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[409,410],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[409,410],"inline":true,"attributes":{"content":"width"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","errors":[],"lines":[409,410],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","errors":[],"lines":[409,410],"inline":true,"attributes":{"content":"integer"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","errors":[],"lines":[409,410],"inline":true,"attributes":{"content":") Pixel width of the captured image."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":409},"end":{"line":410}}},{"$$mdtype":"Node","errors":[],"lines":[410,412],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[410,411],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[410,411],"inline":true,"attributes":{"content":"height"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}},{"$$mdtype":"Node","errors":[],"lines":[410,411],"inline":true,"attributes":{"content":": ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}},{"$$mdtype":"Node","errors":[],"lines":[410,411],"inline":true,"attributes":{"content":"integer"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}},{"$$mdtype":"Node","errors":[],"lines":[410,411],"inline":true,"attributes":{"content":") Pixel height of the captured image."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":411}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":410},"end":{"line":412}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":407},"end":{"line":412}}},{"$$mdtype":"Node","errors":[],"lines":[412,413],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":412},"end":{"line":413}}},{"$$mdtype":"Node","errors":[],"lines":[414,415],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[414,415],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[414,415],"inline":true,"attributes":{"content":"Configuration Notes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":414},"end":{"line":415}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":414},"end":{"line":415}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":414},"end":{"line":415}}},{"$$mdtype":"Node","errors":[],"lines":[416,417],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[416,417],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[416,417],"inline":true,"attributes":{"content":"Quality Requirements"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":416},"end":{"line":417}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":416},"end":{"line":417}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":416},"end":{"line":417}}},{"$$mdtype":"Node","errors":[],"lines":[417,418],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[417,418],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[417,418],"inline":true,"attributes":{"content":"To ensure successful capture:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":417},"end":{"line":418}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":417},"end":{"line":418}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":417},"end":{"line":418}}},{"$$mdtype":"Node","errors":[],"lines":[418,422],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[418,419],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[418,419],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[418,419],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[418,419],"inline":true,"attributes":{"content":"Distance:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}},{"$$mdtype":"Node","errors":[],"lines":[418,419],"inline":true,"attributes":{"content":" Ensure correct face distance (not too zoomed in/out)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":419}}},{"$$mdtype":"Node","errors":[],"lines":[419,420],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[419,420],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[419,420],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[419,420],"inline":true,"attributes":{"content":"Angle:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}},{"$$mdtype":"Node","errors":[],"lines":[419,420],"inline":true,"attributes":{"content":" Ensure frontal face angle."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":419},"end":{"line":420}}},{"$$mdtype":"Node","errors":[],"lines":[420,422],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[420,421],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[420,421],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[420,421],"inline":true,"attributes":{"content":"Lighting:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}},{"$$mdtype":"Node","errors":[],"lines":[420,421],"inline":true,"attributes":{"content":" Provide sufficient lighting (avoid shadows or dark environments)."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":421}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":420},"end":{"line":422}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":418},"end":{"line":422}}},{"$$mdtype":"Node","errors":[],"lines":[422,423],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[422,423],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[422,423],"inline":true,"attributes":{"content":"Multi-Phase Capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":422},"end":{"line":423}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":422},"end":{"line":423}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":422},"end":{"line":423}}},{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":true,"attributes":{"content":"Modes like "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":true,"attributes":{"content":"hairtype"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":true,"attributes":{"content":" or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":true,"attributes":{"content":"hairfrizziness"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","errors":[],"lines":[423,424],"inline":true,"attributes":{"content":" require multiple steps:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":423},"end":{"line":424}}},{"$$mdtype":"Node","errors":[],"lines":[424,428],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[424,425],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[424,425],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[424,425],"inline":true,"attributes":{"content":"Front face"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":425}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":425}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":425}}},{"$$mdtype":"Node","errors":[],"lines":[425,426],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[425,426],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[425,426],"inline":true,"attributes":{"content":"Turn right"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":425},"end":{"line":426}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":425},"end":{"line":426}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":425},"end":{"line":426}}},{"$$mdtype":"Node","errors":[],"lines":[426,428],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[426,427],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[426,427],"inline":true,"attributes":{"content":"Turn left"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":426},"end":{"line":427}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":426},"end":{"line":427}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":426},"end":{"line":428}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":424},"end":{"line":428}}},{"$$mdtype":"Node","errors":[],"lines":[428,429],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[428,429],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[428,429],"inline":true,"attributes":{"content":"Ensure your event handling logic accounts for multiple images in the "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}},{"$$mdtype":"Node","errors":[],"lines":[428,429],"inline":true,"attributes":{"content":"faceDetectionCaptured"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}},{"$$mdtype":"Node","errors":[],"lines":[428,429],"inline":true,"attributes":{"content":" result array."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":428},"end":{"line":429}}},{"$$mdtype":"Node","errors":[],"lines":[430,431],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[430,431],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[430,431],"inline":true,"attributes":{"content":"Advanced Configuration"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":430},"end":{"line":431}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":430},"end":{"line":431}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":430},"end":{"line":431}}},{"$$mdtype":"Node","errors":[],"lines":[431,434],"inline":false,"attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":true,"attributes":{"content":"Flip Button:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":true,"attributes":{"content":" Use "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":true,"attributes":{"content":"hideFlipCameraButton: true"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","errors":[],"lines":[431,432],"inline":true,"attributes":{"content":" to enforce a specific camera orientation if your UX requires it."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":432}}},{"$$mdtype":"Node","errors":[],"lines":[432,434],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":"Capture Delay:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":" Adjust "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":"countingDuration"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":" (default "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":"800"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":") to give users more time to review the capture before auto-submission occurs."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":432},"end":{"line":434}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":431},"end":{"line":434}}},{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":true,"attributes":{"content":"Minimum Recommended Quality"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":434},"end":{"line":435}}},{"$$mdtype":"Node","errors":[],"lines":[435,443],"inline":false,"attributes":{"content":"const minQuality = {\n  hasFace: true,\n  area: \"good\",\n  frontal: \"good\",\n  lighting: \"ok\"\n};\n","language":"javascript"},"children":[{"$$mdtype":"Node","errors":[],"lines":[435,443],"inline":false,"attributes":{"content":"const minQuality = {\n  hasFace: true,\n  area: \"good\",\n  frontal: \"good\",\n  lighting: \"ok\"\n};\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":435},"end":{"line":443}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/js-camera-kit.md","start":{"line":435},"end":{"line":443}}}],"type":"document","annotations":[],"slots":{}},"_partials/mobile-camera-kit.md":{"$$mdtype":"Node","errors":[],"lines":[],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{"level":1},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[0,1],"inline":true,"attributes":{"content":"Perfect Corp. Mobile CameraKit Integration Guide"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":0},"end":{"line":1}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":0},"end":{"line":1}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":0},"end":{"line":1}}},{"$$mdtype":"Node","errors":[],"lines":[2,3],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":2},"end":{"line":3}}},{"$$mdtype":"Node","errors":[],"lines":[4,5],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[4,5],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[4,5],"inline":true,"attributes":{"content":"Table of Contents"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":4},"end":{"line":5}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":4},"end":{"line":5}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":4},"end":{"line":5}}},{"$$mdtype":"Node","errors":[],"lines":[6,18],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":true,"attributes":{"href":"#section/1.-Overview"},"children":[{"$$mdtype":"Node","errors":[],"lines":[6,7],"inline":true,"attributes":{"content":"Overview"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":6},"end":{"line":7}},"redocly:::linkOriginal:href":"#section/1.-Overview"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":6},"end":{"line":7}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":6},"end":{"line":7}}},{"$$mdtype":"Node","errors":[],"lines":[7,8],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[7,8],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[7,8],"inline":true,"attributes":{"href":"#section/2.-System-Requirements"},"children":[{"$$mdtype":"Node","errors":[],"lines":[7,8],"inline":true,"attributes":{"content":"System Requirements"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":7},"end":{"line":8}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":7},"end":{"line":8}},"redocly:::linkOriginal:href":"#section/2.-System-Requirements"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":7},"end":{"line":8}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":7},"end":{"line":8}}},{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":true,"attributes":{"href":"#section/3.-Installation-and-Setup"},"children":[{"$$mdtype":"Node","errors":[],"lines":[8,9],"inline":true,"attributes":{"content":"Installation & Setup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":8},"end":{"line":9}},"redocly:::linkOriginal:href":"#section/3.-Installation-and-Setup"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":8},"end":{"line":9}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":8},"end":{"line":9}}},{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":true,"attributes":{"href":"#section/4.-Camera-Initialization-Workflow"},"children":[{"$$mdtype":"Node","errors":[],"lines":[9,10],"inline":true,"attributes":{"content":"Camera Initialization Workflow"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":9},"end":{"line":10}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":9},"end":{"line":10}},"redocly:::linkOriginal:href":"#section/4.-Camera-Initialization-Workflow"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":9},"end":{"line":10}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":9},"end":{"line":10}}},{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":true,"attributes":{"href":"#section/5.-Quality-Check-Parameters"},"children":[{"$$mdtype":"Node","errors":[],"lines":[10,11],"inline":true,"attributes":{"content":"Quality Check Parameters"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":10},"end":{"line":11}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":10},"end":{"line":11}},"redocly:::linkOriginal:href":"#section/5.-Quality-Check-Parameters"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":10},"end":{"line":11}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":10},"end":{"line":11}}},{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":true,"attributes":{"href":"#section/6.-Preset-Level-Configuration"},"children":[{"$$mdtype":"Node","errors":[],"lines":[11,12],"inline":true,"attributes":{"content":"Preset Level Configuration"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":11},"end":{"line":12}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":11},"end":{"line":12}},"redocly:::linkOriginal:href":"#section/6.-Preset-Level-Configuration"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":11},"end":{"line":12}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":11},"end":{"line":12}}},{"$$mdtype":"Node","errors":[],"lines":[12,13],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[12,13],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[12,13],"inline":true,"attributes":{"href":"#section/7.-Custom-Parameter-Override"},"children":[{"$$mdtype":"Node","errors":[],"lines":[12,13],"inline":true,"attributes":{"content":"Custom Parameter Override"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":12},"end":{"line":13}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":12},"end":{"line":13}},"redocly:::linkOriginal:href":"#section/7.-Custom-Parameter-Override"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":12},"end":{"line":13}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":12},"end":{"line":13}}},{"$$mdtype":"Node","errors":[],"lines":[13,14],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[13,14],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[13,14],"inline":true,"attributes":{"href":"#section/8.-Capture-and-Save-Workflow"},"children":[{"$$mdtype":"Node","errors":[],"lines":[13,14],"inline":true,"attributes":{"content":"Capture & Save Workflow"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":13},"end":{"line":14}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":13},"end":{"line":14}},"redocly:::linkOriginal:href":"#section/8.-Capture-and-Save-Workflow"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":13},"end":{"line":14}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":13},"end":{"line":14}}},{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":true,"attributes":{"href":"#section/9.-Service-Specific-Recommendations"},"children":[{"$$mdtype":"Node","errors":[],"lines":[14,15],"inline":true,"attributes":{"content":"Service-Specific Recommendations"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":14},"end":{"line":15}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":14},"end":{"line":15}},"redocly:::linkOriginal:href":"#section/9.-Service-Specific-Recommendations"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":14},"end":{"line":15}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":14},"end":{"line":15}}},{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":true,"attributes":{"href":"#section/10.-API-Reference-Links"},"children":[{"$$mdtype":"Node","errors":[],"lines":[15,16],"inline":true,"attributes":{"content":"API Reference Links"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":15},"end":{"line":16}},"redocly:::linkOriginal:href":"#section/10.-API-Reference-Links"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":15},"end":{"line":16}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":15},"end":{"line":16}}},{"$$mdtype":"Node","errors":[],"lines":[16,18],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":true,"attributes":{"href":"#section/11.-Camera-Lifecycle-Setup"},"children":[{"$$mdtype":"Node","errors":[],"lines":[16,17],"inline":true,"attributes":{"content":"Camera Lifecycle Setup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":16},"end":{"line":17}},"redocly:::linkOriginal:href":"#section/11.-Camera-Lifecycle-Setup"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":16},"end":{"line":17}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":16},"end":{"line":18}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":6},"end":{"line":18}}},{"$$mdtype":"Node","errors":[],"lines":[18,19],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":18},"end":{"line":19}}},{"$$mdtype":"Node","errors":[],"lines":[20,21],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[20,21],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[20,21],"inline":true,"attributes":{"content":"1. Overview"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":20},"end":{"line":21}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":20},"end":{"line":21}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":20},"end":{"line":21}}},{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":true,"attributes":{"content":"Mobile CameraKit-v2.5.0:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}}},{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":true,"attributes":{},"children":[],"type":"softbreak","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}}},{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":true,"attributes":{"href":"https://us-consultation-cdn.perfectcorp.com/ttlx/8296658a-d9dd-45ce-ad4d-7cee3d03de45.zip"},"children":[{"$$mdtype":"Node","errors":[],"lines":[22,24],"inline":true,"attributes":{"content":"https://us-consultation-cdn.perfectcorp.com/ttlx/8296658a-d9dd-45ce-ad4d-7cee3d03de45.zip"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}}}],"type":"link","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}},"redocly:::linkOriginal:href":"https://us-consultation-cdn.perfectcorp.com/ttlx/8296658a-d9dd-45ce-ad4d-7cee3d03de45.zip"}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":22},"end":{"line":24}}},{"$$mdtype":"Node","errors":[],"lines":[25,26],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[25,26],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[25,26],"inline":true,"attributes":{"content":"Perfect Corp.'s Mobile CameraKit provides real-time camera frame quality checking for AI Skin Analysis API. The SDK evaluates lighting conditions, face area visibility, and head pose alignment to ensure optimal input quality for YouCam API services including:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":25},"end":{"line":26}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":25},"end":{"line":26}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":25},"end":{"line":26}}},{"$$mdtype":"Node","errors":[],"lines":[27,29],"inline":false,"attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","errors":[],"lines":[27,29],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[27,28],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[27,28],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[27,28],"inline":true,"attributes":{"content":"AI Skin Analysis"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":27},"end":{"line":28}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":27},"end":{"line":28}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":27},"end":{"line":28}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":27},"end":{"line":29}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":27},"end":{"line":29}}},{"$$mdtype":"Node","errors":[],"lines":[29,30],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[29,30],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[29,30],"inline":true,"attributes":{"content":"Version Information"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":29},"end":{"line":30}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":29},"end":{"line":30}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":29},"end":{"line":30}}},{"$$mdtype":"Node","errors":[],"lines":[31,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":true,"attributes":{"content":"Component"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}},{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":true,"attributes":{"content":"Version"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}},{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[31,32],"inline":true,"attributes":{"content":"Release Date"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":32}}},{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":true,"attributes":{"content":"CameraKit SDK"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}},{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":true,"attributes":{"content":"2.5.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}},{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[33,34],"inline":true,"attributes":{"content":"Apr. 16, 2026"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":33},"end":{"line":34}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":31},"end":{"line":34}}},{"$$mdtype":"Node","errors":[],"lines":[35,36],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":35},"end":{"line":36}}},{"$$mdtype":"Node","errors":[],"lines":[37,38],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[37,38],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[37,38],"inline":true,"attributes":{"content":"Key Features"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":37},"end":{"line":38}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":37},"end":{"line":38}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":37},"end":{"line":38}}},{"$$mdtype":"Node","errors":[],"lines":[39,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":true,"attributes":{"content":"Feature"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}},{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[39,40],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":40}}},{"$$mdtype":"Node","errors":[],"lines":[41,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":true,"attributes":{"content":"Real-time Quality Check"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}},{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[41,42],"inline":true,"attributes":{"content":"Continuous frame-by-frame quality assessment"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":42}}},{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":true,"attributes":{"content":"Preset Levels"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}},{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[42,43],"inline":true,"attributes":{"content":"STRICT, MODERATE, RELAXED configurations"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":42},"end":{"line":43}}},{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":true,"attributes":{"content":"Custom Overrides"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}},{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[43,44],"inline":true,"attributes":{"content":"Fine-tune individual parameters per use case"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":43},"end":{"line":44}}},{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":true,"attributes":{"content":"Cross-Platform"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}},{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[44,45],"inline":true,"attributes":{"content":"Unified API for Android and iOS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":44},"end":{"line":45}}},{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":true,"attributes":{"content":"External Camera Support"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}},{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[45,46],"inline":true,"attributes":{"content":"Works with custom camera implementations"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":45},"end":{"line":46}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":41},"end":{"line":46}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":39},"end":{"line":46}}},{"$$mdtype":"Node","errors":[],"lines":[47,48],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":47},"end":{"line":48}}},{"$$mdtype":"Node","errors":[],"lines":[49,50],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[49,50],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[49,50],"inline":true,"attributes":{"content":"2. System Requirements"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":49},"end":{"line":50}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":49},"end":{"line":50}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":49},"end":{"line":50}}},{"$$mdtype":"Node","errors":[],"lines":[51,52],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[51,52],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[51,52],"inline":true,"attributes":{"content":"Android"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":51},"end":{"line":52}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":51},"end":{"line":52}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":51},"end":{"line":52}}},{"$$mdtype":"Node","errors":[],"lines":[53,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":true,"attributes":{"content":"Requirement"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}},{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":true,"attributes":{"content":"Minimum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}},{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[53,54],"inline":true,"attributes":{"content":"Recommended"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":54}}},{"$$mdtype":"Node","errors":[],"lines":[55,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":true,"attributes":{"content":"OS Version"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}},{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":true,"attributes":{"content":"Android 6.0 (API Level 23)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}},{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[55,56],"inline":true,"attributes":{"content":"Android 9.0+"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":56}}},{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":true,"attributes":{"content":"CPU"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}},{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":true,"attributes":{"content":"Snapdragon 6xx series"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}},{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[56,57],"inline":true,"attributes":{"content":"Snapdragon 8xx series"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":56},"end":{"line":57}}},{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":true,"attributes":{"content":"RAM"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}},{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":true,"attributes":{"content":"3.0 GB"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}},{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[57,58],"inline":true,"attributes":{"content":"4.0 GB"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":57},"end":{"line":58}}},{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":true,"attributes":{"content":"Camera Access"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}},{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":true,"attributes":{"content":"Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}},{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[58,59],"inline":true,"attributes":{"content":"Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":58},"end":{"line":59}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":55},"end":{"line":59}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":53},"end":{"line":59}}},{"$$mdtype":"Node","errors":[],"lines":[60,61],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[60,61],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[60,61],"inline":true,"attributes":{"content":"iOS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":60},"end":{"line":61}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":60},"end":{"line":61}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":60},"end":{"line":61}}},{"$$mdtype":"Node","errors":[],"lines":[62,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":true,"attributes":{"content":"Requirement"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}},{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":true,"attributes":{"content":"Minimum"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}},{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[62,63],"inline":true,"attributes":{"content":"Recommended"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":63}}},{"$$mdtype":"Node","errors":[],"lines":[64,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":true,"attributes":{"content":"OS Version"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}},{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":true,"attributes":{"content":"iOS 12.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}},{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[64,65],"inline":true,"attributes":{"content":"iOS 15.0+"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":65}}},{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":true,"attributes":{"content":"Device"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}},{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":true,"attributes":{"content":"iPhone 6 / iPad Air"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}},{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[65,66],"inline":true,"attributes":{"content":"iPhone 8+ / iPad Pro"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":65},"end":{"line":66}}},{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":true,"attributes":{"content":"Camera Access"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}},{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":true,"attributes":{"content":"Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}},{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[66,67],"inline":true,"attributes":{"content":"Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":66},"end":{"line":67}}},{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":true,"attributes":{"content":"Xcode Version"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}},{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":true,"attributes":{"content":"Xcode 14+"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}},{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[67,68],"inline":true,"attributes":{"content":"Latest Stable"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":67},"end":{"line":68}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":64},"end":{"line":68}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":62},"end":{"line":68}}},{"$$mdtype":"Node","errors":[],"lines":[69,70],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":69},"end":{"line":70}}},{"$$mdtype":"Node","errors":[],"lines":[71,72],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[71,72],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[71,72],"inline":true,"attributes":{"content":"3. Installation & Setup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":71},"end":{"line":72}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":71},"end":{"line":72}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":71},"end":{"line":72}}},{"$$mdtype":"Node","errors":[],"lines":[73,74],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[73,74],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[73,74],"inline":true,"attributes":{"content":"Android Setup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":73},"end":{"line":74}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":73},"end":{"line":74}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":73},"end":{"line":74}}},{"$$mdtype":"Node","errors":[],"lines":[75,76],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[75,76],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[75,76],"inline":true,"attributes":{"content":"Step 1: Add Library Dependencies"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":75},"end":{"line":76}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":75},"end":{"line":76}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":75},"end":{"line":76}}},{"$$mdtype":"Node","errors":[],"lines":[77,92],"inline":false,"attributes":{"content":"// Root build.gradle\nallprojects {\n    repositories {\n        flatDir {\n            dirs 'libs'\n        }\n    }\n}\n\n// Module build.gradle\ndependencies {\n    implementation(name: 'PerfectLibCameraKit', ext: 'aar')\n}\n","language":"gradle"},"children":[{"$$mdtype":"Node","errors":[],"lines":[77,92],"inline":false,"attributes":{"content":"// Root build.gradle\nallprojects {\n    repositories {\n        flatDir {\n            dirs 'libs'\n        }\n    }\n}\n\n// Module build.gradle\ndependencies {\n    implementation(name: 'PerfectLibCameraKit', ext: 'aar')\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":77},"end":{"line":92}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":77},"end":{"line":92}}},{"$$mdtype":"Node","errors":[],"lines":[93,94],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[93,94],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[93,94],"inline":true,"attributes":{"content":"Step 2: Add Camera Permissions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":93},"end":{"line":94}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":93},"end":{"line":94}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":93},"end":{"line":94}}},{"$$mdtype":"Node","errors":[],"lines":[95,100],"inline":false,"attributes":{"content":"<!-- AndroidManifest.xml -->\n<uses-permission android:name=\"android.permission.CAMERA\"/>\n<uses-feature android:name=\"android.hardware.camera\" android:required=\"false\"/>\n","language":"xml"},"children":[{"$$mdtype":"Node","errors":[],"lines":[95,100],"inline":false,"attributes":{"content":"<!-- AndroidManifest.xml -->\n<uses-permission android:name=\"android.permission.CAMERA\"/>\n<uses-feature android:name=\"android.hardware.camera\" android:required=\"false\"/>\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":95},"end":{"line":100}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":95},"end":{"line":100}}},{"$$mdtype":"Node","errors":[],"lines":[101,102],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[101,102],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[101,102],"inline":true,"attributes":{"content":"Step 3: Copy Model Files"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":101},"end":{"line":102}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":101},"end":{"line":102}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":101},"end":{"line":102}}},{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":true,"attributes":{"content":"Place model files in "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":103},"end":{"line":104}}},{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":true,"attributes":{"content":"app/src/main/assets/model/"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":103},"end":{"line":104}}},{"$$mdtype":"Node","errors":[],"lines":[103,104],"inline":true,"attributes":{"content":" or use external storage path."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":103},"end":{"line":104}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":103},"end":{"line":104}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":103},"end":{"line":104}}},{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[105,106],"inline":true,"attributes":{"content":"iOS Setup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":105},"end":{"line":106}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":105},"end":{"line":106}}},{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[107,108],"inline":true,"attributes":{"content":"Step 1: Add Framework"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":107},"end":{"line":108}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":107},"end":{"line":108}}},{"$$mdtype":"Node","errors":[],"lines":[109,112],"inline":false,"attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":"Drag "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":"PerfectLibCameraKit.framework"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":" to "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[109,110],"inline":true,"attributes":{"content":"Frameworks, Libraries, and Embedded Content"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":110}}},{"$$mdtype":"Node","errors":[],"lines":[110,112],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":"Select "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":"\"Do Not Embed\""},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":110},"end":{"line":111}}},{"$$mdtype":"Node","errors":[],"lines":[110,111],"inline":true,"attributes":{"content":" (static framework)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":110},"end":{"line":111}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":110},"end":{"line":112}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":109},"end":{"line":112}}},{"$$mdtype":"Node","errors":[],"lines":[112,113],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[112,113],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[112,113],"inline":true,"attributes":{"content":"Step 2: Add Linker Flags"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":112},"end":{"line":113}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":112},"end":{"line":113}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":112},"end":{"line":113}}},{"$$mdtype":"Node","errors":[],"lines":[114,117],"inline":false,"attributes":{"content":"-ObjC -lc++ -framework CoreMotion\n"},"children":[{"$$mdtype":"Node","errors":[],"lines":[114,117],"inline":false,"attributes":{"content":"-ObjC -lc++ -framework CoreMotion\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":114},"end":{"line":117}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":114},"end":{"line":117}}},{"$$mdtype":"Node","errors":[],"lines":[118,119],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[118,119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[118,119],"inline":true,"attributes":{"content":"Step 3: Add Permissions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":118},"end":{"line":119}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":118},"end":{"line":119}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":118},"end":{"line":119}}},{"$$mdtype":"Node","errors":[],"lines":[120,125],"inline":false,"attributes":{"content":"<!-- Info.plist -->\n<key>NSCameraUsageDescription</key>\n<string>We need camera access for AI analysis features</string>\n","language":"xml"},"children":[{"$$mdtype":"Node","errors":[],"lines":[120,125],"inline":false,"attributes":{"content":"<!-- Info.plist -->\n<key>NSCameraUsageDescription</key>\n<string>We need camera access for AI analysis features</string>\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":120},"end":{"line":125}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":120},"end":{"line":125}}},{"$$mdtype":"Node","errors":[],"lines":[126,127],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[126,127],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[126,127],"inline":true,"attributes":{"content":"Step 4: Copy Model Files"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":126},"end":{"line":127}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":126},"end":{"line":127}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":126},"end":{"line":127}}},{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":true,"attributes":{"content":"Drag model folder into project with "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":128},"end":{"line":129}}},{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":true,"attributes":{"content":"\"Copy items if needed\""},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":128},"end":{"line":129}}},{"$$mdtype":"Node","errors":[],"lines":[128,129],"inline":true,"attributes":{"content":" selected."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":128},"end":{"line":129}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":128},"end":{"line":129}}},{"$$mdtype":"Node","errors":[],"lines":[130,131],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":130},"end":{"line":131}}},{"$$mdtype":"Node","errors":[],"lines":[132,133],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[132,133],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[132,133],"inline":true,"attributes":{"content":"4. Camera Initialization Workflow"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":132},"end":{"line":133}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":132},"end":{"line":133}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":132},"end":{"line":133}}},{"$$mdtype":"Node","errors":[],"lines":[134,135],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[134,135],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[134,135],"inline":true,"attributes":{"content":"Android Implementation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":134},"end":{"line":135}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":134},"end":{"line":135}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":134},"end":{"line":135}}},{"$$mdtype":"Node","errors":[],"lines":[136,190],"inline":false,"attributes":{"content":"// 1. Initialize PerfectLib SDK first\nConfiguration configuration = Configuration.builder()\n    .setModelPath(PerfectLib.ModelPath.assets(\"model\"))\n    .build();\n\nPerfectLib.init(getApplicationContext(), configuration, new PerfectLib.InitialCallback() {\n    @Override\n    public void onInitialized(Set<Functionality> availableFunctionalities,\n                              Map<String, Throwable> preloadErrors) {\n        // 2. Create CameraKit instance\n        CameraKit.create(new CameraKit.CreateCallback() {\n            @Override\n            public void onSuccess(CameraKit cameraKit) {\n                CameraKitActivity.this.cameraKit = cameraKit;\n\n                // 3. Set quality check callback\n                cameraKit.setCameraKitQualityCheckCallback(result -> {\n                    boolean isReady = result.getFaceAreaQuality().isOk()\n                        && result.getFacePoseQuality().isOk()\n                        && result.getLightingQuality().isOk();\n\n                    if (isReady) {\n                        enableCaptureButton();\n                    } else {\n                        disableCaptureButton();\n                    }\n                });\n\n                // 4. Set initial quality level\n                cameraKit.setCameraKitLevel(CameraKitLevel.RELAXED);\n            }\n\n            @Override\n            public void onFailure(Throwable throwable) {\n                Log.e(TAG, \"CameraKit create failed\", throwable);\n            }\n        });\n    }\n\n    @Override\n    public void onFailure(Throwable throwable, Map<String, Throwable> preloadErrors) {\n        Log.e(TAG, \"PerfectLib init failed\", throwable);\n    }\n});\n\n// 5. Notify CameraKit when camera opens (in your camera implementation)\ncameraKit.onCameraOpened(isFrontCamera, cameraOrientation, previewWidth, previewHeight);\n\n// 6. Send each preview frame to CameraKit\nCameraFrame frame = new CameraFrame(data, previewWidth, previewHeight, isFirstFrame);\nframe.setFrameOrientation(frameRotationDegrees);\ncameraKit.sendCameraBuffer(frame);\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[136,190],"inline":false,"attributes":{"content":"// 1. Initialize PerfectLib SDK first\nConfiguration configuration = Configuration.builder()\n    .setModelPath(PerfectLib.ModelPath.assets(\"model\"))\n    .build();\n\nPerfectLib.init(getApplicationContext(), configuration, new PerfectLib.InitialCallback() {\n    @Override\n    public void onInitialized(Set<Functionality> availableFunctionalities,\n                              Map<String, Throwable> preloadErrors) {\n        // 2. Create CameraKit instance\n        CameraKit.create(new CameraKit.CreateCallback() {\n            @Override\n            public void onSuccess(CameraKit cameraKit) {\n                CameraKitActivity.this.cameraKit = cameraKit;\n\n                // 3. Set quality check callback\n                cameraKit.setCameraKitQualityCheckCallback(result -> {\n                    boolean isReady = result.getFaceAreaQuality().isOk()\n                        && result.getFacePoseQuality().isOk()\n                        && result.getLightingQuality().isOk();\n\n                    if (isReady) {\n                        enableCaptureButton();\n                    } else {\n                        disableCaptureButton();\n                    }\n                });\n\n                // 4. Set initial quality level\n                cameraKit.setCameraKitLevel(CameraKitLevel.RELAXED);\n            }\n\n            @Override\n            public void onFailure(Throwable throwable) {\n                Log.e(TAG, \"CameraKit create failed\", throwable);\n            }\n        });\n    }\n\n    @Override\n    public void onFailure(Throwable throwable, Map<String, Throwable> preloadErrors) {\n        Log.e(TAG, \"PerfectLib init failed\", throwable);\n    }\n});\n\n// 5. Notify CameraKit when camera opens (in your camera implementation)\ncameraKit.onCameraOpened(isFrontCamera, cameraOrientation, previewWidth, previewHeight);\n\n// 6. Send each preview frame to CameraKit\nCameraFrame frame = new CameraFrame(data, previewWidth, previewHeight, isFirstFrame);\nframe.setFrameOrientation(frameRotationDegrees);\ncameraKit.sendCameraBuffer(frame);\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":136},"end":{"line":190}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":136},"end":{"line":190}}},{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[191,192],"inline":true,"attributes":{"content":"iOS Implementation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":191},"end":{"line":192}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":191},"end":{"line":192}}},{"$$mdtype":"Node","errors":[],"lines":[193,232],"inline":false,"attributes":{"content":"// 1. Create CameraKit instance with model path\nlet modelPath = Bundle.main.path(forResource: \"model\", ofType: \"\")\nCameraKit.create(withModelPath: modelPath) { [weak self] cameraKit, error in\n    guard let self = self, let cameraKit = cameraKit else { return }\n\n    self.cameraKit = cameraKit\n\n    // 2. Set delegate for quality check callbacks\n    self.cameraKit?.delegate = self\n\n    // 3. Notify CameraKit when camera opens\n    self.cameraKit?.onCameraOpen(true) // true = front camera\n\n    // 4. Set initial quality level\n    self.cameraKit?.setCameraKitLevel(.relaxed)\n}\n\n// 5. Send each preview frame to CameraKit (AVCaptureVideoDataOutputSampleBufferDelegate)\nfunc captureOutput(_ output: AVCaptureOutput,\n                   didOutput sampleBuffer: CMSampleBuffer,\n                   from connection: AVCaptureConnection) {\n    cameraKit?.sendCameraBuffer(sampleBuffer)\n}\n\n// 6. Implement delegate callback for quality results\nextension CameraKitViewController: CameraKitDelegate {\n    func cameraKit(_ cameraKit: CameraKit, checkedResult: CameraKitQualityCheck) {\n        let canCapture = checkedResult.lightingQuality.isOk &&\n                        checkedResult.faceAreaQuality.isOk &&\n                        checkedResult.facePoseQuality.isOk\n\n        DispatchQueue.main.async { [weak self] in\n            self?.updateCaptureButtonAvailability()\n            self?.latestQualityCheck = checkedResult\n        }\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[193,232],"inline":false,"attributes":{"content":"// 1. Create CameraKit instance with model path\nlet modelPath = Bundle.main.path(forResource: \"model\", ofType: \"\")\nCameraKit.create(withModelPath: modelPath) { [weak self] cameraKit, error in\n    guard let self = self, let cameraKit = cameraKit else { return }\n\n    self.cameraKit = cameraKit\n\n    // 2. Set delegate for quality check callbacks\n    self.cameraKit?.delegate = self\n\n    // 3. Notify CameraKit when camera opens\n    self.cameraKit?.onCameraOpen(true) // true = front camera\n\n    // 4. Set initial quality level\n    self.cameraKit?.setCameraKitLevel(.relaxed)\n}\n\n// 5. Send each preview frame to CameraKit (AVCaptureVideoDataOutputSampleBufferDelegate)\nfunc captureOutput(_ output: AVCaptureOutput,\n                   didOutput sampleBuffer: CMSampleBuffer,\n                   from connection: AVCaptureConnection) {\n    cameraKit?.sendCameraBuffer(sampleBuffer)\n}\n\n// 6. Implement delegate callback for quality results\nextension CameraKitViewController: CameraKitDelegate {\n    func cameraKit(_ cameraKit: CameraKit, checkedResult: CameraKitQualityCheck) {\n        let canCapture = checkedResult.lightingQuality.isOk &&\n                        checkedResult.faceAreaQuality.isOk &&\n                        checkedResult.facePoseQuality.isOk\n\n        DispatchQueue.main.async { [weak self] in\n            self?.updateCaptureButtonAvailability()\n            self?.latestQualityCheck = checkedResult\n        }\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":193},"end":{"line":232}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":193},"end":{"line":232}}},{"$$mdtype":"Node","errors":[],"lines":[233,234],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":233},"end":{"line":234}}},{"$$mdtype":"Node","errors":[],"lines":[235,236],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[235,236],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[235,236],"inline":true,"attributes":{"content":"5. Quality Check Parameters"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":235},"end":{"line":236}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":235},"end":{"line":236}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":235},"end":{"line":236}}},{"$$mdtype":"Node","errors":[],"lines":[237,238],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[237,238],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[237,238],"inline":true,"attributes":{"content":"Parameter Overview"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":237},"end":{"line":238}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":237},"end":{"line":238}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":237},"end":{"line":238}}},{"$$mdtype":"Node","errors":[],"lines":[239,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}},{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":true,"attributes":{"content":"Type"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}},{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":true,"attributes":{"content":"Range"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}},{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[239,240],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":240}}},{"$$mdtype":"Node","errors":[],"lines":[241,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":true,"attributes":{"content":"Lighting Quality"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}},{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":true,"attributes":{"content":"Float (0.0-1.0)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}},{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":true,"attributes":{"content":"0.55 - 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}},{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[241,242],"inline":true,"attributes":{"content":"Ambient lighting assessment"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":242}}},{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":true,"attributes":{"content":"Face Area Quality"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}},{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":true,"attributes":{"content":"Ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}},{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":true,"attributes":{"content":"0.55 - 1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}},{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[242,243],"inline":true,"attributes":{"content":"Face size relative to frame"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":242},"end":{"line":243}}},{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":true,"attributes":{"content":"Face Pose Quality"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}},{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":true,"attributes":{"content":"Degrees"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}},{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":true,"attributes":{"content":"±15° max"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}},{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[243,244],"inline":true,"attributes":{"content":"Head orientation alignment"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":243},"end":{"line":244}}},{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":true,"attributes":{"content":"Face Pose Degree"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}},{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":true,"attributes":{"content":"Float"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}},{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":true,"attributes":{"content":"-180° to +180°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}},{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[244,245],"inline":true,"attributes":{"content":"Current measured yaw angle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":244},"end":{"line":245}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":241},"end":{"line":245}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":239},"end":{"line":245}}},{"$$mdtype":"Node","errors":[],"lines":[246,247],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[246,247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[246,247],"inline":true,"attributes":{"content":"Detailed Parameter Definitions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":246},"end":{"line":247}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":246},"end":{"line":247}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":246},"end":{"line":247}}},{"$$mdtype":"Node","errors":[],"lines":[248,249],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[248,249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[248,249],"inline":true,"attributes":{"content":"Lighting Quality (lightingQuality)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":248},"end":{"line":249}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":248},"end":{"line":249}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":248},"end":{"line":249}}},{"$$mdtype":"Node","errors":[],"lines":[250,255],"inline":false,"attributes":{"content":"// Android\nCameraKitQualityCheck.LightingQuality lighting = qualityCheck.getLightingQuality();\nboolean isGood = lighting.isOk(); // true if within acceptable range\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[250,255],"inline":false,"attributes":{"content":"// Android\nCameraKitQualityCheck.LightingQuality lighting = qualityCheck.getLightingQuality();\nboolean isGood = lighting.isOk(); // true if within acceptable range\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":250},"end":{"line":255}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":250},"end":{"line":255}}},{"$$mdtype":"Node","errors":[],"lines":[256,261],"inline":false,"attributes":{"content":"// iOS\nlet lighting = checkedResult.lightingQuality\nlet isGood = lighting.isOk\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[256,261],"inline":false,"attributes":{"content":"// iOS\nlet lighting = checkedResult.lightingQuality\nlet isGood = lighting.isOk\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":256},"end":{"line":261}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":256},"end":{"line":261}}},{"$$mdtype":"Node","errors":[],"lines":[262,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":true,"attributes":{"content":"Status"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}},{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}},{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[262,263],"inline":true,"attributes":{"content":"Action Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":263}}},{"$$mdtype":"Node","errors":[],"lines":[264,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"GOOD"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"Optimal lighting"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[264,265],"inline":true,"attributes":{"content":"✅ Proceed with capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":265}}},{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":true,"attributes":{"content":"NORMAL"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}},{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":true,"attributes":{"content":"Acceptable lighting"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}},{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[265,266],"inline":true,"attributes":{"content":"✅ Proceed with capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":265},"end":{"line":266}}},{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":true,"attributes":{"content":"OVER_EXPOSED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}},{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":true,"attributes":{"content":"Too bright"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}},{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[266,267],"inline":true,"attributes":{"content":"⚠️ Reduce brightness"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":266},"end":{"line":267}}},{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":true,"attributes":{"content":"UNDER_EXPOSED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}},{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":true,"attributes":{"content":"Too dark"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}},{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[267,268],"inline":true,"attributes":{"content":"⚠️ Increase brightness"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":267},"end":{"line":268}}},{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":true,"attributes":{"content":"BACKLIGHTING"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}},{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":true,"attributes":{"content":"Light behind subject"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}},{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[268,269],"inline":true,"attributes":{"content":"⚠️ Reposition subject"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":268},"end":{"line":269}}},{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":true,"attributes":{"content":"UNEVEN"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}},{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":true,"attributes":{"content":"Inconsistent lighting"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}},{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[269,270],"inline":true,"attributes":{"content":"⚠️ Adjust environment"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":269},"end":{"line":270}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":264},"end":{"line":270}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":262},"end":{"line":270}}},{"$$mdtype":"Node","errors":[],"lines":[271,272],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[271,272],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[271,272],"inline":true,"attributes":{"content":"Face Area Quality (faceAreaQuality)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":271},"end":{"line":272}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":271},"end":{"line":272}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":271},"end":{"line":272}}},{"$$mdtype":"Node","errors":[],"lines":[273,278],"inline":false,"attributes":{"content":"// Android\nCameraKitQualityCheck.FaceAreaQuality faceArea = qualityCheck.getFaceAreaQuality();\nboolean isGood = faceArea.isOk();\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[273,278],"inline":false,"attributes":{"content":"// Android\nCameraKitQualityCheck.FaceAreaQuality faceArea = qualityCheck.getFaceAreaQuality();\nboolean isGood = faceArea.isOk();\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":273},"end":{"line":278}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":273},"end":{"line":278}}},{"$$mdtype":"Node","errors":[],"lines":[279,284],"inline":false,"attributes":{"content":"// iOS\nlet faceArea = checkedResult.faceAreaQuality\nlet isGood = faceArea.isOk\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[279,284],"inline":false,"attributes":{"content":"// iOS\nlet faceArea = checkedResult.faceAreaQuality\nlet isGood = faceArea.isOk\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":279},"end":{"line":284}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":279},"end":{"line":284}}},{"$$mdtype":"Node","errors":[],"lines":[285,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":true,"attributes":{"content":"Status"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}},{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}},{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[285,286],"inline":true,"attributes":{"content":"Action Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":286}}},{"$$mdtype":"Node","errors":[],"lines":[287,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":true,"attributes":{"content":"GOOD"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}},{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":true,"attributes":{"content":"Face properly sized"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}},{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[287,288],"inline":true,"attributes":{"content":"✅ Proceed with capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":288}}},{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":true,"attributes":{"content":"TOO_SMALL"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}},{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":true,"attributes":{"content":"Face too far away"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}},{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[288,289],"inline":true,"attributes":{"content":"⚠️ Move closer to camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":288},"end":{"line":289}}},{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"OUT_OF_BOUNDARY"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"Face too close/cut off"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[289,290],"inline":true,"attributes":{"content":"⚠️ Move back from camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":289},"end":{"line":290}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":287},"end":{"line":290}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":285},"end":{"line":290}}},{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[291,292],"inline":true,"attributes":{"content":"Face Pose Quality (facePoseQuality)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":291},"end":{"line":292}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":291},"end":{"line":292}}},{"$$mdtype":"Node","errors":[],"lines":[293,299],"inline":false,"attributes":{"content":"// Android\nCameraKitQualityCheck.FacePoseQuality facePose = qualityCheck.getFacePoseQuality();\nboolean isGood = facePose.isOk();\nfloat yawAngle = qualityCheck.getFacePoseDegree(); // Current yaw in degrees\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[293,299],"inline":false,"attributes":{"content":"// Android\nCameraKitQualityCheck.FacePoseQuality facePose = qualityCheck.getFacePoseQuality();\nboolean isGood = facePose.isOk();\nfloat yawAngle = qualityCheck.getFacePoseDegree(); // Current yaw in degrees\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":293},"end":{"line":299}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":293},"end":{"line":299}}},{"$$mdtype":"Node","errors":[],"lines":[300,305],"inline":false,"attributes":{"content":"// iOS\nlet facePose = checkedResult.facePoseQuality\nlet isGood = facePose.isOk\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[300,305],"inline":false,"attributes":{"content":"// iOS\nlet facePose = checkedResult.facePoseQuality\nlet isGood = facePose.isOk\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":300},"end":{"line":305}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":300},"end":{"line":305}}},{"$$mdtype":"Node","errors":[],"lines":[306,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"Status"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"Description"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[306,307],"inline":true,"attributes":{"content":"Action Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":307}}},{"$$mdtype":"Node","errors":[],"lines":[308,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"GOOD"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"Face properly aligned"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[308,309],"inline":true,"attributes":{"content":"✅ Proceed with capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":309}}},{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":true,"attributes":{"content":"BAD"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}},{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":true,"attributes":{"content":"Head turned too far"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}},{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[309,310],"inline":true,"attributes":{"content":"⚠️ Look straight at camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":309},"end":{"line":310}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":308},"end":{"line":310}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":306},"end":{"line":310}}},{"$$mdtype":"Node","errors":[],"lines":[311,312],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":311},"end":{"line":312}}},{"$$mdtype":"Node","errors":[],"lines":[313,314],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[313,314],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[313,314],"inline":true,"attributes":{"content":"6. Preset Level Configuration"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":313},"end":{"line":314}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":313},"end":{"line":314}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":313},"end":{"line":314}}},{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[315,316],"inline":true,"attributes":{"content":"Available Levels"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":315},"end":{"line":316}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":315},"end":{"line":316}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":315},"end":{"line":316}}},{"$$mdtype":"Node","errors":[],"lines":[317,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":true,"attributes":{"content":"Level"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}},{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":true,"attributes":{"content":"Use Case"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}},{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[317,318],"inline":true,"attributes":{"content":"Quality vs UX Balance"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":318}}},{"$$mdtype":"Node","errors":[],"lines":[319,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":true,"attributes":{"content":"STRICT"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}},{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":true,"attributes":{"content":"High-accuracy analysis"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}},{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[319,320],"inline":true,"attributes":{"content":"Maximum quality, stricter requirements"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":320}}},{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":true,"attributes":{"content":"MODERATE"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}},{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":true,"attributes":{"content":"General use"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}},{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[320,321],"inline":true,"attributes":{"content":"Balanced quality and user experience"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":320},"end":{"line":321}}},{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}},{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":true,"attributes":{"content":"Virtual try-on"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}},{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[321,322],"inline":true,"attributes":{"content":"More lenient, better UX"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":321},"end":{"line":322}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":319},"end":{"line":322}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":317},"end":{"line":322}}},{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[323,324],"inline":true,"attributes":{"content":"Threshold Comparison Matrix"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":323},"end":{"line":324}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":323},"end":{"line":324}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":323},"end":{"line":324}}},{"$$mdtype":"Node","errors":[],"lines":[325,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":true,"attributes":{"content":"STRICT"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":true,"attributes":{"content":"MODERATE"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[325,326],"inline":true,"attributes":{"content":"RELAXED"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":326}}},{"$$mdtype":"Node","errors":[],"lines":[327,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":true,"attributes":{"content":"Face Size Ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":true,"attributes":{"content":"≥ 0.75"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":true,"attributes":{"content":"≥ 0.65"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[327,328],"inline":true,"attributes":{"content":"≥ 0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":328}}},{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":true,"attributes":{"content":"Face Yaw (max)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":true,"attributes":{"content":"±5.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":true,"attributes":{"content":"±10.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[328,329],"inline":true,"attributes":{"content":"±15.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":328},"end":{"line":329}}},{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":true,"attributes":{"content":"Pitch Upper"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":true,"attributes":{"content":"≤ 0.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":true,"attributes":{"content":"≤ +5.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[329,330],"inline":true,"attributes":{"content":"≤ +10.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":329},"end":{"line":330}}},{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":true,"attributes":{"content":"Pitch Lower"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":true,"attributes":{"content":"≥ -10.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":true,"attributes":{"content":"≥ -15.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[330,331],"inline":true,"attributes":{"content":"≥ -20.0°"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":330},"end":{"line":331}}},{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":true,"attributes":{"content":"Lighting Lower"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":true,"attributes":{"content":"≥ 0.80"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":true,"attributes":{"content":"≥ 0.70"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[331,332],"inline":true,"attributes":{"content":"≥ 0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":331},"end":{"line":332}}},{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":true,"attributes":{"content":"Lighting Upper"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":true,"attributes":{"content":"≤ 0.90"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":true,"attributes":{"content":"≤ 0.85"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}},{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[332,333],"inline":true,"attributes":{"content":"≤ 0.80"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":332},"end":{"line":333}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":327},"end":{"line":333}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":325},"end":{"line":333}}},{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[334,335],"inline":true,"attributes":{"content":"Setting Preset Levels"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":334},"end":{"line":335}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":334},"end":{"line":335}}},{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[336,337],"inline":true,"attributes":{"content":"Android"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":336},"end":{"line":337}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":336},"end":{"line":337}}},{"$$mdtype":"Node","errors":[],"lines":[338,349],"inline":false,"attributes":{"content":"// Set preset level (resets all parameters to defaults)\ncameraKit.setCameraKitLevel(CameraKitLevel.STRICT);\ncameraKit.setCameraKitLevel(CameraKitLevel.MODERATE);\ncameraKit.setCameraKitLevel(CameraKitLevel.RELAXED);\n\n// Get current parameter for inspection\nCameraKitParameter currentParam = cameraKit.getCurrentParameter();\nfloat faceSizeRatio = currentParam.getFaceSizeRatio();\nfloat lightingLower = currentParam.getLightingLower();\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[338,349],"inline":false,"attributes":{"content":"// Set preset level (resets all parameters to defaults)\ncameraKit.setCameraKitLevel(CameraKitLevel.STRICT);\ncameraKit.setCameraKitLevel(CameraKitLevel.MODERATE);\ncameraKit.setCameraKitLevel(CameraKitLevel.RELAXED);\n\n// Get current parameter for inspection\nCameraKitParameter currentParam = cameraKit.getCurrentParameter();\nfloat faceSizeRatio = currentParam.getFaceSizeRatio();\nfloat lightingLower = currentParam.getLightingLower();\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":338},"end":{"line":349}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":338},"end":{"line":349}}},{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[350,351],"inline":true,"attributes":{"content":"iOS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":350},"end":{"line":351}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":350},"end":{"line":351}}},{"$$mdtype":"Node","errors":[],"lines":[352,364],"inline":false,"attributes":{"content":"// Set preset level (resets all parameters to defaults)\ncameraKit?.setCameraKitLevel(.strict)\ncameraKit?.setCameraKitLevel(.moderate)\ncameraKit?.setCameraKitLevel(.relaxed)\n\n// Get current parameter for inspection\nif let currentParam = cameraKit?.currentParameter {\n    let faceSizeRatio = currentParam.faceSizeRatio\n    let lightingLower = currentParam.lightingLower\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[352,364],"inline":false,"attributes":{"content":"// Set preset level (resets all parameters to defaults)\ncameraKit?.setCameraKitLevel(.strict)\ncameraKit?.setCameraKitLevel(.moderate)\ncameraKit?.setCameraKitLevel(.relaxed)\n\n// Get current parameter for inspection\nif let currentParam = cameraKit?.currentParameter {\n    let faceSizeRatio = currentParam.faceSizeRatio\n    let lightingLower = currentParam.lightingLower\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":352},"end":{"line":364}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":352},"end":{"line":364}}},{"$$mdtype":"Node","errors":[],"lines":[365,366],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":365},"end":{"line":366}}},{"$$mdtype":"Node","errors":[],"lines":[367,368],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[367,368],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[367,368],"inline":true,"attributes":{"content":"7. Custom Parameter Override"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":367},"end":{"line":368}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":367},"end":{"line":368}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":367},"end":{"line":368}}},{"$$mdtype":"Node","errors":[],"lines":[369,370],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[369,370],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[369,370],"inline":true,"attributes":{"content":"Two-Stage Configuration Pattern"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":369},"end":{"line":370}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":369},"end":{"line":370}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":369},"end":{"line":370}}},{"$$mdtype":"Node","errors":[],"lines":[371,374],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[371,372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[371,372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[371,372],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[371,372],"inline":true,"attributes":{"content":"Set Base Level"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":372}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":372}}},{"$$mdtype":"Node","errors":[],"lines":[371,372],"inline":true,"attributes":{"content":" - Establish baseline thresholds using "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":372}}},{"$$mdtype":"Node","errors":[],"lines":[371,372],"inline":true,"attributes":{"content":"setCameraKitLevel()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":372}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":372}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":372}}},{"$$mdtype":"Node","errors":[],"lines":[372,374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":true,"attributes":{"content":"Override Specific Values"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":372},"end":{"line":373}}},{"$$mdtype":"Node","errors":[],"lines":[372,373],"inline":true,"attributes":{"content":" - Use builder pattern to customize selected parameters"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":372},"end":{"line":373}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":372},"end":{"line":374}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":371},"end":{"line":374}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":"⚠️ "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":"Important:"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":" "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":"setCameraKitLevel()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":" resets all values to preset defaults. "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":"setCameraKitOverwrite()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[374,375],"inline":true,"attributes":{"content":" preserves current level and only applies specified changes."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}}],"type":"blockquote","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":374},"end":{"line":375}}},{"$$mdtype":"Node","errors":[],"lines":[376,377],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[376,377],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[376,377],"inline":true,"attributes":{"content":"Android Implementation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":376},"end":{"line":377}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":376},"end":{"line":377}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":376},"end":{"line":377}}},{"$$mdtype":"Node","errors":[],"lines":[378,400],"inline":false,"attributes":{"content":"// 1. Set base level first\ncameraKit.setCameraKitLevel(CameraKitLevel.MODERATE);\n\n// 2. Get current parameter and create builder\nCameraKitParameterBuilder parameterBuilder = cameraKit\n    .getCurrentParameter()\n    .getParameterBuilder();\n\n// 3. Override specific parameters (only set what you want to change)\nparameterBuilder.setFaceYaw(12.0f);           // Allow more head rotation\nparameterBuilder.setLightingLower(0.60f);     // Accept lower lighting\nparameterBuilder.setFaceSizeRatio(0.60f);     // Smaller face acceptable\n\n// 4. Build and apply override\nCameraKitParameter customParam = parameterBuilder.build();\ncameraKit.setCameraKitOverwrite(customParam);\n\n// 5. Verify current settings\nCameraKitParameter current = cameraKit.getCurrentParameter();\nLog.d(TAG, \"Face Yaw: \" + current.getFaceYaw());\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[378,400],"inline":false,"attributes":{"content":"// 1. Set base level first\ncameraKit.setCameraKitLevel(CameraKitLevel.MODERATE);\n\n// 2. Get current parameter and create builder\nCameraKitParameterBuilder parameterBuilder = cameraKit\n    .getCurrentParameter()\n    .getParameterBuilder();\n\n// 3. Override specific parameters (only set what you want to change)\nparameterBuilder.setFaceYaw(12.0f);           // Allow more head rotation\nparameterBuilder.setLightingLower(0.60f);     // Accept lower lighting\nparameterBuilder.setFaceSizeRatio(0.60f);     // Smaller face acceptable\n\n// 4. Build and apply override\nCameraKitParameter customParam = parameterBuilder.build();\ncameraKit.setCameraKitOverwrite(customParam);\n\n// 5. Verify current settings\nCameraKitParameter current = cameraKit.getCurrentParameter();\nLog.d(TAG, \"Face Yaw: \" + current.getFaceYaw());\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":378},"end":{"line":400}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":378},"end":{"line":400}}},{"$$mdtype":"Node","errors":[],"lines":[401,402],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[401,402],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[401,402],"inline":true,"attributes":{"content":"iOS Implementation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":401},"end":{"line":402}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":401},"end":{"line":402}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":401},"end":{"line":402}}},{"$$mdtype":"Node","errors":[],"lines":[403,431],"inline":false,"attributes":{"content":"// 1. Set base level first\ncameraKit?.setCameraKitLevel(.moderate)\n\n// 2. Get current parameter and create builder\nif let currentParam = cameraKit?.currentParameter {\n    let builder = currentParam.parameterBuilder\n\n    // 3. Override specific parameters (chainable methods)\n    builder\n        .setFaceYaw(12.0)           // Allow more head rotation\n        .setLightingLower(0.60)     // Accept lower lighting\n        .setFaceSizeRatio(0.60)     // Smaller face acceptable\n\n    // 4. Build and apply override\n    do {\n        let customParam = try builder.build()\n        cameraKit?.setCameraKitOverwrite(customParam)\n    } catch {\n        print(\"Parameter build failed: \\(error.localizedDescription)\")\n    }\n}\n\n// 5. Verify current settings\nif let current = cameraKit?.currentParameter {\n    print(\"Face Yaw: \\(current.faceYaw)\")\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[403,431],"inline":false,"attributes":{"content":"// 1. Set base level first\ncameraKit?.setCameraKitLevel(.moderate)\n\n// 2. Get current parameter and create builder\nif let currentParam = cameraKit?.currentParameter {\n    let builder = currentParam.parameterBuilder\n\n    // 3. Override specific parameters (chainable methods)\n    builder\n        .setFaceYaw(12.0)           // Allow more head rotation\n        .setLightingLower(0.60)     // Accept lower lighting\n        .setFaceSizeRatio(0.60)     // Smaller face acceptable\n\n    // 4. Build and apply override\n    do {\n        let customParam = try builder.build()\n        cameraKit?.setCameraKitOverwrite(customParam)\n    } catch {\n        print(\"Parameter build failed: \\(error.localizedDescription)\")\n    }\n}\n\n// 5. Verify current settings\nif let current = cameraKit?.currentParameter {\n    print(\"Face Yaw: \\(current.faceYaw)\")\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":403},"end":{"line":431}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":403},"end":{"line":431}}},{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[432,433],"inline":true,"attributes":{"content":"Parameter Range Validation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":432},"end":{"line":433}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":432},"end":{"line":433}}},{"$$mdtype":"Node","errors":[],"lines":[434,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}},{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":true,"attributes":{"content":"Min Value"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}},{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":true,"attributes":{"content":"Max Value"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}},{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[434,435],"inline":true,"attributes":{"content":"Default (RELAXED)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":435}}},{"$$mdtype":"Node","errors":[],"lines":[436,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":true,"attributes":{"content":"Face Size Ratio"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}},{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":true,"attributes":{"content":"0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}},{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}},{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[436,437],"inline":true,"attributes":{"content":"0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":437}}},{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":true,"attributes":{"content":"Face Yaw"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}},{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":true,"attributes":{"content":"0.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}},{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":true,"attributes":{"content":"15.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}},{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[437,438],"inline":true,"attributes":{"content":"15.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":437},"end":{"line":438}}},{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":true,"attributes":{"content":"Face Pitch Upper"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}},{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":true,"attributes":{"content":"-20.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}},{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":true,"attributes":{"content":"10.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}},{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[438,439],"inline":true,"attributes":{"content":"10.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":438},"end":{"line":439}}},{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":true,"attributes":{"content":"Face Pitch Lower"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}},{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":true,"attributes":{"content":"-20.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}},{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":true,"attributes":{"content":"10.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}},{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[439,440],"inline":true,"attributes":{"content":"-20.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":439},"end":{"line":440}}},{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":true,"attributes":{"content":"Lighting Upper"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}},{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":true,"attributes":{"content":"0.8"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}},{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}},{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[440,441],"inline":true,"attributes":{"content":"0.8"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":440},"end":{"line":441}}},{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":true,"attributes":{"content":"Lighting Lower"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}},{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":true,"attributes":{"content":"0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}},{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":true,"attributes":{"content":"1.0"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}},{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[441,442],"inline":true,"attributes":{"content":"0.55"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":441},"end":{"line":442}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":436},"end":{"line":442}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":434},"end":{"line":442}}},{"$$mdtype":"Node","errors":[],"lines":[443,444],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":443},"end":{"line":444}}},{"$$mdtype":"Node","errors":[],"lines":[445,446],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[445,446],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[445,446],"inline":true,"attributes":{"content":"8. Capture & Save Workflow"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":445},"end":{"line":446}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":445},"end":{"line":446}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":445},"end":{"line":446}}},{"$$mdtype":"Node","errors":[],"lines":[447,448],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[447,448],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[447,448],"inline":true,"attributes":{"content":"Complete Android Flow"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":447},"end":{"line":448}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":447},"end":{"line":448}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":447},"end":{"line":448}}},{"$$mdtype":"Node","errors":[],"lines":[449,542],"inline":false,"attributes":{"content":"public class CameraKitActivity extends AppCompatActivity {\n    private CameraKit cameraKit;\n    private boolean canCapture = false;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        // 1. Initialize SDK and create CameraKit (see Section 4)\n        initializeCameraKit();\n\n        // 2. Set up capture button listener\n        Button captureButton = findViewById(R.id.captureButton);\n        captureButton.setOnClickListener(v -> captureFrame());\n    }\n\n    private void initializeCameraKit() {\n        // ... See Section 4 for full initialization code\n\n        cameraKit.setCameraKitQualityCheckCallback(result -> {\n            canCapture = result.getFaceAreaQuality().isOk()\n                && result.getFacePoseQuality().isOk()\n                && result.getLightingQuality().isOk();\n\n            runOnUiThread(() -> updateCaptureButtonState());\n        });\n    }\n\n    private void captureFrame() {\n        if (!canCapture || isCaptureInProgress) return;\n\n        isCaptureInProgress = true;\n        // Use your camera implementation to take picture\n        instances.cameraHandler.obtainMessage(CameraHandler.TAKE_PICTURE,\n            new CaptureCallback()).sendToTarget();\n    }\n\n    private void onPictureCaptured(Bitmap bitmap) {\n        isCaptureInProgress = false;\n\n        if (bitmap != null) {\n            // 3. Display captured image for review\n            capturedBitmap = bitmap;\n            ((ImageView) findViewById(R.id.capturedImageView)).setImageBitmap(bitmap);\n            updateCapturedPreviewVisibility(true);\n        }\n    }\n\n    private void saveCapturedBitmap() {\n        if (capturedBitmap == null) return;\n\n        File destFile = SaveImageUtility.getDefaultDestFile(\"jpg\");\n        boolean success = SaveImageUtility.compressBitmap(\n            getApplicationContext(), capturedBitmap, destFile);\n\n        Toast.makeText(this,\n            success ? \"Image saved\" : \"Save image failed\",\n            Toast.LENGTH_SHORT).show();\n    }\n\n    private void updateCaptureButtonState() {\n        Button captureButton = findViewById(R.id.captureButton);\n        boolean enabled = canCapture && !isCaptureInProgress;\n        captureButton.setEnabled(enabled);\n        captureButton.setAlpha(enabled ? 1f : 0.45f);\n    }\n\n    @Override\n    protected void onDestroy() {\n        if (cameraKit != null) {\n            cameraKit.onDestroyed();\n        }\n        super.onDestroy();\n    }\n}\n\n// CameraFrame callback implementation\nprivate static final class CameraPreviewCallback implements PfCamera.PreviewCallback {\n    private final Instances instances;\n    private boolean isFirstFrame = true;\n\n    @Override\n    public void onPreviewFrame(byte[] data, PfCamera camera) {\n        if (data == null) return;\n\n        // 4. Send each frame to CameraKit for quality check\n        CameraFrame cameraFrame = new CameraFrame(data, previewWidth, previewHeight, isFirstFrame);\n        instances.cameraKit.sendCameraBuffer(cameraFrame);\n        isFirstFrame = false;\n    }\n}\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[449,542],"inline":false,"attributes":{"content":"public class CameraKitActivity extends AppCompatActivity {\n    private CameraKit cameraKit;\n    private boolean canCapture = false;\n\n    @Override\n    protected void onCreate(Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n\n        // 1. Initialize SDK and create CameraKit (see Section 4)\n        initializeCameraKit();\n\n        // 2. Set up capture button listener\n        Button captureButton = findViewById(R.id.captureButton);\n        captureButton.setOnClickListener(v -> captureFrame());\n    }\n\n    private void initializeCameraKit() {\n        // ... See Section 4 for full initialization code\n\n        cameraKit.setCameraKitQualityCheckCallback(result -> {\n            canCapture = result.getFaceAreaQuality().isOk()\n                && result.getFacePoseQuality().isOk()\n                && result.getLightingQuality().isOk();\n\n            runOnUiThread(() -> updateCaptureButtonState());\n        });\n    }\n\n    private void captureFrame() {\n        if (!canCapture || isCaptureInProgress) return;\n\n        isCaptureInProgress = true;\n        // Use your camera implementation to take picture\n        instances.cameraHandler.obtainMessage(CameraHandler.TAKE_PICTURE,\n            new CaptureCallback()).sendToTarget();\n    }\n\n    private void onPictureCaptured(Bitmap bitmap) {\n        isCaptureInProgress = false;\n\n        if (bitmap != null) {\n            // 3. Display captured image for review\n            capturedBitmap = bitmap;\n            ((ImageView) findViewById(R.id.capturedImageView)).setImageBitmap(bitmap);\n            updateCapturedPreviewVisibility(true);\n        }\n    }\n\n    private void saveCapturedBitmap() {\n        if (capturedBitmap == null) return;\n\n        File destFile = SaveImageUtility.getDefaultDestFile(\"jpg\");\n        boolean success = SaveImageUtility.compressBitmap(\n            getApplicationContext(), capturedBitmap, destFile);\n\n        Toast.makeText(this,\n            success ? \"Image saved\" : \"Save image failed\",\n            Toast.LENGTH_SHORT).show();\n    }\n\n    private void updateCaptureButtonState() {\n        Button captureButton = findViewById(R.id.captureButton);\n        boolean enabled = canCapture && !isCaptureInProgress;\n        captureButton.setEnabled(enabled);\n        captureButton.setAlpha(enabled ? 1f : 0.45f);\n    }\n\n    @Override\n    protected void onDestroy() {\n        if (cameraKit != null) {\n            cameraKit.onDestroyed();\n        }\n        super.onDestroy();\n    }\n}\n\n// CameraFrame callback implementation\nprivate static final class CameraPreviewCallback implements PfCamera.PreviewCallback {\n    private final Instances instances;\n    private boolean isFirstFrame = true;\n\n    @Override\n    public void onPreviewFrame(byte[] data, PfCamera camera) {\n        if (data == null) return;\n\n        // 4. Send each frame to CameraKit for quality check\n        CameraFrame cameraFrame = new CameraFrame(data, previewWidth, previewHeight, isFirstFrame);\n        instances.cameraKit.sendCameraBuffer(cameraFrame);\n        isFirstFrame = false;\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":449},"end":{"line":542}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":449},"end":{"line":542}}},{"$$mdtype":"Node","errors":[],"lines":[543,544],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[543,544],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[543,544],"inline":true,"attributes":{"content":"Complete iOS Flow"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":543},"end":{"line":544}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":543},"end":{"line":544}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":543},"end":{"line":544}}},{"$$mdtype":"Node","errors":[],"lines":[545,701],"inline":false,"attributes":{"content":"class CameraKitViewController: UIViewController {\n    private var cameraKit: CameraKit?\n    private var latestQualityCheck: CameraKitQualityCheck?\n    private var isCaptureInProgress = false\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        // 1. Initialize SDK and create CameraKit (see Section 4)\n        initializeCameraKit()\n\n        // 2. Set up capture button listener\n        captureButton.addTarget(self, action: #selector(actionCapture(_:)), for: .touchUpInside)\n    }\n\n    private func initializeCameraKit() {\n        let modelPath = Bundle.main.path(forResource: \"model\", ofType: \"\")\n        CameraKit.create(withModelPath: modelPath) { [weak self] cameraKit, error in\n            guard let self = self, let cameraKit = cameraKit else { return }\n\n            self.cameraKit = cameraKit\n            self.cameraKit?.delegate = self\n\n            // 3. Notify when camera opens (after AVCaptureSession setup)\n            DispatchQueue.global(qos: .background).async { [weak self] in\n                guard let self = self else { return }\n                self.session?.startRunning()\n                self.cameraKit?.onCameraOpen(true)\n            }\n\n            // 4. Set initial quality level\n            self.cameraKit?.setCameraKitLevel(.moderate)\n        }\n    }\n\n    @objc private func actionCapture(_ sender: UIButton) {\n        guard latestQualityCheck?.canCapture() == true,\n              isCaptureInProgress == false else { return }\n\n        capturePhoto()\n    }\n\n    private func capturePhoto() {\n        guard let photoOutput = photoOutput else { return }\n\n        let settings = AVCapturePhotoSettings()\n        if photoOutput.isHighResolutionCaptureEnabled {\n            settings.isHighResolutionPhotoEnabled = true\n        }\n\n        isCaptureInProgress = true\n        updateCaptureButtonAvailability()\n        photoOutput.capturePhoto(with: settings, delegate: self)\n    }\n\n    private func showCaptureReview(with image: UIImage) {\n        capturedImage = image\n        capturedImageView.image = image\n\n        // Stop camera preview during review\n        session?.stopRunning()\n\n        captureReviewView.isHidden = false\n        view.bringSubviewToFront(captureReviewView)\n\n        updateCaptureButtonAvailability()\n    }\n\n    private func saveCapturedImage() {\n        guard let image = capturedImage else { return }\n\n        // Request photo library permission and save\n        PHPhotoLibrary.requestAuthorization(for: .addOnly) { status in\n            guard status == .authorized || status == .limited else { return }\n\n            PHPhotoLibrary.shared().performChanges({\n                PHAssetChangeRequest.creationRequestForAsset(from: image)\n            }) { success, error in\n                DispatchQueue.main.async { [weak self] in\n                    if success {\n                        self?.presentSimpleAlert(title: \"Saved\", message: \"Image saved to Photos\")\n                    } else {\n                        self?.presentSimpleAlert(title: \"Save Failed\", message: error?.localizedDescription ?? \"\")\n                    }\n                }\n            }\n        }\n    }\n\n    private func updateCaptureButtonAvailability() {\n        let canCapture = latestQualityCheck?.canCapture() == true &&\n                        isCaptureInProgress == false &&\n                        capturedImage == nil\n\n        captureButton.isEnabled = canCapture\n        captureButton.alpha = canCapture ? 1.0 : 0.5\n    }\n\n    // CameraKitDelegate implementation\n    extension CameraKitViewController: CameraKitDelegate {\n        func cameraKit(_ cameraKit: CameraKit, checkedResult: CameraKitQualityCheck) {\n            DispatchQueue.main.async { [weak self] in\n                self?.latestQualityCheck = checkedResult\n\n                // Update UI indicators\n                self?.lightingQuality.backgroundColor = checkedResult.lightingQuality.color\n                self?.faceFrontalQuality.backgroundColor = checkedResult.facePoseQuality.color\n                self?.faceAreaQuality.backgroundColor = checkedResult.faceAreaQuality.color\n\n                self?.updateCaptureButtonAvailability()\n            }\n        }\n    }\n\n    // AVCaptureVideoDataOutputSampleBufferDelegate implementation\n    extension CameraKitViewController: AVCaptureVideoDataOutputSampleBufferDelegate {\n        func captureOutput(_ output: AVCaptureOutput,\n                           didOutput sampleBuffer: CMSampleBuffer,\n                           from connection: AVCaptureConnection) {\n            // 5. Send each frame to CameraKit for quality check\n            cameraKit?.sendCameraBuffer(sampleBuffer)\n        }\n    }\n\n    // AVCapturePhotoCaptureDelegate implementation\n    extension CameraKitViewController: AVCapturePhotoCaptureDelegate {\n        func photoOutput(_ output: AVCapturePhotoOutput,\n                        didFinishProcessingPhoto photo: AVCapturePhoto,\n                        error: Error?) {\n            guard let imageData = photo.fileDataRepresentation(),\n                  let image = UIImage(data: imageData) else { return }\n\n            isCaptureInProgress = false\n\n            // Process and show captured image\n            DispatchQueue.main.async { [weak self] in\n                self?.showCaptureReview(with: self?.processedCapturedImage(image) ?? image)\n            }\n        }\n    }\n\n    deinit {\n        cameraKit = nil\n    }\n}\n\n// Helper extension for quality check validation\nextension CameraKitQualityCheck {\n    func canCapture() -> Bool {\n        return lightingQuality.isOk &&\n               faceAreaQuality.isOk &&\n               facePoseQuality.isOk\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[545,701],"inline":false,"attributes":{"content":"class CameraKitViewController: UIViewController {\n    private var cameraKit: CameraKit?\n    private var latestQualityCheck: CameraKitQualityCheck?\n    private var isCaptureInProgress = false\n\n    override func viewDidLoad() {\n        super.viewDidLoad()\n\n        // 1. Initialize SDK and create CameraKit (see Section 4)\n        initializeCameraKit()\n\n        // 2. Set up capture button listener\n        captureButton.addTarget(self, action: #selector(actionCapture(_:)), for: .touchUpInside)\n    }\n\n    private func initializeCameraKit() {\n        let modelPath = Bundle.main.path(forResource: \"model\", ofType: \"\")\n        CameraKit.create(withModelPath: modelPath) { [weak self] cameraKit, error in\n            guard let self = self, let cameraKit = cameraKit else { return }\n\n            self.cameraKit = cameraKit\n            self.cameraKit?.delegate = self\n\n            // 3. Notify when camera opens (after AVCaptureSession setup)\n            DispatchQueue.global(qos: .background).async { [weak self] in\n                guard let self = self else { return }\n                self.session?.startRunning()\n                self.cameraKit?.onCameraOpen(true)\n            }\n\n            // 4. Set initial quality level\n            self.cameraKit?.setCameraKitLevel(.moderate)\n        }\n    }\n\n    @objc private func actionCapture(_ sender: UIButton) {\n        guard latestQualityCheck?.canCapture() == true,\n              isCaptureInProgress == false else { return }\n\n        capturePhoto()\n    }\n\n    private func capturePhoto() {\n        guard let photoOutput = photoOutput else { return }\n\n        let settings = AVCapturePhotoSettings()\n        if photoOutput.isHighResolutionCaptureEnabled {\n            settings.isHighResolutionPhotoEnabled = true\n        }\n\n        isCaptureInProgress = true\n        updateCaptureButtonAvailability()\n        photoOutput.capturePhoto(with: settings, delegate: self)\n    }\n\n    private func showCaptureReview(with image: UIImage) {\n        capturedImage = image\n        capturedImageView.image = image\n\n        // Stop camera preview during review\n        session?.stopRunning()\n\n        captureReviewView.isHidden = false\n        view.bringSubviewToFront(captureReviewView)\n\n        updateCaptureButtonAvailability()\n    }\n\n    private func saveCapturedImage() {\n        guard let image = capturedImage else { return }\n\n        // Request photo library permission and save\n        PHPhotoLibrary.requestAuthorization(for: .addOnly) { status in\n            guard status == .authorized || status == .limited else { return }\n\n            PHPhotoLibrary.shared().performChanges({\n                PHAssetChangeRequest.creationRequestForAsset(from: image)\n            }) { success, error in\n                DispatchQueue.main.async { [weak self] in\n                    if success {\n                        self?.presentSimpleAlert(title: \"Saved\", message: \"Image saved to Photos\")\n                    } else {\n                        self?.presentSimpleAlert(title: \"Save Failed\", message: error?.localizedDescription ?? \"\")\n                    }\n                }\n            }\n        }\n    }\n\n    private func updateCaptureButtonAvailability() {\n        let canCapture = latestQualityCheck?.canCapture() == true &&\n                        isCaptureInProgress == false &&\n                        capturedImage == nil\n\n        captureButton.isEnabled = canCapture\n        captureButton.alpha = canCapture ? 1.0 : 0.5\n    }\n\n    // CameraKitDelegate implementation\n    extension CameraKitViewController: CameraKitDelegate {\n        func cameraKit(_ cameraKit: CameraKit, checkedResult: CameraKitQualityCheck) {\n            DispatchQueue.main.async { [weak self] in\n                self?.latestQualityCheck = checkedResult\n\n                // Update UI indicators\n                self?.lightingQuality.backgroundColor = checkedResult.lightingQuality.color\n                self?.faceFrontalQuality.backgroundColor = checkedResult.facePoseQuality.color\n                self?.faceAreaQuality.backgroundColor = checkedResult.faceAreaQuality.color\n\n                self?.updateCaptureButtonAvailability()\n            }\n        }\n    }\n\n    // AVCaptureVideoDataOutputSampleBufferDelegate implementation\n    extension CameraKitViewController: AVCaptureVideoDataOutputSampleBufferDelegate {\n        func captureOutput(_ output: AVCaptureOutput,\n                           didOutput sampleBuffer: CMSampleBuffer,\n                           from connection: AVCaptureConnection) {\n            // 5. Send each frame to CameraKit for quality check\n            cameraKit?.sendCameraBuffer(sampleBuffer)\n        }\n    }\n\n    // AVCapturePhotoCaptureDelegate implementation\n    extension CameraKitViewController: AVCapturePhotoCaptureDelegate {\n        func photoOutput(_ output: AVCapturePhotoOutput,\n                        didFinishProcessingPhoto photo: AVCapturePhoto,\n                        error: Error?) {\n            guard let imageData = photo.fileDataRepresentation(),\n                  let image = UIImage(data: imageData) else { return }\n\n            isCaptureInProgress = false\n\n            // Process and show captured image\n            DispatchQueue.main.async { [weak self] in\n                self?.showCaptureReview(with: self?.processedCapturedImage(image) ?? image)\n            }\n        }\n    }\n\n    deinit {\n        cameraKit = nil\n    }\n}\n\n// Helper extension for quality check validation\nextension CameraKitQualityCheck {\n    func canCapture() -> Bool {\n        return lightingQuality.isOk &&\n               faceAreaQuality.isOk &&\n               facePoseQuality.isOk\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":545},"end":{"line":701}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":545},"end":{"line":701}}},{"$$mdtype":"Node","errors":[],"lines":[702,703],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":702},"end":{"line":703}}},{"$$mdtype":"Node","errors":[],"lines":[704,705],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[704,705],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[704,705],"inline":true,"attributes":{"content":"9. Service-Specific Recommendations"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":704},"end":{"line":705}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":704},"end":{"line":705}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":704},"end":{"line":705}}},{"$$mdtype":"Node","errors":[],"lines":[706,707],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[706,707],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[706,707],"inline":true,"attributes":{"content":"Quality Level Selection by AI Service"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":706},"end":{"line":707}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":706},"end":{"line":707}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":706},"end":{"line":707}}},{"$$mdtype":"Node","errors":[],"lines":[708,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":true,"attributes":{"content":"AI Service"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}},{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":true,"attributes":{"content":"Recommended Level"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}},{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[708,709],"inline":true,"attributes":{"content":"Information"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":709}}},{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":true,"attributes":{"content":"AI Skin Analysis"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}},{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":true,"attributes":{"content":"STRICT or MODERATE"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}},{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[710,711],"inline":true,"attributes":{"content":"Accurate skin concern detection requires a large, front-facing face image captured under consistent, even lighting to ensure clear visibility and reliable analysis."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":710},"end":{"line":711}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":708},"end":{"line":711}}},{"$$mdtype":"Node","errors":[],"lines":[712,713],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[712,713],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[712,713],"inline":true,"attributes":{"content":"Configuration Examples"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":712},"end":{"line":713}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":712},"end":{"line":713}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":712},"end":{"line":713}}},{"$$mdtype":"Node","errors":[],"lines":[714,715],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[714,715],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[714,715],"inline":true,"attributes":{"content":"AI Skin Analysis (STRICT)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":714},"end":{"line":715}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":714},"end":{"line":715}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":714},"end":{"line":715}}},{"$$mdtype":"Node","errors":[],"lines":[716,721],"inline":false,"attributes":{"content":"// Android\ncameraKit.setCameraKitLevel(CameraKitLevel.STRICT);\n// Ensures: Face ≥75%, Yaw ±5°, Lighting 0.8-0.9\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[716,721],"inline":false,"attributes":{"content":"// Android\ncameraKit.setCameraKitLevel(CameraKitLevel.STRICT);\n// Ensures: Face ≥75%, Yaw ±5°, Lighting 0.8-0.9\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":716},"end":{"line":721}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":716},"end":{"line":721}}},{"$$mdtype":"Node","errors":[],"lines":[722,726],"inline":false,"attributes":{"content":"// iOS\ncameraKit?.setCameraKitLevel(.strict)\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[722,726],"inline":false,"attributes":{"content":"// iOS\ncameraKit?.setCameraKitLevel(.strict)\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":722},"end":{"line":726}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":722},"end":{"line":726}}},{"$$mdtype":"Node","errors":[],"lines":[727,728],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[727,728],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[727,728],"inline":true,"attributes":{"content":"RELAXED with Custom Override"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":727},"end":{"line":728}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":727},"end":{"line":728}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":727},"end":{"line":728}}},{"$$mdtype":"Node","errors":[],"lines":[729,738],"inline":false,"attributes":{"content":"// Android - More lenient for better UX\ncameraKit.setCameraKitLevel(CameraKitLevel.RELAXED);\n\nCameraKitParameterBuilder builder = cameraKit.getCurrentParameter().getParameterBuilder();\nbuilder.setFaceYaw(15.0f);        // Allow more head movement\nbuilder.setLightingLower(0.55f);  // Accept lower lighting\ncameraKit.setCameraKitOverwrite(builder.build());\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[729,738],"inline":false,"attributes":{"content":"// Android - More lenient for better UX\ncameraKit.setCameraKitLevel(CameraKitLevel.RELAXED);\n\nCameraKitParameterBuilder builder = cameraKit.getCurrentParameter().getParameterBuilder();\nbuilder.setFaceYaw(15.0f);        // Allow more head movement\nbuilder.setLightingLower(0.55f);  // Accept lower lighting\ncameraKit.setCameraKitOverwrite(builder.build());\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":729},"end":{"line":738}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":729},"end":{"line":738}}},{"$$mdtype":"Node","errors":[],"lines":[739,756],"inline":false,"attributes":{"content":"// iOS - More lenient for better UX\ncameraKit?.setCameraKitLevel(.relaxed)\n\nif let currentParam = cameraKit?.currentParameter {\n    let builder = currentParam.parameterBuilder\n        .setFaceYaw(15.0)           // Allow more head movement\n        .setLightingLower(0.55)     // Accept lower lighting\n\n    do {\n        let customParam = try builder.build()\n        cameraKit?.setCameraKitOverwrite(customParam)\n    } catch {\n        print(\"Override failed: \\(error)\")\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[739,756],"inline":false,"attributes":{"content":"// iOS - More lenient for better UX\ncameraKit?.setCameraKitLevel(.relaxed)\n\nif let currentParam = cameraKit?.currentParameter {\n    let builder = currentParam.parameterBuilder\n        .setFaceYaw(15.0)           // Allow more head movement\n        .setLightingLower(0.55)     // Accept lower lighting\n\n    do {\n        let customParam = try builder.build()\n        cameraKit?.setCameraKitOverwrite(customParam)\n    } catch {\n        print(\"Override failed: \\(error)\")\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":739},"end":{"line":756}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":739},"end":{"line":756}}},{"$$mdtype":"Node","errors":[],"lines":[757,758],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":757},"end":{"line":758}}},{"$$mdtype":"Node","errors":[],"lines":[759,760],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[759,760],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[759,760],"inline":true,"attributes":{"content":"10. API Reference Links"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":759},"end":{"line":760}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":759},"end":{"line":760}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":759},"end":{"line":760}}},{"$$mdtype":"Node","errors":[],"lines":[761,762],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[761,762],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[761,762],"inline":true,"attributes":{"content":"Android Documentation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":761},"end":{"line":762}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":761},"end":{"line":762}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":761},"end":{"line":762}}},{"$$mdtype":"Node","errors":[],"lines":[763,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":true,"attributes":{"content":"Resource"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}},{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[763,764],"inline":true,"attributes":{"content":"Link"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":764}}},{"$$mdtype":"Node","errors":[],"lines":[765,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":true,"attributes":{"content":"API Reference"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}},{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[765,766],"inline":true,"attributes":{"content":"Doc-API_References"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":766}}},{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":true,"attributes":{"content":"Starting Guide"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}},{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[766,767],"inline":true,"attributes":{"content":"Android Starting Guide"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":766},"end":{"line":767}}},{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":true,"attributes":{"content":"Sample Project"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}},{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[767,768],"inline":true,"attributes":{"content":"Sample_Code-Camera_Kit"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":767},"end":{"line":768}}},{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":true,"attributes":{"content":"AAR Library"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}},{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":true,"attributes":{"content":"PerfectLibCameraKit.aar"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}},{"$$mdtype":"Node","errors":[],"lines":[768,769],"inline":true,"attributes":{"content":" (Library folder)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":768},"end":{"line":769}}},{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":true,"attributes":{"content":"Model Files"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}},{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":true,"attributes":{"content":".bin"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}},{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":true,"attributes":{"content":" and "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}},{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":true,"attributes":{"content":".mnn"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}},{"$$mdtype":"Node","errors":[],"lines":[769,770],"inline":true,"attributes":{"content":" files (model folder)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":769},"end":{"line":770}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":765},"end":{"line":770}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":763},"end":{"line":770}}},{"$$mdtype":"Node","errors":[],"lines":[771,772],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[771,772],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[771,772],"inline":true,"attributes":{"content":"iOS Documentation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":771},"end":{"line":772}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":771},"end":{"line":772}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":771},"end":{"line":772}}},{"$$mdtype":"Node","errors":[],"lines":[773,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":true,"attributes":{"content":"Resource"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}},{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[773,774],"inline":true,"attributes":{"content":"Link"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":774}}},{"$$mdtype":"Node","errors":[],"lines":[775,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":true,"attributes":{"content":"API Reference"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}},{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[775,776],"inline":true,"attributes":{"content":"APIDocuments-iOS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":776}}},{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":true,"attributes":{"content":"Starting Guide"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}},{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[776,777],"inline":true,"attributes":{"content":"iOS Starting Guide"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":776},"end":{"line":777}}},{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":true,"attributes":{"content":"Sample Project"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}},{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[777,778],"inline":true,"attributes":{"content":"Sample-iOS-CameraKitDemo"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":777},"end":{"line":778}}},{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":true,"attributes":{"content":"Framework"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}},{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[778,779],"inline":true,"attributes":{"content":"PerfectLibCameraKit.framework"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":778},"end":{"line":779}}},{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":true,"attributes":{"content":"Model Files"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}},{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[779,780],"inline":true,"attributes":{"content":"Model folder (drag into project)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":779},"end":{"line":780}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":775},"end":{"line":780}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":773},"end":{"line":780}}},{"$$mdtype":"Node","errors":[],"lines":[781,782],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[781,782],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[781,782],"inline":true,"attributes":{"content":"Key API Classes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":781},"end":{"line":782}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":781},"end":{"line":782}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":781},"end":{"line":782}}},{"$$mdtype":"Node","errors":[],"lines":[783,784],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[783,784],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[783,784],"inline":true,"attributes":{"content":"Android"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":783},"end":{"line":784}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":783},"end":{"line":784}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":783},"end":{"line":784}}},{"$$mdtype":"Node","errors":[],"lines":[785,799],"inline":false,"attributes":{"content":"// Core Classes\ncom.perfectcorp.perfectlib.CameraKit\ncom.perfectcorp.perfectlib.CameraKit.CreateCallback\ncom.perfectcorp.perfectlib.CameraKitQualityCheck\ncom.perfectcorp.perfectlib.CameraKitParameterBuilder\ncom.perfectcorp.perfectlib.CameraKitLevel\ncom.perfectcorp.perfectlib.CameraFrame\n\n// Quality Check Enums\nCameraKitQualityCheck.FaceAreaQuality\nCameraKitQualityCheck.FacePoseQuality\nCameraKitQualityCheck.LightingQuality\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[785,799],"inline":false,"attributes":{"content":"// Core Classes\ncom.perfectcorp.perfectlib.CameraKit\ncom.perfectcorp.perfectlib.CameraKit.CreateCallback\ncom.perfectcorp.perfectlib.CameraKitQualityCheck\ncom.perfectcorp.perfectlib.CameraKitParameterBuilder\ncom.perfectcorp.perfectlib.CameraKitLevel\ncom.perfectcorp.perfectlib.CameraFrame\n\n// Quality Check Enums\nCameraKitQualityCheck.FaceAreaQuality\nCameraKitQualityCheck.FacePoseQuality\nCameraKitQualityCheck.LightingQuality\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":785},"end":{"line":799}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":785},"end":{"line":799}}},{"$$mdtype":"Node","errors":[],"lines":[800,801],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[800,801],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[800,801],"inline":true,"attributes":{"content":"iOS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":800},"end":{"line":801}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":800},"end":{"line":801}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":800},"end":{"line":801}}},{"$$mdtype":"Node","errors":[],"lines":[802,815],"inline":false,"attributes":{"content":"// Core Classes\nPFCameraKit\nPFCameraKitDelegate\nPFCameraKitQualityCheck\nPFCameraKitParameterBuilder\nPFCameraKitLevel\n\n// Quality Check Enums\nPFCameraKitFaceAreaQuality\nPFCameraKitFacePoseQuality\nPFCameraKitLightingQuality\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[802,815],"inline":false,"attributes":{"content":"// Core Classes\nPFCameraKit\nPFCameraKitDelegate\nPFCameraKitQualityCheck\nPFCameraKitParameterBuilder\nPFCameraKitLevel\n\n// Quality Check Enums\nPFCameraKitFaceAreaQuality\nPFCameraKitFacePoseQuality\nPFCameraKitLightingQuality\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":802},"end":{"line":815}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":802},"end":{"line":815}}},{"$$mdtype":"Node","errors":[],"lines":[816,817],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":816},"end":{"line":817}}},{"$$mdtype":"Node","errors":[],"lines":[818,819],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[818,819],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[818,819],"inline":true,"attributes":{"content":"11. Camera Lifecycle Setup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":818},"end":{"line":819}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":818},"end":{"line":819}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":818},"end":{"line":819}}},{"$$mdtype":"Node","errors":[],"lines":[820,821],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[820,821],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[820,821],"inline":true,"attributes":{"content":"This section outlines the complete camera lifecycle workflow for integrating Perfect Corp.'s Mobile CameraKit with your custom camera implementation on Android and iOS."},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":820},"end":{"line":821}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":820},"end":{"line":821}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":820},"end":{"line":821}}},{"$$mdtype":"Node","errors":[],"lines":[822,823],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":822},"end":{"line":823}}},{"$$mdtype":"Node","errors":[],"lines":[824,825],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[824,825],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[824,825],"inline":true,"attributes":{"content":"Android Camera Lifecycle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":824},"end":{"line":825}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":824},"end":{"line":825}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":824},"end":{"line":825}}},{"$$mdtype":"Node","errors":[],"lines":[826,827],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[826,827],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[826,827],"inline":true,"attributes":{"content":"Step 1: Request Runtime Permissions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":826},"end":{"line":827}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":826},"end":{"line":827}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":826},"end":{"line":827}}},{"$$mdtype":"Node","errors":[],"lines":[828,836],"inline":false,"attributes":{"content":"// Before initializing camera, request CAMERA permission\nif (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)\n    != PackageManager.PERMISSION_GRANTED) {\n    ActivityCompat.requestPermissions(this,\n        new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);\n}\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[828,836],"inline":false,"attributes":{"content":"// Before initializing camera, request CAMERA permission\nif (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)\n    != PackageManager.PERMISSION_GRANTED) {\n    ActivityCompat.requestPermissions(this,\n        new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":828},"end":{"line":836}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":828},"end":{"line":836}}},{"$$mdtype":"Node","errors":[],"lines":[837,838],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[837,838],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[837,838],"inline":true,"attributes":{"content":"Step 2: Open Camera Instance"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":837},"end":{"line":838}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":837},"end":{"line":838}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":837},"end":{"line":838}}},{"$$mdtype":"Node","errors":[],"lines":[839,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}},{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}},{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[839,840],"inline":true,"attributes":{"content":"Key Parameters"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":840}}},{"$$mdtype":"Node","errors":[],"lines":[841,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":"PfCamera.open()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":"After permission granted"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":"context"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":"library"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":" (CAMERA_1/CAMERA_2), "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":"facing"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[841,842],"inline":true,"attributes":{"content":" (FRONT/BACK)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":842}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":"cameraKit.onCameraOpened()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":"Immediately after camera opens"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":"isFrontCamera"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":"orientation"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":"previewWidth"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":", "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[842,843],"inline":true,"attributes":{"content":"previewHeight"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":842},"end":{"line":843}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":841},"end":{"line":843}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":839},"end":{"line":843}}},{"$$mdtype":"Node","errors":[],"lines":[844,856],"inline":false,"attributes":{"content":"// In CameraHandler.startCamera()\ncamera = PfCamera.open(context, library, facing);\nPfCamera.CameraInfo info = camera.getCameraInfo();\n\n// Notify CameraKit about camera state\ncameraKit.onCameraOpened(\n    isFrontCamera = (info.facing == FRONT),\n    cameraOrientation = info.orientation,\n    previewWidth = previewSize.width,\n    previewHeight = previewSize.height);\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[844,856],"inline":false,"attributes":{"content":"// In CameraHandler.startCamera()\ncamera = PfCamera.open(context, library, facing);\nPfCamera.CameraInfo info = camera.getCameraInfo();\n\n// Notify CameraKit about camera state\ncameraKit.onCameraOpened(\n    isFrontCamera = (info.facing == FRONT),\n    cameraOrientation = info.orientation,\n    previewWidth = previewSize.width,\n    previewHeight = previewSize.height);\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":844},"end":{"line":856}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":844},"end":{"line":856}}},{"$$mdtype":"Node","errors":[],"lines":[857,858],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[857,858],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[857,858],"inline":true,"attributes":{"content":"Step 3: Configure Preview & Picture Size"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":857},"end":{"line":858}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":857},"end":{"line":858}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":857},"end":{"line":858}}},{"$$mdtype":"Node","errors":[],"lines":[859,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}},{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":true,"attributes":{"content":"Purpose"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}},{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[859,860],"inline":true,"attributes":{"content":"Recommended Values"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":860}}},{"$$mdtype":"Node","errors":[],"lines":[861,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":true,"attributes":{"content":"tryToSetPreviewAndPictureSize()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}},{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":true,"attributes":{"content":"Set both sizes simultaneously"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}},{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[861,862],"inline":true,"attributes":{"content":"1280x720 (recommended)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":862}}},{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":true,"attributes":{"content":"setPreviewCallback()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}},{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":true,"attributes":{"content":"Receive preview frames for CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}},{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[862,863],"inline":true,"attributes":{"content":"Required for quality check"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":862},"end":{"line":863}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":861},"end":{"line":863}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":859},"end":{"line":863}}},{"$$mdtype":"Node","errors":[],"lines":[864,875],"inline":false,"attributes":{"content":"// Set preview/picture size before starting preview\ncamera.tryToSetPreviewAndPictureSize(1280, 720);\n\nPfCamera.Size previewSize = camera.getParameters().getPreviewSize();\npreviewWidth = previewSize.width;\npreviewHeight = previewSize.height;\n\n// IMPORTANT: Set preview callback BEFORE startPreview()\ncamera.setPreviewCallback(new CameraPreviewCallback(instances, camera));\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[864,875],"inline":false,"attributes":{"content":"// Set preview/picture size before starting preview\ncamera.tryToSetPreviewAndPictureSize(1280, 720);\n\nPfCamera.Size previewSize = camera.getParameters().getPreviewSize();\npreviewWidth = previewSize.width;\npreviewHeight = previewSize.height;\n\n// IMPORTANT: Set preview callback BEFORE startPreview()\ncamera.setPreviewCallback(new CameraPreviewCallback(instances, camera));\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":864},"end":{"line":875}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":864},"end":{"line":875}}},{"$$mdtype":"Node","errors":[],"lines":[876,877],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[876,877],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[876,877],"inline":true,"attributes":{"content":"Step 4: Start Preview & Auto-Focus"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":876},"end":{"line":877}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":876},"end":{"line":877}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":876},"end":{"line":877}}},{"$$mdtype":"Node","errors":[],"lines":[878,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}},{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}},{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[878,879],"inline":true,"attributes":{"content":"Notes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":879}}},{"$$mdtype":"Node","errors":[],"lines":[880,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":true,"attributes":{"content":"startPreview()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}},{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":true,"attributes":{"content":"After setting display/texture and callback"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}},{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[880,881],"inline":true,"attributes":{"content":"Must be called before sending frames"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":881}}},{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":true,"attributes":{"content":"autoFocus()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}},{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":true,"attributes":{"content":"After preview starts (optional)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}},{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[881,882],"inline":true,"attributes":{"content":"Use CONTINUOUS_PICTURE mode for best results"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":881},"end":{"line":882}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":880},"end":{"line":882}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":878},"end":{"line":882}}},{"$$mdtype":"Node","errors":[],"lines":[883,891],"inline":false,"attributes":{"content":"// In CameraHandler.startPreview()\ncamera.startPreview();\nisPreviewStarted = true;\n\n// Optional: Auto-focus for better image quality\ncamera.autoFocus(autoFocusCallback);\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[883,891],"inline":false,"attributes":{"content":"// In CameraHandler.startPreview()\ncamera.startPreview();\nisPreviewStarted = true;\n\n// Optional: Auto-focus for better image quality\ncamera.autoFocus(autoFocusCallback);\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":883},"end":{"line":891}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":883},"end":{"line":891}}},{"$$mdtype":"Node","errors":[],"lines":[892,893],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[892,893],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[892,893],"inline":true,"attributes":{"content":"Step 5: Send Preview Frames to CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":892},"end":{"line":893}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":892},"end":{"line":893}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":892},"end":{"line":893}}},{"$$mdtype":"Node","errors":[],"lines":[894,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}},{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":true,"attributes":{"content":"Frequency"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}},{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[894,895],"inline":true,"attributes":{"content":"Thread"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":895}}},{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":true,"attributes":{"content":"sendCameraBuffer()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}},{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":true,"attributes":{"content":"Every preview frame (30fps recommended)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}},{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[896,897],"inline":true,"attributes":{"content":"Background thread from callback"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":896},"end":{"line":897}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":894},"end":{"line":897}}},{"$$mdtype":"Node","errors":[],"lines":[898,905],"inline":false,"attributes":{"content":"// In CameraPreviewCallback.onPreviewFrame()\nCameraFrame cameraFrame = new CameraFrame(data, previewWidth, previewHeight, isFirstFrame);\ncameraFrame.setFrameOrientation(frameRotationDegrees); // Set if needed\ncameraKit.sendCameraBuffer(cameraFrame);\nisFirstFrame = false;\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[898,905],"inline":false,"attributes":{"content":"// In CameraPreviewCallback.onPreviewFrame()\nCameraFrame cameraFrame = new CameraFrame(data, previewWidth, previewHeight, isFirstFrame);\ncameraFrame.setFrameOrientation(frameRotationDegrees); // Set if needed\ncameraKit.sendCameraBuffer(cameraFrame);\nisFirstFrame = false;\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":898},"end":{"line":905}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":898},"end":{"line":905}}},{"$$mdtype":"Node","errors":[],"lines":[906,907],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[906,907],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[906,907],"inline":true,"attributes":{"content":"Step 6: Capture Picture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":906},"end":{"line":907}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":906},"end":{"line":907}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":906},"end":{"line":907}}},{"$$mdtype":"Node","errors":[],"lines":[908,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}},{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}},{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[908,909],"inline":true,"attributes":{"content":"Result"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":909}}},{"$$mdtype":"Node","errors":[],"lines":[910,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":true,"attributes":{"content":"takePicture()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}},{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":true,"attributes":{"content":"When capture button pressed (quality check passed)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}},{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[910,911],"inline":true,"attributes":{"content":"Stops preview temporarily"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":911}}},{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":true,"attributes":{"content":"onPictureTaken()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}},{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":true,"attributes":{"content":"In PictureCallback"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}},{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[911,912],"inline":true,"attributes":{"content":"Returns JPEG byte array"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":911},"end":{"line":912}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":910},"end":{"line":912}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":908},"end":{"line":912}}},{"$$mdtype":"Node","errors":[],"lines":[913,927],"inline":false,"attributes":{"content":"// In CameraHandler.takePicture()\ncamera.takePicture(new PfCamera.PictureCallback() {\n    @Override\n    public void onPictureTaken(byte[] pictureData) {\n        // Decode and process captured image\n        Bitmap bitmap = decodeCapturedBitmap(pictureData);\n        runOnUiThread(() -> onPictureCaptured(bitmap));\n\n        // Preview will be stopped automatically after capture\n        isPreviewStarted = false;\n    }\n});\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[913,927],"inline":false,"attributes":{"content":"// In CameraHandler.takePicture()\ncamera.takePicture(new PfCamera.PictureCallback() {\n    @Override\n    public void onPictureTaken(byte[] pictureData) {\n        // Decode and process captured image\n        Bitmap bitmap = decodeCapturedBitmap(pictureData);\n        runOnUiThread(() -> onPictureCaptured(bitmap));\n\n        // Preview will be stopped automatically after capture\n        isPreviewStarted = false;\n    }\n});\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":913},"end":{"line":927}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":913},"end":{"line":927}}},{"$$mdtype":"Node","errors":[],"lines":[928,929],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[928,929],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[928,929],"inline":true,"attributes":{"content":"Step 7: Save Captured Photo"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":928},"end":{"line":929}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":928},"end":{"line":929}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":928},"end":{"line":929}}},{"$$mdtype":"Node","errors":[],"lines":[930,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}},{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}},{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[930,931],"inline":true,"attributes":{"content":"Permission Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":931}}},{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":true,"attributes":{"content":"compressBitmap()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}},{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":true,"attributes":{"content":"After user confirms save"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}},{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[932,933],"inline":true,"attributes":{"content":"WRITE_EXTERNAL_STORAGE (Android 9-) or MediaStore (Android 10+)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":932},"end":{"line":933}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":930},"end":{"line":933}}},{"$$mdtype":"Node","errors":[],"lines":[934,940],"inline":false,"attributes":{"content":"// In onSaveCapturedButtonClicked()\nFile destFile = SaveImageUtility.getDefaultDestFile(\"jpg\");\nboolean success = SaveImageUtility.compressBitmap(\n    getApplicationContext(), capturedBitmap, destFile);\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[934,940],"inline":false,"attributes":{"content":"// In onSaveCapturedButtonClicked()\nFile destFile = SaveImageUtility.getDefaultDestFile(\"jpg\");\nboolean success = SaveImageUtility.compressBitmap(\n    getApplicationContext(), capturedBitmap, destFile);\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":934},"end":{"line":940}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":934},"end":{"line":940}}},{"$$mdtype":"Node","errors":[],"lines":[941,942],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[941,942],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[941,942],"inline":true,"attributes":{"content":"Step 8: Stop & Release Camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":941},"end":{"line":942}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":941},"end":{"line":942}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":941},"end":{"line":942}}},{"$$mdtype":"Node","errors":[],"lines":[943,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}},{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}},{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[943,944],"inline":true,"attributes":{"content":"Cleanup Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":944}}},{"$$mdtype":"Node","errors":[],"lines":[945,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":true,"attributes":{"content":"stopPreview()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}},{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":true,"attributes":{"content":"Before releasing camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}},{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[945,946],"inline":true,"attributes":{"content":"Clear preview callback first"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":946}}},{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":true,"attributes":{"content":"release()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}},{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":true,"attributes":{"content":"In onDestroy() or when activity stops"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}},{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[946,947],"inline":true,"attributes":{"content":"Must be called to free resources"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":946},"end":{"line":947}}},{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":true,"attributes":{"content":"cameraKit.onDestroyed()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}},{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":true,"attributes":{"content":"After camera release"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}},{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[947,948],"inline":true,"attributes":{"content":"Clean up CameraKit instance"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":947},"end":{"line":948}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":945},"end":{"line":948}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":943},"end":{"line":948}}},{"$$mdtype":"Node","errors":[],"lines":[949,968],"inline":false,"attributes":{"content":"// In CameraHandler.stopCamera()\nif (camera != null) {\n    camera.stopPreview();\n    isPreviewStarted = false;\n    camera.setPreviewCallback(null); // Clear callback first\n    camera.release();\n    camera = null;\n}\n\n// In Activity.onDestroy()\n@Override\nprotected void onDestroy() {\n    if (cameraKit != null) {\n        cameraKit.onDestroyed();\n    }\n    super.onDestroy();\n}\n","language":"java"},"children":[{"$$mdtype":"Node","errors":[],"lines":[949,968],"inline":false,"attributes":{"content":"// In CameraHandler.stopCamera()\nif (camera != null) {\n    camera.stopPreview();\n    isPreviewStarted = false;\n    camera.setPreviewCallback(null); // Clear callback first\n    camera.release();\n    camera = null;\n}\n\n// In Activity.onDestroy()\n@Override\nprotected void onDestroy() {\n    if (cameraKit != null) {\n        cameraKit.onDestroyed();\n    }\n    super.onDestroy();\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":949},"end":{"line":968}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":949},"end":{"line":968}}},{"$$mdtype":"Node","errors":[],"lines":[969,970],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[969,970],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[969,970],"inline":true,"attributes":{"content":"Android Lifecycle Summary Diagram"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":969},"end":{"line":970}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":969},"end":{"line":970}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":969},"end":{"line":970}}},{"$$mdtype":"Node","errors":[],"lines":[971,1008],"inline":false,"attributes":{"content":"┌─────────────────────────────────────────────────────────────┐\n│                    ANDROID CAMERA LIFECYCLE                 │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  [Permission Granted]                                       │\n│         ↓                                                   │\n│  PfCamera.open() → cameraKit.onCameraOpened()               │\n│         ↓                                                   │\n│  tryToSetPreviewAndPictureSize(1280, 720)                   │\n│         ↓                                                   │\n│  setPreviewCallback() ←─── CameraFrame for CameraKit        │\n│         ↓                                                   │\n│  startPreview() + autoFocus()                               │\n│         ↓                                                   │\n│  ┌────────────────────────────────────────────┐             │\n│  │   Preview Loop (30fps)                     │             │\n│  │   onPreviewFrame → sendCameraBuffer()      │             │\n│  │   Quality Check Callback → Update UI       │             │\n│  └────────────────────────────────────────────┘             │\n│         ↓                                                   │\n│  [Capture Button Pressed]                                   │\n│         ↓                                                   │\n│  takePicture() → onPictureTaken()                           │\n│         ↓                                                   │\n│  Decode Bitmap → Show Review                                │\n│         ↓                                                   │\n│  [Save Button Pressed]                                      │\n│         ↓                                                   │\n│  compressBitmap() → Save to Storage                         │\n│         ↓                                                   │\n│  [Activity Destroy/Stop]                                    │\n│         ↓                                                   │\n│  stopPreview() → release() → cameraKit.onDestroyed()        │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n"},"children":[{"$$mdtype":"Node","errors":[],"lines":[971,1008],"inline":false,"attributes":{"content":"┌─────────────────────────────────────────────────────────────┐\n│                    ANDROID CAMERA LIFECYCLE                 │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  [Permission Granted]                                       │\n│         ↓                                                   │\n│  PfCamera.open() → cameraKit.onCameraOpened()               │\n│         ↓                                                   │\n│  tryToSetPreviewAndPictureSize(1280, 720)                   │\n│         ↓                                                   │\n│  setPreviewCallback() ←─── CameraFrame for CameraKit        │\n│         ↓                                                   │\n│  startPreview() + autoFocus()                               │\n│         ↓                                                   │\n│  ┌────────────────────────────────────────────┐             │\n│  │   Preview Loop (30fps)                     │             │\n│  │   onPreviewFrame → sendCameraBuffer()      │             │\n│  │   Quality Check Callback → Update UI       │             │\n│  └────────────────────────────────────────────┘             │\n│         ↓                                                   │\n│  [Capture Button Pressed]                                   │\n│         ↓                                                   │\n│  takePicture() → onPictureTaken()                           │\n│         ↓                                                   │\n│  Decode Bitmap → Show Review                                │\n│         ↓                                                   │\n│  [Save Button Pressed]                                      │\n│         ↓                                                   │\n│  compressBitmap() → Save to Storage                         │\n│         ↓                                                   │\n│  [Activity Destroy/Stop]                                    │\n│         ↓                                                   │\n│  stopPreview() → release() → cameraKit.onDestroyed()        │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":971},"end":{"line":1008}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":971},"end":{"line":1008}}},{"$$mdtype":"Node","errors":[],"lines":[1009,1010],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1009},"end":{"line":1010}}},{"$$mdtype":"Node","errors":[],"lines":[1011,1012],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[1011,1012],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1011,1012],"inline":true,"attributes":{"content":"iOS Camera Lifecycle"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1011},"end":{"line":1012}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1011},"end":{"line":1012}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1011},"end":{"line":1012}}},{"$$mdtype":"Node","errors":[],"lines":[1013,1014],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1013,1014],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1013,1014],"inline":true,"attributes":{"content":"Step 1: Request Camera Permission"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1013},"end":{"line":1014}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1013},"end":{"line":1014}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1013},"end":{"line":1014}}},{"$$mdtype":"Node","errors":[],"lines":[1015,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}},{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}},{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1015,1016],"inline":true,"attributes":{"content":"Info.plist Key"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1016}}},{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":true,"attributes":{"content":"AVCaptureDevice.requestAccess(for:)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}},{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":true,"attributes":{"content":"Before creating AVCaptureSession"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}},{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1017,1018],"inline":true,"attributes":{"content":"NSCameraUsageDescription"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1017},"end":{"line":1018}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1015},"end":{"line":1018}}},{"$$mdtype":"Node","errors":[],"lines":[1019,1031],"inline":false,"attributes":{"content":"func requestCameraAuthentication(_ completion: @escaping (_ authorized: Bool)->Void) {\n    let status = AVCaptureDevice.authorizationStatus(for: .video)\n    if status == .notDetermined {\n        AVCaptureDevice.requestAccess(for: .video) { authorized in\n            completion(authorized)\n        }\n    } else {\n        completion(status == .authorized)\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1019,1031],"inline":false,"attributes":{"content":"func requestCameraAuthentication(_ completion: @escaping (_ authorized: Bool)->Void) {\n    let status = AVCaptureDevice.authorizationStatus(for: .video)\n    if status == .notDetermined {\n        AVCaptureDevice.requestAccess(for: .video) { authorized in\n            completion(authorized)\n        }\n    } else {\n        completion(status == .authorized)\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1019},"end":{"line":1031}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1019},"end":{"line":1031}}},{"$$mdtype":"Node","errors":[],"lines":[1032,1033],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1032,1033],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1032,1033],"inline":true,"attributes":{"content":"Step 2: Create & Configure AVCaptureSession"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1032},"end":{"line":1033}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1032},"end":{"line":1033}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1032},"end":{"line":1033}}},{"$$mdtype":"Node","errors":[],"lines":[1034,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}},{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":true,"attributes":{"content":"Purpose"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}},{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1034,1035],"inline":true,"attributes":{"content":"Recommended Settings"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1035}}},{"$$mdtype":"Node","errors":[],"lines":[1036,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":true,"attributes":{"content":"AVCaptureSession()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}},{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":true,"attributes":{"content":"Main session object"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}},{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":true,"attributes":{"content":"Preset: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}},{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":true,"attributes":{"content":".photo"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}},{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":true,"attributes":{"content":" or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}},{"$$mdtype":"Node","errors":[],"lines":[1036,1037],"inline":true,"attributes":{"content":".high"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1037}}},{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":true,"attributes":{"content":"AVCaptureDeviceInput()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}},{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":true,"attributes":{"content":"Camera device input"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}},{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":true,"attributes":{"content":"Position: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}},{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":true,"attributes":{"content":".front"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}},{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":true,"attributes":{"content":" or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}},{"$$mdtype":"Node","errors":[],"lines":[1037,1038],"inline":true,"attributes":{"content":".back"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1037},"end":{"line":1038}}},{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":true,"attributes":{"content":"AVCaptureVideoDataOutput()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}},{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":true,"attributes":{"content":"Preview frame output"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}},{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":true,"attributes":{"content":"Pixel format: "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}},{"$$mdtype":"Node","errors":[],"lines":[1038,1039],"inline":true,"attributes":{"content":"kCVPixelFormatType_420YpCbCr8BiPlanarFullRange"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1038},"end":{"line":1039}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1036},"end":{"line":1039}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1034},"end":{"line":1039}}},{"$$mdtype":"Node","errors":[],"lines":[1040,1087],"inline":false,"attributes":{"content":"func _setupCameraAndPreview() {\n    guard let input = AVCaptureDevice.default(.builtInWideAngleCamera,\n                                               for: .video,\n                                               position: currentCameraPosition) else { return }\n\n    let session = AVCaptureSession()\n    session.beginConfiguration()\n\n    // Add camera input\n    guard let deviceInput = try? AVCaptureDeviceInput(device: input) else { return }\n    if session.canAddInput(deviceInput) {\n        session.addInput(deviceInput)\n        self.videoInput = deviceInput\n    }\n\n    // Configure video output for CameraKit frames\n    let output = AVCaptureVideoDataOutput()\n    output.videoSettings = [kCVPixelBufferPixelFormatTypeKey as String:\n                            kCVPixelFormatType_420YpCbCr8BiPlanarFullRange]\n    output.alwaysDiscardsLateVideoFrames = false\n\n    // Set delegate on background queue\n    let queue = DispatchQueue(label: \"com.perfectlib.processsamplebuffer\")\n    output.setSampleBufferDelegate(self, queue: queue)\n\n    if session.canAddOutput(output) {\n        session.addOutput(output)\n    }\n\n    // Add photo output for capture\n    let photoOutput = AVCapturePhotoOutput()\n    if session.canAddOutput(photoOutput) {\n        session.addOutput(photoOutput)\n        self.photoOutput = photoOutput\n        photoOutput.isHighResolutionCaptureEnabled = true\n    }\n\n    session.sessionPreset = .photo\n    session.commitConfiguration()\n\n    // Start running in background thread\n    DispatchQueue.global(qos: .background).async {\n        session.startRunning()\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1040,1087],"inline":false,"attributes":{"content":"func _setupCameraAndPreview() {\n    guard let input = AVCaptureDevice.default(.builtInWideAngleCamera,\n                                               for: .video,\n                                               position: currentCameraPosition) else { return }\n\n    let session = AVCaptureSession()\n    session.beginConfiguration()\n\n    // Add camera input\n    guard let deviceInput = try? AVCaptureDeviceInput(device: input) else { return }\n    if session.canAddInput(deviceInput) {\n        session.addInput(deviceInput)\n        self.videoInput = deviceInput\n    }\n\n    // Configure video output for CameraKit frames\n    let output = AVCaptureVideoDataOutput()\n    output.videoSettings = [kCVPixelBufferPixelFormatTypeKey as String:\n                            kCVPixelFormatType_420YpCbCr8BiPlanarFullRange]\n    output.alwaysDiscardsLateVideoFrames = false\n\n    // Set delegate on background queue\n    let queue = DispatchQueue(label: \"com.perfectlib.processsamplebuffer\")\n    output.setSampleBufferDelegate(self, queue: queue)\n\n    if session.canAddOutput(output) {\n        session.addOutput(output)\n    }\n\n    // Add photo output for capture\n    let photoOutput = AVCapturePhotoOutput()\n    if session.canAddOutput(photoOutput) {\n        session.addOutput(photoOutput)\n        self.photoOutput = photoOutput\n        photoOutput.isHighResolutionCaptureEnabled = true\n    }\n\n    session.sessionPreset = .photo\n    session.commitConfiguration()\n\n    // Start running in background thread\n    DispatchQueue.global(qos: .background).async {\n        session.startRunning()\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1040},"end":{"line":1087}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1040},"end":{"line":1087}}},{"$$mdtype":"Node","errors":[],"lines":[1088,1089],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1088,1089],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1088,1089],"inline":true,"attributes":{"content":"Step 3: Notify CameraKit When Camera Opens"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1088},"end":{"line":1089}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1088},"end":{"line":1089}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1088},"end":{"line":1089}}},{"$$mdtype":"Node","errors":[],"lines":[1090,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}},{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}},{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1090,1091],"inline":true,"attributes":{"content":"Parameter"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1091}}},{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":true,"attributes":{"content":"onCameraOpen()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}},{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":true,"attributes":{"content":"After AVCaptureSession starts running"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}},{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":true,"attributes":{"content":"true"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}},{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":true,"attributes":{"content":" for front camera, "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}},{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":true,"attributes":{"content":"false"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}},{"$$mdtype":"Node","errors":[],"lines":[1092,1093],"inline":true,"attributes":{"content":" for back"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1092},"end":{"line":1093}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1090},"end":{"line":1093}}},{"$$mdtype":"Node","errors":[],"lines":[1094,1099],"inline":false,"attributes":{"content":"// After session.startRunning() completes\nself.session = session\ncameraKit?.onCameraOpen(currentCameraPosition == .front)\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1094,1099],"inline":false,"attributes":{"content":"// After session.startRunning() completes\nself.session = session\ncameraKit?.onCameraOpen(currentCameraPosition == .front)\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1094},"end":{"line":1099}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1094},"end":{"line":1099}}},{"$$mdtype":"Node","errors":[],"lines":[1100,1101],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1100,1101],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1100,1101],"inline":true,"attributes":{"content":"Step 4: Send Preview Frames to CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1100},"end":{"line":1101}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1100},"end":{"line":1101}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1100},"end":{"line":1101}}},{"$$mdtype":"Node","errors":[],"lines":[1102,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}},{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":true,"attributes":{"content":"Frequency"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}},{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1102,1103],"inline":true,"attributes":{"content":"Thread"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1103}}},{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":true,"attributes":{"content":"sendCameraBuffer()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}},{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":true,"attributes":{"content":"Every preview frame (30fps recommended)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}},{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1104,1105],"inline":true,"attributes":{"content":"Background queue from AVCaptureVideoDataOutputSampleBufferDelegate"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1104},"end":{"line":1105}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1102},"end":{"line":1105}}},{"$$mdtype":"Node","errors":[],"lines":[1106,1115],"inline":false,"attributes":{"content":"// In AVCaptureVideoDataOutputSampleBufferDelegate.captureOutput()\nfunc captureOutput(_ output: AVCaptureOutput,\n                   didOutput sampleBuffer: CMSampleBuffer,\n                   from connection: AVCaptureConnection) {\n    // Send each frame to CameraKit for quality check\n    cameraKit?.sendCameraBuffer(sampleBuffer)\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1106,1115],"inline":false,"attributes":{"content":"// In AVCaptureVideoDataOutputSampleBufferDelegate.captureOutput()\nfunc captureOutput(_ output: AVCaptureOutput,\n                   didOutput sampleBuffer: CMSampleBuffer,\n                   from connection: AVCaptureConnection) {\n    // Send each frame to CameraKit for quality check\n    cameraKit?.sendCameraBuffer(sampleBuffer)\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1106},"end":{"line":1115}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1106},"end":{"line":1115}}},{"$$mdtype":"Node","errors":[],"lines":[1116,1117],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1116,1117],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1116,1117],"inline":true,"attributes":{"content":"Step 5: Capture Picture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1116},"end":{"line":1117}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1116},"end":{"line":1117}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1116},"end":{"line":1117}}},{"$$mdtype":"Node","errors":[],"lines":[1118,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}},{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}},{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1118,1119],"inline":true,"attributes":{"content":"Result"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1119}}},{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":true,"attributes":{"content":"capturePhoto(with:delegate:)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}},{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":true,"attributes":{"content":"When capture button pressed (quality check passed)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}},{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1120,1121],"inline":true,"attributes":{"content":"Returns via AVCapturePhotoCaptureDelegate"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1120},"end":{"line":1121}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1118},"end":{"line":1121}}},{"$$mdtype":"Node","errors":[],"lines":[1122,1157],"inline":false,"attributes":{"content":"private func capturePhoto() {\n    guard let photoOutput = photoOutput else { return }\n\n    let settings = AVCapturePhotoSettings()\n    if photoOutput.isHighResolutionCaptureEnabled {\n        settings.isHighResolutionPhotoEnabled = true\n    }\n\n    // Configure video orientation for correct image rotation\n    if let photoConnection = photoOutput.connection(with: .video),\n       let orientation = AVCaptureVideoOrientation(deviceOrientation: currentDeviceOrientation()) {\n        photoConnection.videoOrientation = orientation\n    }\n\n    isCaptureInProgress = true\n    updateCaptureButtonAvailability()\n    photoOutput.capturePhoto(with: settings, delegate: self)\n}\n\n// In AVCapturePhotoCaptureDelegate.photoOutput()\nfunc photoOutput(_ output: AVCapturePhotoOutput,\n                didFinishProcessingPhoto photo: AVCapturePhoto,\n                error: Error?) {\n    guard let imageData = photo.fileDataRepresentation(),\n          let image = UIImage(data: imageData) else { return }\n\n    isCaptureInProgress = false\n\n    // Process and show captured image\n    DispatchQueue.main.async { [weak self] in\n        self?.showCaptureReview(with: self?.processedCapturedImage(image) ?? image)\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1122,1157],"inline":false,"attributes":{"content":"private func capturePhoto() {\n    guard let photoOutput = photoOutput else { return }\n\n    let settings = AVCapturePhotoSettings()\n    if photoOutput.isHighResolutionCaptureEnabled {\n        settings.isHighResolutionPhotoEnabled = true\n    }\n\n    // Configure video orientation for correct image rotation\n    if let photoConnection = photoOutput.connection(with: .video),\n       let orientation = AVCaptureVideoOrientation(deviceOrientation: currentDeviceOrientation()) {\n        photoConnection.videoOrientation = orientation\n    }\n\n    isCaptureInProgress = true\n    updateCaptureButtonAvailability()\n    photoOutput.capturePhoto(with: settings, delegate: self)\n}\n\n// In AVCapturePhotoCaptureDelegate.photoOutput()\nfunc photoOutput(_ output: AVCapturePhotoOutput,\n                didFinishProcessingPhoto photo: AVCapturePhoto,\n                error: Error?) {\n    guard let imageData = photo.fileDataRepresentation(),\n          let image = UIImage(data: imageData) else { return }\n\n    isCaptureInProgress = false\n\n    // Process and show captured image\n    DispatchQueue.main.async { [weak self] in\n        self?.showCaptureReview(with: self?.processedCapturedImage(image) ?? image)\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1122},"end":{"line":1157}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1122},"end":{"line":1157}}},{"$$mdtype":"Node","errors":[],"lines":[1158,1159],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1158,1159],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1158,1159],"inline":true,"attributes":{"content":"Step 6: Save Captured Photo"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1158},"end":{"line":1159}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1158},"end":{"line":1159}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1158},"end":{"line":1159}}},{"$$mdtype":"Node","errors":[],"lines":[1160,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}},{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}},{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1160,1161],"inline":true,"attributes":{"content":"Permission Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1161}}},{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":true,"attributes":{"content":"PHPhotoLibrary.shared().performChanges()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}},{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":true,"attributes":{"content":"After user confirms save"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}},{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":true,"attributes":{"content":"NSPhotoLibraryAddUsageDescription"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}},{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":true,"attributes":{"content":" (iOS 14+) or "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}},{"$$mdtype":"Node","errors":[],"lines":[1162,1163],"inline":true,"attributes":{"content":"NSPhotoLibraryUsageDescription"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1162},"end":{"line":1163}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1160},"end":{"line":1163}}},{"$$mdtype":"Node","errors":[],"lines":[1164,1215],"inline":false,"attributes":{"content":"private func saveCapturedImage() {\n    guard let image = capturedImage else { return }\n\n    // Request photo library permission\n    if #available(iOS 14, *) {\n        let status = PHPhotoLibrary.authorizationStatus(for: .addOnly)\n        switch status {\n        case .authorized, .limited:\n            saveToPhotos(image)\n        case .notDetermined:\n            PHPhotoLibrary.requestAuthorization(for: .addOnly) { status in\n                if status == .authorized || status == .limited {\n                    self.saveToPhotos(image)\n                }\n            }\n        default:\n            presentSimpleAlert(title: \"Save Failed\", message: \"Photo library access required\")\n        }\n    } else {\n        // iOS 13 and earlier\n        let status = PHPhotoLibrary.authorizationStatus()\n        switch status {\n        case .authorized:\n            saveToPhotos(image)\n        case .notDetermined:\n            PHPhotoLibrary.requestAuthorization { status in\n                if status == .authorized {\n                    self.saveToPhotos(image)\n                }\n            }\n        default:\n            presentSimpleAlert(title: \"Save Failed\", message: \"Photo library access required\")\n        }\n    }\n}\n\nprivate func saveToPhotos(_ image: UIImage) {\n    PHPhotoLibrary.shared().performChanges({\n        PHAssetChangeRequest.creationRequestForAsset(from: image)\n    }) { success, error in\n        DispatchQueue.main.async { [weak self] in\n            if success {\n                self?.presentSimpleAlert(title: \"Saved\", message: \"Image saved to Photos\")\n            } else {\n                self?.presentSimpleAlert(title: \"Save Failed\", message: error?.localizedDescription ?? \"\")\n            }\n        }\n    }\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1164,1215],"inline":false,"attributes":{"content":"private func saveCapturedImage() {\n    guard let image = capturedImage else { return }\n\n    // Request photo library permission\n    if #available(iOS 14, *) {\n        let status = PHPhotoLibrary.authorizationStatus(for: .addOnly)\n        switch status {\n        case .authorized, .limited:\n            saveToPhotos(image)\n        case .notDetermined:\n            PHPhotoLibrary.requestAuthorization(for: .addOnly) { status in\n                if status == .authorized || status == .limited {\n                    self.saveToPhotos(image)\n                }\n            }\n        default:\n            presentSimpleAlert(title: \"Save Failed\", message: \"Photo library access required\")\n        }\n    } else {\n        // iOS 13 and earlier\n        let status = PHPhotoLibrary.authorizationStatus()\n        switch status {\n        case .authorized:\n            saveToPhotos(image)\n        case .notDetermined:\n            PHPhotoLibrary.requestAuthorization { status in\n                if status == .authorized {\n                    self.saveToPhotos(image)\n                }\n            }\n        default:\n            presentSimpleAlert(title: \"Save Failed\", message: \"Photo library access required\")\n        }\n    }\n}\n\nprivate func saveToPhotos(_ image: UIImage) {\n    PHPhotoLibrary.shared().performChanges({\n        PHAssetChangeRequest.creationRequestForAsset(from: image)\n    }) { success, error in\n        DispatchQueue.main.async { [weak self] in\n            if success {\n                self?.presentSimpleAlert(title: \"Saved\", message: \"Image saved to Photos\")\n            } else {\n                self?.presentSimpleAlert(title: \"Save Failed\", message: error?.localizedDescription ?? \"\")\n            }\n        }\n    }\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1164},"end":{"line":1215}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1164},"end":{"line":1215}}},{"$$mdtype":"Node","errors":[],"lines":[1216,1217],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1216,1217],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1216,1217],"inline":true,"attributes":{"content":"Step 7: Stop & Release Camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1216},"end":{"line":1217}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1216},"end":{"line":1217}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1216},"end":{"line":1217}}},{"$$mdtype":"Node","errors":[],"lines":[1218,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}},{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}},{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1218,1219],"inline":true,"attributes":{"content":"Cleanup Required"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1219}}},{"$$mdtype":"Node","errors":[],"lines":[1220,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":true,"attributes":{"content":"session.stopRunning()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}},{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":true,"attributes":{"content":"Before view disappears or when switching cameras"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}},{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1220,1221],"inline":true,"attributes":{"content":"Stops all inputs/outputs"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1221}}},{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":true,"attributes":{"content":"cameraKit = nil"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}},{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":true,"attributes":{"content":"In deinit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}},{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1221,1222],"inline":true,"attributes":{"content":"Releases CameraKit instance"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1221},"end":{"line":1222}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1220},"end":{"line":1222}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1218},"end":{"line":1222}}},{"$$mdtype":"Node","errors":[],"lines":[1223,1243],"inline":false,"attributes":{"content":"override func viewWillDisappear(_ animated: Bool) {\n    super.viewWillDisappear(animated)\n\n    // Stop camera session\n    session?.stopRunning()\n\n    // Remove notification observers\n    if let appActiveObserver = appActiveObserver {\n        NotificationCenter.default.removeObserver(appActiveObserver)\n    }\n    if let appInactiveObserver = appInactiveObserver {\n        NotificationCenter.default.removeObserver(appInactiveObserver)\n    }\n}\n\ndeinit {\n    cameraKit = nil  // Releases CameraKit instance\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1223,1243],"inline":false,"attributes":{"content":"override func viewWillDisappear(_ animated: Bool) {\n    super.viewWillDisappear(animated)\n\n    // Stop camera session\n    session?.stopRunning()\n\n    // Remove notification observers\n    if let appActiveObserver = appActiveObserver {\n        NotificationCenter.default.removeObserver(appActiveObserver)\n    }\n    if let appInactiveObserver = appInactiveObserver {\n        NotificationCenter.default.removeObserver(appInactiveObserver)\n    }\n}\n\ndeinit {\n    cameraKit = nil  // Releases CameraKit instance\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1223},"end":{"line":1243}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1223},"end":{"line":1243}}},{"$$mdtype":"Node","errors":[],"lines":[1244,1245],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1244,1245],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1244,1245],"inline":true,"attributes":{"content":"Step 8: Handle Camera Switching (Optional)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1244},"end":{"line":1245}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1244},"end":{"line":1245}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1244},"end":{"line":1245}}},{"$$mdtype":"Node","errors":[],"lines":[1246,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":true,"attributes":{"content":"Method"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}},{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":true,"attributes":{"content":"When to Call"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}},{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1246,1247],"inline":true,"attributes":{"content":"Required Actions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1247}}},{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":true,"attributes":{"content":"rotateCameraPosition()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}},{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":true,"attributes":{"content":"When flip camera button pressed"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}},{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1248,1249],"inline":true,"attributes":{"content":"Stop session → Remove input → Add new input → Restart → Notify CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1248},"end":{"line":1249}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1246},"end":{"line":1249}}},{"$$mdtype":"Node","errors":[],"lines":[1250,1279],"inline":false,"attributes":{"content":"private func rotateCameraPosition() {\n    guard let session = session, let videoInput = videoInput else { return }\n\n    let newPosition: AVCaptureDevice.Position = currentCameraPosition == .front ? .back : .front\n\n    // Create new device input for opposite camera\n    guard let input = AVCaptureDevice.default(.builtInWideAngleCamera,\n                                               for: .video,\n                                               position: newPosition) else { return }\n    guard let deviceInput = try? AVCaptureDeviceInput(device: input) else { return }\n\n    session.beginConfiguration()\n    session.removeInput(videoInput)\n\n    if session.canAddInput(deviceInput) {\n        session.addInput(deviceInput)\n        self.videoInput = deviceInput\n        self.currentCameraPosition = newPosition\n\n        // IMPORTANT: Notify CameraKit about camera change\n        cameraKit?.onCameraOpen(currentCameraPosition == .front)\n    } else {\n        session.addInput(videoInput)  // Revert if failed\n    }\n\n    session.commitConfiguration()\n}\n","language":"swift"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1250,1279],"inline":false,"attributes":{"content":"private func rotateCameraPosition() {\n    guard let session = session, let videoInput = videoInput else { return }\n\n    let newPosition: AVCaptureDevice.Position = currentCameraPosition == .front ? .back : .front\n\n    // Create new device input for opposite camera\n    guard let input = AVCaptureDevice.default(.builtInWideAngleCamera,\n                                               for: .video,\n                                               position: newPosition) else { return }\n    guard let deviceInput = try? AVCaptureDeviceInput(device: input) else { return }\n\n    session.beginConfiguration()\n    session.removeInput(videoInput)\n\n    if session.canAddInput(deviceInput) {\n        session.addInput(deviceInput)\n        self.videoInput = deviceInput\n        self.currentCameraPosition = newPosition\n\n        // IMPORTANT: Notify CameraKit about camera change\n        cameraKit?.onCameraOpen(currentCameraPosition == .front)\n    } else {\n        session.addInput(videoInput)  // Revert if failed\n    }\n\n    session.commitConfiguration()\n}\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1250},"end":{"line":1279}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1250},"end":{"line":1279}}},{"$$mdtype":"Node","errors":[],"lines":[1280,1281],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1280,1281],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1280,1281],"inline":true,"attributes":{"content":"iOS Lifecycle Summary Diagram"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1280},"end":{"line":1281}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1280},"end":{"line":1281}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1280},"end":{"line":1281}}},{"$$mdtype":"Node","errors":[],"lines":[1282,1321],"inline":false,"attributes":{"content":"┌─────────────────────────────────────────────────────────────┐\n│                      IOS CAMERA LIFECYCLE                   │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  [Camera Permission Granted]                                │\n│         ↓                                                   │\n│  AVCaptureSession.beginConfiguration()                      │\n│         ↓                                                   │\n│  Add Input (AVCaptureDeviceInput)                           │\n│         ↓                                                    │\n│  Add Output (AVCaptureVideoDataOutput) ←── sendCameraBuffer()│\n│         ↓                                                    │\n│  Add Photo Output (AVCapturePhotoOutput)                    │\n│         ↓                                                   │\n│  session.startRunning()                                     │\n│         ↓                                                   │\n│  cameraKit?.onCameraOpen(true/false)                        │\n│         ↓                                                   │\n│  ┌────────────────────────────────────────────┐             │\n│  │   Preview Loop (AVCaptureVideoDataOutputSampleBufferDelegate) │\n│  │   captureOutput → sendCameraBuffer()       │             │\n│  │   CameraKitDelegate → Update UI            │             │\n│  └────────────────────────────────────────────┘             │\n│         ↓                                                   │\n│  [Capture Button Pressed]                                   │\n│         ↓                                                   │\n│  capturePhoto(with:delegate:)                               │\n│         ↓                                                   │\n│  photoOutput(didFinishProcessingPhoto)                      │\n│         ↓                                                   │\n│  Show Review → Save to Photos                               │\n│         ↓                                                   │\n│  [View Disappear/Deinit]                                    │\n│         ↓                                                   │\n│  session.stopRunning() → cameraKit = nil                    │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1282,1321],"inline":false,"attributes":{"content":"┌─────────────────────────────────────────────────────────────┐\n│                      IOS CAMERA LIFECYCLE                   │\n├─────────────────────────────────────────────────────────────┤\n│                                                             │\n│  [Camera Permission Granted]                                │\n│         ↓                                                   │\n│  AVCaptureSession.beginConfiguration()                      │\n│         ↓                                                   │\n│  Add Input (AVCaptureDeviceInput)                           │\n│         ↓                                                    │\n│  Add Output (AVCaptureVideoDataOutput) ←── sendCameraBuffer()│\n│         ↓                                                    │\n│  Add Photo Output (AVCapturePhotoOutput)                    │\n│         ↓                                                   │\n│  session.startRunning()                                     │\n│         ↓                                                   │\n│  cameraKit?.onCameraOpen(true/false)                        │\n│         ↓                                                   │\n│  ┌────────────────────────────────────────────┐             │\n│  │   Preview Loop (AVCaptureVideoDataOutputSampleBufferDelegate) │\n│  │   captureOutput → sendCameraBuffer()       │             │\n│  │   CameraKitDelegate → Update UI            │             │\n│  └────────────────────────────────────────────┘             │\n│         ↓                                                   │\n│  [Capture Button Pressed]                                   │\n│         ↓                                                   │\n│  capturePhoto(with:delegate:)                               │\n│         ↓                                                   │\n│  photoOutput(didFinishProcessingPhoto)                      │\n│         ↓                                                   │\n│  Show Review → Save to Photos                               │\n│         ↓                                                   │\n│  [View Disappear/Deinit]                                    │\n│         ↓                                                   │\n│  session.stopRunning() → cameraKit = nil                    │\n│                                                             │\n└─────────────────────────────────────────────────────────────┘\n"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1282},"end":{"line":1321}}}],"type":"fence","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1282},"end":{"line":1321}}},{"$$mdtype":"Node","errors":[],"lines":[1322,1323],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1322},"end":{"line":1323}}},{"$$mdtype":"Node","errors":[],"lines":[1324,1325],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[1324,1325],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1324,1325],"inline":true,"attributes":{"content":"Cross-Platform Lifecycle Comparison"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1324},"end":{"line":1325}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1324},"end":{"line":1325}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1324},"end":{"line":1325}}},{"$$mdtype":"Node","errors":[],"lines":[1326,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":true,"attributes":{"content":"Stage"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}},{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":true,"attributes":{"content":"Android"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}},{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":true,"attributes":{"content":"iOS"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}},{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1326,1327],"inline":true,"attributes":{"content":"Notes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1327}}},{"$$mdtype":"Node","errors":[],"lines":[1328,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":true,"attributes":{"content":"Permission"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}},{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":true,"attributes":{"content":"requestPermissions()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}},{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":true,"attributes":{"content":"AVCaptureDevice.requestAccess()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}},{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1328,1329],"inline":true,"attributes":{"content":"Both require runtime permission"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1329}}},{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"content":"Open Camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}},{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"content":"PfCamera.open()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}},{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"content":"AVCaptureSession"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}},{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"content":" + "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}},{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"content":"AVCaptureDeviceInput"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}},{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1329,1330],"inline":true,"attributes":{"content":"Android uses wrapper, iOS uses AVFoundation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1329},"end":{"line":1330}}},{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":true,"attributes":{"content":"Notify CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}},{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":true,"attributes":{"content":"onCameraOpened()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}},{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":true,"attributes":{"content":"onCameraOpen()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}},{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1330,1331],"inline":true,"attributes":{"content":"Same method name, different signatures"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1330},"end":{"line":1331}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":"Preview Frames"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":"setPreviewCallback()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":" → "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":"sendCameraBuffer()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":"captureOutput()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":" → "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":"sendCameraBuffer()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1331,1332],"inline":true,"attributes":{"content":"Both send byte/CM buffer to CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1331},"end":{"line":1332}}},{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"content":"Capture Photo"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}},{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"content":"takePicture()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}},{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"content":" + "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}},{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"content":"PictureCallback"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}},{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"content":"capturePhoto(with:delegate:)"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}},{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1332,1333],"inline":true,"attributes":{"content":"Android stops preview, iOS continues"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1332},"end":{"line":1333}}},{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":true,"attributes":{"content":"Save Photo"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}},{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":true,"attributes":{"content":"compressBitmap()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}},{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":true,"attributes":{"content":" + Storage API"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}},{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":true,"attributes":{"content":"PHPhotoLibrary.performChanges()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}},{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1333,1334],"inline":true,"attributes":{"content":"Platform-specific storage APIs"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1333},"end":{"line":1334}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"Release Camera"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"stopPreview()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":" → "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"release()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":" → "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"onDestroyed()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"session.stopRunning()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":" → "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"deinit"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1334,1335],"inline":true,"attributes":{"content":"Both must clean up resources"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1334},"end":{"line":1335}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1328},"end":{"line":1335}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1326},"end":{"line":1335}}},{"$$mdtype":"Node","errors":[],"lines":[1336,1337],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1336},"end":{"line":1337}}},{"$$mdtype":"Node","errors":[],"lines":[1338,1339],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[1338,1339],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1338,1339],"inline":true,"attributes":{"content":"Key Implementation Notes"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1338},"end":{"line":1339}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1338},"end":{"line":1339}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1338},"end":{"line":1339}}},{"$$mdtype":"Node","errors":[],"lines":[1340,1341],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1340,1341],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1340,1341],"inline":true,"attributes":{"content":"Android Specific"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1340},"end":{"line":1341}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1340},"end":{"line":1341}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1340},"end":{"line":1341}}},{"$$mdtype":"Node","errors":[],"lines":[1342,1347],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[1342,1343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1342,1343],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1342,1343],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1342,1343],"inline":true,"attributes":{"content":"Thread Management"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1342},"end":{"line":1343}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1342},"end":{"line":1343}}},{"$$mdtype":"Node","errors":[],"lines":[1342,1343],"inline":true,"attributes":{"content":": Preview callbacks run on background thread - dispatch UI updates to main thread"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1342},"end":{"line":1343}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1342},"end":{"line":1343}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1342},"end":{"line":1343}}},{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":true,"attributes":{"content":"Camera Orientation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}},{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":true,"attributes":{"content":": Use "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}},{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":true,"attributes":{"content":"setDisplayOrientation()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}},{"$$mdtype":"Node","errors":[],"lines":[1343,1344],"inline":true,"attributes":{"content":" with camera info for correct preview rotation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1343},"end":{"line":1344}}},{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":true,"attributes":{"content":"Focus Mode"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}},{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":true,"attributes":{"content":": Prefer "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}},{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":true,"attributes":{"content":"FOCUS_MODE_CONTINUOUS_PICTURE"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}},{"$$mdtype":"Node","errors":[],"lines":[1344,1345],"inline":true,"attributes":{"content":" for best quality"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1344},"end":{"line":1345}}},{"$$mdtype":"Node","errors":[],"lines":[1345,1347],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1345,1346],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1345,1346],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1345,1346],"inline":true,"attributes":{"content":"Memory"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1345},"end":{"line":1346}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1345},"end":{"line":1346}}},{"$$mdtype":"Node","errors":[],"lines":[1345,1346],"inline":true,"attributes":{"content":": Recycle Bitmap objects after use to prevent memory leaks"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1345},"end":{"line":1346}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1345},"end":{"line":1346}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1345},"end":{"line":1347}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1342},"end":{"line":1347}}},{"$$mdtype":"Node","errors":[],"lines":[1347,1348],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1347,1348],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1347,1348],"inline":true,"attributes":{"content":"iOS Specific"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1347},"end":{"line":1348}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1347},"end":{"line":1348}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1347},"end":{"line":1348}}},{"$$mdtype":"Node","errors":[],"lines":[1349,1354],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":true,"attributes":{"content":"Pixel Format"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}},{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":true,"attributes":{"content":": Must use "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}},{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":true,"attributes":{"content":"kCVPixelFormatType_420YpCbCr8BiPlanarFullRange"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}},{"$$mdtype":"Node","errors":[],"lines":[1349,1350],"inline":true,"attributes":{"content":" for CameraKit compatibility"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1350}}},{"$$mdtype":"Node","errors":[],"lines":[1350,1351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1350,1351],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1350,1351],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1350,1351],"inline":true,"attributes":{"content":"Queue Management"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1350},"end":{"line":1351}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1350},"end":{"line":1351}}},{"$$mdtype":"Node","errors":[],"lines":[1350,1351],"inline":true,"attributes":{"content":": Set sample buffer delegate on background queue to avoid UI blocking"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1350},"end":{"line":1351}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1350},"end":{"line":1351}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1350},"end":{"line":1351}}},{"$$mdtype":"Node","errors":[],"lines":[1351,1352],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1351,1352],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1351,1352],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1351,1352],"inline":true,"attributes":{"content":"Orientation Handling"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1351},"end":{"line":1352}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1351},"end":{"line":1352}}},{"$$mdtype":"Node","errors":[],"lines":[1351,1352],"inline":true,"attributes":{"content":": Convert device orientation to AVCaptureVideoOrientation for correct image rotation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1351},"end":{"line":1352}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1351},"end":{"line":1352}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1351},"end":{"line":1352}}},{"$$mdtype":"Node","errors":[],"lines":[1352,1354],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1352,1353],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1352,1353],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1352,1353],"inline":true,"attributes":{"content":"Front Camera Flip"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1352},"end":{"line":1353}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1352},"end":{"line":1353}}},{"$$mdtype":"Node","errors":[],"lines":[1352,1353],"inline":true,"attributes":{"content":": Front camera images need horizontal flip correction after capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1352},"end":{"line":1353}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1352},"end":{"line":1353}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1352},"end":{"line":1354}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1349},"end":{"line":1354}}},{"$$mdtype":"Node","errors":[],"lines":[1354,1355],"inline":false,"attributes":{"level":4},"children":[{"$$mdtype":"Node","errors":[],"lines":[1354,1355],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1354,1355],"inline":true,"attributes":{"content":"Common Best Practices"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1354},"end":{"line":1355}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1354},"end":{"line":1355}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1354},"end":{"line":1355}}},{"$$mdtype":"Node","errors":[],"lines":[1356,1362],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":true,"attributes":{"content":"Quality Check First"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}},{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":true,"attributes":{"content":": Always verify "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}},{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":true,"attributes":{"content":"canCapture()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}},{"$$mdtype":"Node","errors":[],"lines":[1356,1357],"inline":true,"attributes":{"content":" before allowing photo capture"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1357}}},{"$$mdtype":"Node","errors":[],"lines":[1357,1358],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1357,1358],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1357,1358],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1357,1358],"inline":true,"attributes":{"content":"Preview During Review"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1357},"end":{"line":1358}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1357},"end":{"line":1358}}},{"$$mdtype":"Node","errors":[],"lines":[1357,1358],"inline":true,"attributes":{"content":": Stop preview during captured image review, restart on discard"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1357},"end":{"line":1358}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1357},"end":{"line":1358}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1357},"end":{"line":1358}}},{"$$mdtype":"Node","errors":[],"lines":[1358,1359],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1358,1359],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1358,1359],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1358,1359],"inline":true,"attributes":{"content":"Error Handling"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1358},"end":{"line":1359}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1358},"end":{"line":1359}}},{"$$mdtype":"Node","errors":[],"lines":[1358,1359],"inline":true,"attributes":{"content":": Gracefully handle permission denial and camera access failures"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1358},"end":{"line":1359}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1358},"end":{"line":1359}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1358},"end":{"line":1359}}},{"$$mdtype":"Node","errors":[],"lines":[1359,1362],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"content":"Resource Cleanup"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}},{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"content":": Release all resources in appropriate lifecycle callbacks ("},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}},{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"content":"onDestroy"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}},{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"content":"/"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}},{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"content":"deinit"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}},{"$$mdtype":"Node","errors":[],"lines":[1359,1360],"inline":true,"attributes":{"content":")"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1360}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1359},"end":{"line":1362}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1356},"end":{"line":1362}}},{"$$mdtype":"Node","errors":[],"lines":[1362,1363],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1362},"end":{"line":1363}}},{"$$mdtype":"Node","errors":[],"lines":[1364,1365],"inline":false,"attributes":{"level":2},"children":[{"$$mdtype":"Node","errors":[],"lines":[1364,1365],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1364,1365],"inline":true,"attributes":{"content":"Troubleshooting & Best Practices"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1364},"end":{"line":1365}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1364},"end":{"line":1365}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1364},"end":{"line":1365}}},{"$$mdtype":"Node","errors":[],"lines":[1366,1367],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[1366,1367],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1366,1367],"inline":true,"attributes":{"content":"Common Issues"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1366},"end":{"line":1367}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1366},"end":{"line":1367}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1366},"end":{"line":1367}}},{"$$mdtype":"Node","errors":[],"lines":[1368,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":true,"attributes":{"content":"Issue"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}},{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1368,1369],"inline":true,"attributes":{"content":"Solution"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}}],"type":"th","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}}],"type":"thead","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1369}}},{"$$mdtype":"Node","errors":[],"lines":[1370,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":true,"attributes":{"content":"CameraKit not receiving frames"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}},{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":true,"attributes":{"content":"Ensure "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}},{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":true,"attributes":{"content":"sendCameraBuffer()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}},{"$$mdtype":"Node","errors":[],"lines":[1370,1371],"inline":true,"attributes":{"content":" is called for each preview frame"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1371}}},{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":true,"attributes":{"content":"Quality check always fails"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}},{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1371,1372],"inline":true,"attributes":{"content":"Verify preset level thresholds match your environment"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1371},"end":{"line":1372}}},{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":true,"attributes":{"content":"Model files not loading"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}},{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1372,1373],"inline":true,"attributes":{"content":"Check assets folder path and file permissions"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1372},"end":{"line":1373}}},{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":true,"attributes":{"content":"Capture button disabled"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}},{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1373,1374],"inline":true,"attributes":{"content":"All three quality checks must pass (lighting, face area, pose)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}}],"type":"td","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}}],"type":"tr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1373},"end":{"line":1374}}}],"type":"tbody","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1370},"end":{"line":1374}}}],"type":"table","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1368},"end":{"line":1374}}},{"$$mdtype":"Node","errors":[],"lines":[1375,1376],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[1375,1376],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1375,1376],"inline":true,"attributes":{"content":"Performance Optimization"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1375},"end":{"line":1376}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1375},"end":{"line":1376}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1375},"end":{"line":1376}}},{"$$mdtype":"Node","errors":[],"lines":[1377,1382],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[1377,1378],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1377,1378],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1377,1378],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1377,1378],"inline":true,"attributes":{"content":"Frame Rate"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1377},"end":{"line":1378}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1377},"end":{"line":1378}}},{"$$mdtype":"Node","errors":[],"lines":[1377,1378],"inline":true,"attributes":{"content":": Send frames at 30fps for optimal balance between accuracy and performance"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1377},"end":{"line":1378}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1377},"end":{"line":1378}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1377},"end":{"line":1378}}},{"$$mdtype":"Node","errors":[],"lines":[1378,1379],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1378,1379],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1378,1379],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1378,1379],"inline":true,"attributes":{"content":"Resolution"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1378},"end":{"line":1379}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1378},"end":{"line":1379}}},{"$$mdtype":"Node","errors":[],"lines":[1378,1379],"inline":true,"attributes":{"content":": Use preview resolution of 1280x720 or higher for best detection accuracy"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1378},"end":{"line":1379}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1378},"end":{"line":1379}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1378},"end":{"line":1379}}},{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"content":"Memory Management"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}},{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"content":": Release CameraKit in "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}},{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"content":"onDestroy()"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}},{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"content":" (Android) / "},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}},{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"content":"deinit"},"children":[],"type":"code","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}},{"$$mdtype":"Node","errors":[],"lines":[1379,1380],"inline":true,"attributes":{"content":" (iOS)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1379},"end":{"line":1380}}},{"$$mdtype":"Node","errors":[],"lines":[1380,1382],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1380,1381],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1380,1381],"inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1380,1381],"inline":true,"attributes":{"content":"Thread Safety"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1380},"end":{"line":1381}}}],"type":"strong","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1380},"end":{"line":1381}}},{"$$mdtype":"Node","errors":[],"lines":[1380,1381],"inline":true,"attributes":{"content":": Quality check callbacks may be on background thread - dispatch UI updates to main thread"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1380},"end":{"line":1381}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1380},"end":{"line":1381}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1380},"end":{"line":1382}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1377},"end":{"line":1382}}},{"$$mdtype":"Node","errors":[],"lines":[1382,1383],"inline":false,"attributes":{"level":3},"children":[{"$$mdtype":"Node","errors":[],"lines":[1382,1383],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1382,1383],"inline":true,"attributes":{"content":"Security Considerations"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1382},"end":{"line":1383}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1382},"end":{"line":1383}}}],"type":"heading","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1382},"end":{"line":1383}}},{"$$mdtype":"Node","errors":[],"lines":[1384,1389],"inline":false,"attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","errors":[],"lines":[1384,1385],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1384,1385],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1384,1385],"inline":true,"attributes":{"content":"Request camera permission at runtime before initializing CameraKit"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1384},"end":{"line":1385}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1384},"end":{"line":1385}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1384},"end":{"line":1385}}},{"$$mdtype":"Node","errors":[],"lines":[1385,1386],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1385,1386],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1385,1386],"inline":true,"attributes":{"content":"Handle permission denial gracefully with user-friendly messaging"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1385},"end":{"line":1386}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1385},"end":{"line":1386}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1385},"end":{"line":1386}}},{"$$mdtype":"Node","errors":[],"lines":[1386,1387],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1386,1387],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1386,1387],"inline":true,"attributes":{"content":"Store model files securely within app sandbox"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1386},"end":{"line":1387}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1386},"end":{"line":1387}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1386},"end":{"line":1387}}},{"$$mdtype":"Node","errors":[],"lines":[1387,1389],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1387,1388],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1387,1388],"inline":true,"attributes":{"content":"Comply with platform privacy requirements (Android Privacy Manifest, iOS Privacy Manifest)"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1387},"end":{"line":1388}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1387},"end":{"line":1388}}}],"type":"item","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1387},"end":{"line":1389}}}],"type":"list","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1384},"end":{"line":1389}}},{"$$mdtype":"Node","errors":[],"lines":[1389,1390],"inline":false,"attributes":{},"children":[],"type":"hr","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1389},"end":{"line":1390}}},{"$$mdtype":"Node","errors":[],"lines":[1391,1392],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1391,1392],"inline":false,"attributes":{},"children":[{"$$mdtype":"Node","errors":[],"lines":[1391,1392],"inline":true,"attributes":{"marker":"*"},"children":[{"$$mdtype":"Node","errors":[],"lines":[1391,1392],"inline":true,"attributes":{"content":"For detailed API method signatures, parameter descriptions, and return values, please refer to the official API Reference documentation"},"children":[],"type":"text","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1391},"end":{"line":1392}}}],"type":"em","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1391},"end":{"line":1392}}}],"type":"inline","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1391},"end":{"line":1392}}}],"type":"paragraph","annotations":[],"slots":{},"location":{"file":"_partials/mobile-camera-kit.md","start":{"line":1391},"end":{"line":1392}}}],"type":"document","annotations":[],"slots":{}}},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"docs.perfectcorp.com","port":4000,"ipAddress":"216.73.216.208"},"lang":"default_locale","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"master"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/reference/ai_hairstyle","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}