{"ts": "2026-08-10T15:46:31.885570+00:00", "event": "job_started", "run_id": "d2f4e374-3c23-4ed7-8015-fa9c7ee0b59c", "base_url": "https://threejs.org/manual/", "book_title": "API Reference Book", "max_pages": 200, "chromium_executable": "/snap/bin/chromium"}
{"ts": "2026-08-10T15:46:31.885786+00:00", "event": "phase_started", "phase": "0_layout_detector"}
{"ts": "2026-08-10T15:46:31.885888+00:00", "event": "phase_started", "phase": "1_discovery"}
{"ts": "2026-08-10T15:46:31.885969+00:00", "event": "phase_started", "phase": "2_crawl"}
{"ts": "2026-08-10T15:46:31.886046+00:00", "event": "phase_started", "phase": "3_extract"}
{"ts": "2026-08-10T15:46:31.886143+00:00", "event": "phase_started", "phase": "4_build"}
{"ts": "2026-08-10T15:46:31.886217+00:00", "event": "phase_started", "phase": "5_rag_export"}
{"ts": "2026-08-10T15:46:36.661671+00:00", "event": "phase_completed", "phase": "0_layout_detector"}
{"ts": "2026-08-10T15:46:49.299006+00:00", "event": "phase_progress", "phase": "1_discovery", "done": 61, "total": 61}
{"ts": "2026-08-10T15:46:49.299201+00:00", "event": "phase_completed", "phase": "1_discovery"}
{"ts": "2026-08-10T15:46:52.308726+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:52.977993+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/creating-a-scene.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:52.987940+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/creating-text.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:52.996639+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/docs", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.052307+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/installation.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.073714+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/drawing-lines.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.105852+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/faq.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.292420+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/libraries-and-plugins.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.376988+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/loading-3d-models.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.441413+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/uniform-types.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.483216+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/useful-links.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.534525+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/webgl-compatibility-check.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:53.997689+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/animation-system.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:54.135365+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/color-management.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:54.399284+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/how-to-create-vr-content.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:54.444541+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/how-to-update-things.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:54.479696+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/how-to-dispose-of-objects.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:54.525361+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/how-to-use-post-processing.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:54.596547+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/matrix-transformations.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:55.143822+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/fundamentals.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:55.161939+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/responsive.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:55.263878+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/prerequisites.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:55.498203+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/setup.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:56.665010+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 0, "total": 61, "url": "https://threejs.org/manual/en/primitives.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:56.990829+00:00", "event": "phase_progress", "phase": "3_extract", "done": 1, "total": 61, "percent": 1.6, "rate_per_sec": 0.13, "eta_seconds": 6.0}
{"ts": "2026-08-10T15:46:57.560681+00:00", "event": "phase_progress", "phase": "3_extract", "done": 2, "total": 61, "percent": 3.3, "rate_per_sec": 0.24, "eta_seconds": 5.9}
{"ts": "2026-08-10T15:46:58.629714+00:00", "event": "phase_progress", "phase": "3_extract", "done": 3, "total": 61, "percent": 4.9, "rate_per_sec": 0.32, "eta_seconds": 5.8}
{"ts": "2026-08-10T15:46:59.105007+00:00", "event": "phase_progress", "phase": "3_extract", "done": 4, "total": 61, "percent": 6.6, "rate_per_sec": 0.41, "eta_seconds": 5.7}
{"ts": "2026-08-10T15:46:59.704203+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 4, "total": 61, "url": "https://threejs.org/manual/en/scenegraph.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:46:59.889009+00:00", "event": "phase_progress", "phase": "3_extract", "done": 5, "total": 61, "percent": 8.2, "rate_per_sec": 0.47, "eta_seconds": 5.6}
{"ts": "2026-08-10T15:47:01.251626+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 5, "total": 61, "url": "https://threejs.org/manual/en/shadows.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:01.258249+00:00", "event": "phase_progress", "phase": "3_extract", "done": 6, "total": 61, "percent": 9.8, "rate_per_sec": 0.5, "eta_seconds": 5.5}
{"ts": "2026-08-10T15:47:01.808954+00:00", "event": "phase_progress", "phase": "3_extract", "done": 7, "total": 61, "percent": 11.5, "rate_per_sec": 0.56, "eta_seconds": 5.4}
{"ts": "2026-08-10T15:47:01.846277+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/rendertargets.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:01.999187+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/physics.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.011887+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/materials.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.081692+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/debugging-glsl.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.185682+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/rendering-on-demand.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.237914+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/textures.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.287419+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/lights.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.349790+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/cameras.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.371148+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/fog.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:02.523665+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/custom-buffergeometry.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:05.566295+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/tips.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:05.608787+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 7, "total": 61, "url": "https://threejs.org/manual/en/optimize-lots-of-objects-animated.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:06.387515+00:00", "event": "phase_progress", "phase": "3_extract", "done": 8, "total": 61, "percent": 13.1, "rate_per_sec": 0.47, "eta_seconds": 5.3}
{"ts": "2026-08-10T15:47:06.471450+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 8, "total": 61, "url": "https://threejs.org/manual/en/offscreencanvas.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:06.685966+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 8, "total": 61, "url": "https://threejs.org/manual/en/load-obj.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:06.720235+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 8, "total": 61, "url": "https://threejs.org/manual/en/load-gltf.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:06.816649+00:00", "event": "phase_progress", "phase": "3_extract", "done": 9, "total": 61, "percent": 14.8, "rate_per_sec": 0.51, "eta_seconds": 5.2}
{"ts": "2026-08-10T15:47:07.154469+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 9, "total": 61, "url": "https://threejs.org/manual/en/transparency.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:07.262904+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 9, "total": 61, "url": "https://threejs.org/manual/en/backgrounds.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:07.272961+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 9, "total": 61, "url": "https://threejs.org/manual/en/multiple-scenes.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:07.606618+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 9, "total": 61, "url": "https://threejs.org/manual/en/picking.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:07.626673+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 9, "total": 61, "url": "https://threejs.org/manual/en/post-processing.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:07.708698+00:00", "event": "phase_progress", "phase": "3_extract", "done": 10, "total": 61, "percent": 16.4, "rate_per_sec": 0.54, "eta_seconds": 5.1}
{"ts": "2026-08-10T15:47:07.747998+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 10, "total": 61, "url": "https://threejs.org/manual/en/optimize-lots-of-objects.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:07.775909+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 10, "total": 61, "url": "https://threejs.org/manual/en/shadertoy.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:09.117454+00:00", "event": "phase_progress", "phase": "3_extract", "done": 11, "total": 61, "percent": 18.0, "rate_per_sec": 0.56, "eta_seconds": 5.0}
{"ts": "2026-08-10T15:47:09.703473+00:00", "event": "phase_progress", "phase": "3_extract", "done": 12, "total": 61, "percent": 19.7, "rate_per_sec": 0.59, "eta_seconds": 4.9}
{"ts": "2026-08-10T15:47:10.169485+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 12, "total": 61, "url": "https://threejs.org/manual/en/indexed-textures.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:10.832458+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 12, "total": 61, "url": "https://threejs.org/manual/en/canvas-textures.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:10.988795+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 12, "total": 61, "url": "https://threejs.org/manual/en/align-html-elements-to-3d.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.009800+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 12, "total": 61, "url": "https://threejs.org/manual/en/billboards.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.189537+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 12, "total": 61, "url": "https://threejs.org/manual/en/cleanup.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.329776+00:00", "event": "phase_progress", "phase": "3_extract", "done": 13, "total": 61, "percent": 21.3, "rate_per_sec": 0.59, "eta_seconds": 4.8}
{"ts": "2026-08-10T15:47:11.391577+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/webgpu-postprocessing.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.396879+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/webgpurenderer.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.418678+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/webxr-basics.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.422426+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/webxr-look-to-select.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.460191+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/webxr-point-to-select.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:11.498899+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/game.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:12.056680+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 13, "total": 61, "url": "https://threejs.org/manual/en/voxel-geometry.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:12.482921+00:00", "event": "phase_progress", "phase": "3_extract", "done": 14, "total": 61, "percent": 23.0, "rate_per_sec": 0.6, "eta_seconds": 4.7}
{"ts": "2026-08-10T15:47:13.005487+00:00", "event": "crawl_page_completed", "phase": "2_crawl", "done": 14, "total": 61, "url": "https://threejs.org/manual/en/material-table.html", "success": true, "error": ""}
{"ts": "2026-08-10T15:47:14.440007+00:00", "event": "phase_progress", "phase": "3_extract", "done": 15, "total": 61, "percent": 24.6, "rate_per_sec": 0.6, "eta_seconds": 4.6}
{"ts": "2026-08-10T15:47:15.710010+00:00", "event": "phase_progress", "phase": "3_extract", "done": 16, "total": 61, "percent": 26.2, "rate_per_sec": 0.61, "eta_seconds": 4.5}
{"ts": "2026-08-10T15:47:15.728448+00:00", "event": "phase_progress", "phase": "3_extract", "done": 17, "total": 61, "percent": 27.9, "rate_per_sec": 0.64, "eta_seconds": 4.4}
{"ts": "2026-08-10T15:47:17.764922+00:00", "event": "phase_progress", "phase": "3_extract", "done": 18, "total": 61, "percent": 29.5, "rate_per_sec": 0.63, "eta_seconds": 4.3}
{"ts": "2026-08-10T15:47:19.185967+00:00", "event": "phase_progress", "phase": "3_extract", "done": 19, "total": 61, "percent": 31.1, "rate_per_sec": 0.64, "eta_seconds": 4.2}
{"ts": "2026-08-10T15:47:19.481234+00:00", "event": "phase_progress", "phase": "3_extract", "done": 20, "total": 61, "percent": 32.8, "rate_per_sec": 0.66, "eta_seconds": 4.1}
{"ts": "2026-08-10T15:47:20.451242+00:00", "event": "phase_progress", "phase": "3_extract", "done": 21, "total": 61, "percent": 34.4, "rate_per_sec": 0.67, "eta_seconds": 4.0}
{"ts": "2026-08-10T15:47:20.636400+00:00", "event": "phase_progress", "phase": "3_extract", "done": 22, "total": 61, "percent": 36.1, "rate_per_sec": 0.7, "eta_seconds": 3.9}
{"ts": "2026-08-10T15:47:24.629706+00:00", "event": "phase_progress", "phase": "3_extract", "done": 23, "total": 61, "percent": 37.7, "rate_per_sec": 0.65, "eta_seconds": 3.8}
{"ts": "2026-08-10T15:47:31.138824+00:00", "event": "phase_progress", "phase": "3_extract", "done": 24, "total": 61, "percent": 39.3, "rate_per_sec": 0.57, "eta_seconds": 3.7}
{"ts": "2026-08-10T15:47:32.008451+00:00", "event": "phase_progress", "phase": "3_extract", "done": 25, "total": 61, "percent": 41.0, "rate_per_sec": 0.59, "eta_seconds": 3.6}
{"ts": "2026-08-10T15:47:35.532714+00:00", "event": "phase_progress", "phase": "3_extract", "done": 26, "total": 61, "percent": 42.6, "rate_per_sec": 0.56, "eta_seconds": 3.5}
{"ts": "2026-08-10T15:47:36.633502+00:00", "event": "phase_progress", "phase": "3_extract", "done": 27, "total": 61, "percent": 44.3, "rate_per_sec": 0.57, "eta_seconds": 3.4}
{"ts": "2026-08-10T15:47:41.097707+00:00", "event": "phase_progress", "phase": "3_extract", "done": 28, "total": 61, "percent": 45.9, "rate_per_sec": 0.54, "eta_seconds": 3.3}
{"ts": "2026-08-10T15:47:41.858720+00:00", "event": "phase_progress", "phase": "3_extract", "done": 29, "total": 61, "percent": 47.5, "rate_per_sec": 0.55, "eta_seconds": 3.2}
{"ts": "2026-08-10T15:47:45.068507+00:00", "event": "phase_progress", "phase": "3_extract", "done": 30, "total": 61, "percent": 49.2, "rate_per_sec": 0.54, "eta_seconds": 3.1}
{"ts": "2026-08-10T15:47:46.531244+00:00", "event": "phase_progress", "phase": "3_extract", "done": 31, "total": 61, "percent": 50.8, "rate_per_sec": 0.54, "eta_seconds": 3.0}
{"ts": "2026-08-10T15:47:51.330586+00:00", "event": "phase_progress", "phase": "3_extract", "done": 32, "total": 61, "percent": 52.5, "rate_per_sec": 0.52, "eta_seconds": 2.9}
{"ts": "2026-08-10T15:47:51.757907+00:00", "event": "phase_progress", "phase": "3_extract", "done": 33, "total": 61, "percent": 54.1, "rate_per_sec": 0.53, "eta_seconds": 2.8}
{"ts": "2026-08-10T15:47:53.012002+00:00", "event": "phase_progress", "phase": "3_extract", "done": 34, "total": 61, "percent": 55.7, "rate_per_sec": 0.53, "eta_seconds": 2.7}
{"ts": "2026-08-10T15:47:54.555104+00:00", "event": "phase_progress", "phase": "3_extract", "done": 35, "total": 61, "percent": 57.4, "rate_per_sec": 0.54, "eta_seconds": 2.6}
{"ts": "2026-08-10T15:47:56.113705+00:00", "event": "phase_progress", "phase": "3_extract", "done": 36, "total": 61, "percent": 59.0, "rate_per_sec": 0.54, "eta_seconds": 2.5}
{"ts": "2026-08-10T15:47:56.331242+00:00", "event": "phase_progress", "phase": "3_extract", "done": 37, "total": 61, "percent": 60.7, "rate_per_sec": 0.55, "eta_seconds": 2.4}
{"ts": "2026-08-10T15:47:58.295476+00:00", "event": "phase_progress", "phase": "3_extract", "done": 38, "total": 61, "percent": 62.3, "rate_per_sec": 0.55, "eta_seconds": 2.3}
{"ts": "2026-08-10T15:47:58.492829+00:00", "event": "phase_progress", "phase": "3_extract", "done": 39, "total": 61, "percent": 63.9, "rate_per_sec": 0.56, "eta_seconds": 2.2}
{"ts": "2026-08-10T15:47:58.846159+00:00", "event": "phase_progress", "phase": "3_extract", "done": 40, "total": 61, "percent": 65.6, "rate_per_sec": 0.58, "eta_seconds": 2.1}
{"ts": "2026-08-10T15:48:01.888098+00:00", "event": "phase_progress", "phase": "3_extract", "done": 41, "total": 61, "percent": 67.2, "rate_per_sec": 0.56, "eta_seconds": 2.0}
{"ts": "2026-08-10T15:48:01.908554+00:00", "event": "phase_progress", "phase": "3_extract", "done": 42, "total": 61, "percent": 68.9, "rate_per_sec": 0.58, "eta_seconds": 1.9}
{"ts": "2026-08-10T15:48:02.711058+00:00", "event": "phase_progress", "phase": "3_extract", "done": 43, "total": 61, "percent": 70.5, "rate_per_sec": 0.59, "eta_seconds": 1.8}
{"ts": "2026-08-10T15:48:05.314352+00:00", "event": "phase_progress", "phase": "3_extract", "done": 44, "total": 61, "percent": 72.1, "rate_per_sec": 0.58, "eta_seconds": 1.7}
{"ts": "2026-08-10T15:48:06.762696+00:00", "event": "phase_progress", "phase": "3_extract", "done": 45, "total": 61, "percent": 73.8, "rate_per_sec": 0.58, "eta_seconds": 1.6}
{"ts": "2026-08-10T15:48:09.161439+00:00", "event": "phase_progress", "phase": "3_extract", "done": 46, "total": 61, "percent": 75.4, "rate_per_sec": 0.58, "eta_seconds": 1.5}
{"ts": "2026-08-10T15:48:12.351659+00:00", "event": "phase_progress", "phase": "3_extract", "done": 47, "total": 61, "percent": 77.0, "rate_per_sec": 0.57, "eta_seconds": 1.4}
{"ts": "2026-08-10T15:48:13.095800+00:00", "event": "phase_progress", "phase": "3_extract", "done": 48, "total": 61, "percent": 78.7, "rate_per_sec": 0.57, "eta_seconds": 1.3}
{"ts": "2026-08-10T15:48:17.728620+00:00", "event": "phase_progress", "phase": "3_extract", "done": 49, "total": 61, "percent": 80.3, "rate_per_sec": 0.55, "eta_seconds": 1.2}
{"ts": "2026-08-10T15:48:20.986546+00:00", "event": "phase_progress", "phase": "3_extract", "done": 50, "total": 61, "percent": 82.0, "rate_per_sec": 0.55, "eta_seconds": 1.1}
{"ts": "2026-08-10T15:48:21.752009+00:00", "event": "phase_progress", "phase": "3_extract", "done": 51, "total": 61, "percent": 83.6, "rate_per_sec": 0.55, "eta_seconds": 1.0}
{"ts": "2026-08-10T15:48:30.845056+00:00", "event": "phase_progress", "phase": "3_extract", "done": 52, "total": 61, "percent": 85.2, "rate_per_sec": 0.51, "eta_seconds": 0.9}
{"ts": "2026-08-10T15:48:39.067255+00:00", "event": "phase_progress", "phase": "3_extract", "done": 53, "total": 61, "percent": 86.9, "rate_per_sec": 0.48, "eta_seconds": 0.8}
{"ts": "2026-08-10T15:48:41.468601+00:00", "event": "phase_progress", "phase": "3_extract", "done": 54, "total": 61, "percent": 88.5, "rate_per_sec": 0.48, "eta_seconds": 0.7}
{"ts": "2026-08-10T15:48:41.950124+00:00", "event": "phase_progress", "phase": "3_extract", "done": 55, "total": 61, "percent": 90.2, "rate_per_sec": 0.49, "eta_seconds": 0.6}
{"ts": "2026-08-10T15:48:45.111889+00:00", "event": "phase_progress", "phase": "3_extract", "done": 56, "total": 61, "percent": 91.8, "rate_per_sec": 0.48, "eta_seconds": 0.5}
{"ts": "2026-08-10T15:49:09.338505+00:00", "event": "phase_progress", "phase": "3_extract", "done": 57, "total": 61, "percent": 93.4, "rate_per_sec": 0.41, "eta_seconds": 0.4}
{"ts": "2026-08-10T15:49:16.100824+00:00", "event": "phase_progress", "phase": "3_extract", "done": 58, "total": 61, "percent": 95.1, "rate_per_sec": 0.4, "eta_seconds": 0.3}
{"ts": "2026-08-10T15:49:16.698851+00:00", "event": "phase_progress", "phase": "3_extract", "done": 59, "total": 61, "percent": 96.7, "rate_per_sec": 0.4, "eta_seconds": 0.2}
{"ts": "2026-08-10T15:51:00.047785+00:00", "event": "phase_progress", "phase": "3_extract", "done": 60, "total": 61, "percent": 98.4, "rate_per_sec": 0.24, "eta_seconds": 0.1}
{"ts": "2026-08-10T15:51:04.989198+00:00", "event": "phase_progress", "phase": "3_extract", "done": 61, "total": 61, "percent": 100.0, "rate_per_sec": 0.24, "eta_seconds": 0.0}
{"ts": "2026-08-10T15:51:04.991246+00:00", "event": "phase_completed", "phase": "2_crawl", "done": 61, "total": 61}
{"ts": "2026-08-10T15:51:04.991399+00:00", "event": "phase_completed", "phase": "3_extract", "done": 61, "total": 61}
{"ts": "2026-08-10T15:51:27.506637+00:00", "event": "pdf_chunked_render_started", "chunks": 14, "parallel_renderers": 2}
{"ts": "2026-08-10T15:51:30.136860+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-002-getting-started", "worker": 1}
{"ts": "2026-08-10T15:51:30.211699+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-001-introduction", "worker": 0}
{"ts": "2026-08-10T15:51:30.680780+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-001-introduction", "worker": 0, "page_count": 17}
{"ts": "2026-08-10T15:51:30.681960+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-002-getting-started", "worker": 1, "page_count": 26}
{"ts": "2026-08-10T15:51:30.682342+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-003-fundamentals", "worker": 0}
{"ts": "2026-08-10T15:51:30.682377+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-004-core-features", "worker": 1}
{"ts": "2026-08-10T15:51:31.395600+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-003-fundamentals", "worker": 0, "page_count": 44}
{"ts": "2026-08-10T15:51:31.395800+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-005-loading-3d-models", "worker": 0}
{"ts": "2026-08-10T15:51:31.612051+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-004-core-features", "worker": 1, "page_count": 83}
{"ts": "2026-08-10T15:51:31.612279+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-006-advanced-rendering", "worker": 1}
{"ts": "2026-08-10T15:51:31.750109+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-005-loading-3d-models", "worker": 0, "page_count": 31}
{"ts": "2026-08-10T15:51:31.750296+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-007-physics-games-interaction", "worker": 0}
{"ts": "2026-08-10T15:51:32.520955+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-006-advanced-rendering", "worker": 1, "page_count": 32}
{"ts": "2026-08-10T15:51:32.521159+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-008-webgpu", "worker": 1}
{"ts": "2026-08-10T15:51:32.711231+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-008-webgpu", "worker": 1, "page_count": 8}
{"ts": "2026-08-10T15:51:32.711596+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-010-optimization-performance", "worker": 1}
{"ts": "2026-08-10T15:51:33.115255+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-007-physics-games-interaction", "worker": 0, "page_count": 105}
{"ts": "2026-08-10T15:51:33.115586+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-009-virtual-reality", "worker": 0}
{"ts": "2026-08-10T15:51:33.566991+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-010-optimization-performance", "worker": 1, "page_count": 69}
{"ts": "2026-08-10T15:51:33.567692+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-012-maintenance-debugging", "worker": 1}
{"ts": "2026-08-10T15:51:33.587714+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-009-virtual-reality", "worker": 0, "page_count": 28}
{"ts": "2026-08-10T15:51:33.588397+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-011-ux-ui-integration", "worker": 0}
{"ts": "2026-08-10T15:51:33.942414+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-012-maintenance-debugging", "worker": 1, "page_count": 29}
{"ts": "2026-08-10T15:51:33.942732+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-014-reference", "worker": 1}
{"ts": "2026-08-10T15:51:34.023018+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-011-ux-ui-integration", "worker": 0, "page_count": 30}
{"ts": "2026-08-10T15:51:34.024192+00:00", "event": "pdf_chunk_render_started", "chunk_id": "chunk-013-compatibility-faq", "worker": 0}
{"ts": "2026-08-10T15:51:34.155500+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-014-reference", "worker": 1, "page_count": 14}
{"ts": "2026-08-10T15:51:34.160399+00:00", "event": "pdf_chunk_render_complete", "chunk_id": "chunk-013-compatibility-faq", "worker": 0, "page_count": 3}
{"ts": "2026-08-10T15:51:34.801780+00:00", "event": "pdf_chunked_render_complete", "total_chunks": 14, "total_render_seconds": 7.957, "merged_pages": 519}
{"ts": "2026-08-10T15:51:35.795457+00:00", "event": "phase_completed", "phase": "4_build"}
{"ts": "2026-08-10T15:51:35.857459+00:00", "event": "phase_completed", "phase": "5_rag_export"}
{"ts": "2026-08-10T15:52:29.260422+00:00", "event": "job_completed", "run_id": "d2f4e374-3c23-4ed7-8015-fa9c7ee0b59c", "status": "ok", "duration_seconds": 357.4}
