LICENSE
README.md
pyproject.toml
src/rhr/__init__.py
src/rhr/__main__.py
src/rhr/adapter.py
src/rhr/browser_daemon.py
src/rhr/browser_render.py
src/rhr/browser_session.py
src/rhr/browsers.py
src/rhr/cache.py
src/rhr/cdp.py
src/rhr/checks.py
src/rhr/cli.py
src/rhr/client.py
src/rhr/devices.py
src/rhr/diff.py
src/rhr/fetch.py
src/rhr/hitmap.py
src/rhr/icons.py
src/rhr/insets.py
src/rhr/inspect.py
src/rhr/ir.py
src/rhr/layout_dump.py
src/rhr/listing.py
src/rhr/lune_worker.py
src/rhr/paths.py
src/rhr/picture.py
src/rhr/pipeline.py
src/rhr/procs.py
src/rhr/profile.py
src/rhr/project.py
src/rhr/rbxl_raw.py
src/rhr/remote.py
src/rhr/rojo.py
src/rhr/scene.py
src/rhr/scene_dump.py
src/rhr/schema.py
src/rhr/server.py
src/rhr/story.py
src/rhr/studio.py
src/rhr/terrain.py
src/rhr/tools.py
src/rhr/ui_layout.py
src/rhr/unions.py
src/rhr/view.py
src/rhr/fonts/OFL.txt
src/rhr/fonts/Roboto-Bold.ttf
src/rhr/fonts/Roboto-Italic.ttf
src/rhr/fonts/Roboto-LICENSE.txt
src/rhr/fonts/Roboto-Medium.ttf
src/rhr/fonts/Roboto-Regular.ttf
src/rhr/fonts/SourceSansPro-Bold.ttf
src/rhr/fonts/SourceSansPro-Italic.ttf
src/rhr/fonts/SourceSansPro-Light.ttf
src/rhr/fonts/SourceSansPro-Regular.ttf
src/rhr/fonts/SourceSansPro-Semibold.ttf
src/rhr/luau/fetch-locations.luau
src/rhr/luau/rhr-ir-serve.luau
src/rhr/luau/rhr-ir.luau
src/rhr/luau/story-runtime.luau
src/rhr/particles/sim.js
src/rhr/rbx/__init__.py
src/rhr/rbx/binary.py
src/rhr/rbx/emit.py
src/rhr/rbx/props.py
src/rhr/rbx/reflection.json.gz
src/rhr/rbx/reflection.py
src/rhr/rbx/tables.py
src/rhr/scene/index.html
src/rhr/scene/roblox_materials.json
src/rhr/scene/scene.js
src/rhr/scene/materials/Asphalt.jpg
src/rhr/scene/materials/Asphalt_n.jpg
src/rhr/scene/materials/Basalt.jpg
src/rhr/scene/materials/Basalt_n.jpg
src/rhr/scene/materials/Brick.jpg
src/rhr/scene/materials/Brick_n.jpg
src/rhr/scene/materials/Cardboard.jpg
src/rhr/scene/materials/Cardboard_n.jpg
src/rhr/scene/materials/Carpet.jpg
src/rhr/scene/materials/Carpet_n.jpg
src/rhr/scene/materials/CeramicTiles.jpg
src/rhr/scene/materials/CeramicTiles_n.jpg
src/rhr/scene/materials/ClayRoofTiles.jpg
src/rhr/scene/materials/ClayRoofTiles_n.jpg
src/rhr/scene/materials/Cobblestone.jpg
src/rhr/scene/materials/Cobblestone_n.jpg
src/rhr/scene/materials/Concrete.jpg
src/rhr/scene/materials/Concrete_n.jpg
src/rhr/scene/materials/CorrodedMetal.jpg
src/rhr/scene/materials/CorrodedMetal_n.jpg
src/rhr/scene/materials/CrackedLava.jpg
src/rhr/scene/materials/CrackedLava_n.jpg
src/rhr/scene/materials/DiamondPlate.jpg
src/rhr/scene/materials/DiamondPlate_n.jpg
src/rhr/scene/materials/Fabric.jpg
src/rhr/scene/materials/Fabric_n.jpg
src/rhr/scene/materials/Foil.jpg
src/rhr/scene/materials/Foil_n.jpg
src/rhr/scene/materials/Glacier.jpg
src/rhr/scene/materials/Glacier_n.jpg
src/rhr/scene/materials/Granite.jpg
src/rhr/scene/materials/Granite_n.jpg
src/rhr/scene/materials/Grass.jpg
src/rhr/scene/materials/Grass_n.jpg
src/rhr/scene/materials/Ground.jpg
src/rhr/scene/materials/Ground_n.jpg
src/rhr/scene/materials/Ice.jpg
src/rhr/scene/materials/Ice_n.jpg
src/rhr/scene/materials/LeafyGrass.jpg
src/rhr/scene/materials/LeafyGrass_n.jpg
src/rhr/scene/materials/Leather.jpg
src/rhr/scene/materials/Leather_n.jpg
src/rhr/scene/materials/Limestone.jpg
src/rhr/scene/materials/Limestone_n.jpg
src/rhr/scene/materials/Marble.jpg
src/rhr/scene/materials/Marble_n.jpg
src/rhr/scene/materials/Metal.jpg
src/rhr/scene/materials/Metal_n.jpg
src/rhr/scene/materials/Mud.jpg
src/rhr/scene/materials/Mud_n.jpg
src/rhr/scene/materials/Pavement.jpg
src/rhr/scene/materials/Pavement_n.jpg
src/rhr/scene/materials/Pebble.jpg
src/rhr/scene/materials/Pebble_n.jpg
src/rhr/scene/materials/Plaster.jpg
src/rhr/scene/materials/Plaster_n.jpg
src/rhr/scene/materials/Rock.jpg
src/rhr/scene/materials/Rock_n.jpg
src/rhr/scene/materials/RoofShingles.jpg
src/rhr/scene/materials/RoofShingles_n.jpg
src/rhr/scene/materials/Rubber.jpg
src/rhr/scene/materials/Rubber_n.jpg
src/rhr/scene/materials/Sand.jpg
src/rhr/scene/materials/Sand_n.jpg
src/rhr/scene/materials/Sandstone.jpg
src/rhr/scene/materials/Sandstone_n.jpg
src/rhr/scene/materials/Slate.jpg
src/rhr/scene/materials/Slate_n.jpg
src/rhr/scene/materials/Snow.jpg
src/rhr/scene/materials/Snow_n.jpg
src/rhr/scene/materials/Wood.jpg
src/rhr/scene/materials/WoodPlanks.jpg
src/rhr/scene/materials/WoodPlanks_n.jpg
src/rhr/scene/materials/Wood_n.jpg
src/rhr/scene/materials/credits.json
src/rhr/skill/SKILL.md
src/rhr/ui_engine/LICENSE
src/rhr/ui_engine/THIRD_PARTY_NOTICES.md
src/rhr/ui_engine/__init__.py
src/rhr/ui_engine/asset_fetcher.py
src/rhr/ui_engine/assets.py
src/rhr/ui_engine/converter.py
src/rhr/ui_engine/font_assets.py
src/rhr/ui_engine/hit_test.py
src/rhr/ui_engine/layout.py
src/rhr/ui_engine/postprocess.py
src/rhr/ui_engine/renderer.py
src/rhr/ui_engine/text.py
src/rhr/ui_engine/text_advances.py
src/rhr/ui_engine/text_constants.py
src/rhr/ui_engine/text_fit.py
src/rhr/ui_engine/text_fonts.py
src/rhr/ui_engine/text_renderers.py
src/rhr/ui_engine/text_rich.py
src/rhr/ui_engine/text_runs.py
src/rhr/ui_engine/visuals.py
src/rhr/ui_engine/data/font_advances_FredokaOne.json
src/rhr/ui_engine/fonts/Bangers.ttf
src/rhr/ui_engine/fonts/Creepster.ttf
src/rhr/ui_engine/fonts/FredokaOne-Regular.ttf
src/rhr/ui_engine/fonts/FredokaOne.ttf
src/rhr/ui_engine/fonts/Inconsolata.ttf
src/rhr/ui_engine/fonts/IndieFlower.ttf
src/rhr/ui_engine/fonts/Jura.ttf
src/rhr/ui_engine/fonts/Kalam.ttf
src/rhr/ui_engine/fonts/LuckiestGuy.ttf
src/rhr/ui_engine/fonts/Merriweather.ttf
src/rhr/ui_engine/fonts/Montserrat-Black.ttf
src/rhr/ui_engine/fonts/Montserrat-Bold.ttf
src/rhr/ui_engine/fonts/Montserrat-Medium.ttf
src/rhr/ui_engine/fonts/Montserrat-Regular.ttf
src/rhr/ui_engine/fonts/Montserrat.ttf
src/rhr/ui_engine/fonts/Nunito.ttf
src/rhr/ui_engine/fonts/Oswald.ttf
src/rhr/ui_engine/fonts/PatrickHand.ttf
src/rhr/ui_engine/fonts/PermanentMarker.ttf
src/rhr/ui_engine/fonts/PressStart2P-Regular.ttf
src/rhr/ui_engine/fonts/PressStart2P.ttf
src/rhr/ui_engine/fonts/Roboto.ttf
src/rhr/ui_engine/fonts/Sarpanch.ttf
src/rhr/ui_engine/fonts/SourceCodePro.ttf
src/rhr/ui_engine/fonts/SourceSansPro.ttf
src/rhr/ui_engine/fonts/TitilliumWeb.ttf
src/rhr/ui_engine/fonts/TwemojiMozilla.ttf
src/rhr/ui_engine/fonts/Ubuntu.ttf
src/rhr/vendor/VENDOR.md
src/rhr/vendor/draco/LICENSE
src/rhr/vendor/draco/README.md
src/rhr/vendor/draco/draco_decoder.wasm
src/rhr/vendor/draco/draco_wasm_wrapper.js
src/rhr/vendor/licenses/CC-BY-4.0.txt
src/rhr/vendor/licenses/OFL-1.1.txt
src/rhr/vendor/licenses/README.md
src/rhr/vendor/licenses/UBUNTU-FONT-LICENCE-1.0.txt
src/rhr/vendor/three/LICENSE
src/rhr/vendor/three/three.core.js
src/rhr/vendor/three/three.module.js
src/rhr/vendor/three/lights/SunLight.js
src/rhr/vendor/three/lights/SunLightShadow.js
src/roblox_headless_renderer.egg-info/PKG-INFO
src/roblox_headless_renderer.egg-info/SOURCES.txt
src/roblox_headless_renderer.egg-info/dependency_links.txt
src/roblox_headless_renderer.egg-info/entry_points.txt
src/roblox_headless_renderer.egg-info/requires.txt
src/roblox_headless_renderer.egg-info/top_level.txt
tests/test_assets.py
tests/test_batch.py
tests/test_billboard.py
tests/test_browser_lifetime.py
tests/test_browser_session.py
tests/test_browsers.py
tests/test_cache.py
tests/test_checks.py
tests/test_cli.py
tests/test_cli_args.py
tests/test_compare.py
tests/test_contract.py
tests/test_decal_faces.py
tests/test_devices.py
tests/test_effect_light_influence.py
tests/test_fetch_batch.py
tests/test_fixtures.py
tests/test_groundtruth_diff.py
tests/test_group_color.py
tests/test_hitmap.py
tests/test_icons.py
tests/test_identity.py
tests/test_insets.py
tests/test_inspect.py
tests/test_ir_cache.py
tests/test_ir_profiles.py
tests/test_ir_props.py
tests/test_kept_page.py
tests/test_large_place.py
tests/test_layout_dump.py
tests/test_layout_dump_rich.py
tests/test_line_height.py
tests/test_mesh_assets.py
tests/test_output_budget.py
tests/test_particle_data.py
tests/test_particles.py
tests/test_picture.py
tests/test_place_realism.py
tests/test_preview.py
tests/test_preview_particles.py
tests/test_project.py
tests/test_rbx_reader.py
tests/test_rbxl_raw.py
tests/test_remote.py
tests/test_resample_mode.py
tests/test_ribbon_textures.py
tests/test_roblox_assets.py
tests/test_rojo.py
tests/test_scene.py
tests/test_scene_atmosphere.py
tests/test_scene_beam.py
tests/test_scene_character.py
tests/test_scene_clouds.py
tests/test_scene_controls.py
tests/test_scene_decal.py
tests/test_scene_dump.py
tests/test_scene_foundation.py
tests/test_scene_framing.py
tests/test_scene_highlight.py
tests/test_scene_lighting.py
tests/test_scene_lights.py
tests/test_scene_many_shadows.py
tests/test_scene_material_textures.py
tests/test_scene_materials.py
tests/test_scene_meshpart.py
tests/test_scene_model_scale.py
tests/test_scene_post.py
tests/test_scene_primitives.py
tests/test_scene_shadows.py
tests/test_scene_sky.py
tests/test_scene_sky_light.py
tests/test_scene_specialmesh.py
tests/test_scene_sun_rays.py
tests/test_scene_texture.py
tests/test_scene_trail.py
tests/test_scene_vfx.py
tests/test_scene_view.py
tests/test_scene_views.py
tests/test_scene_wedge_orientation.py
tests/test_schema.py
tests/test_screens.py
tests/test_scroll_scale.py
tests/test_server.py
tests/test_show_only.py
tests/test_story.py
tests/test_studio_smoke.py
tests/test_studio_truth.py
tests/test_surface.py
tests/test_surface_gui_faces.py
tests/test_symbol_fallback.py
tests/test_terrain.py
tests/test_text_ink_and_billboard_overflow.py
tests/test_text_newlines.py
tests/test_text_overflow.py
tests/test_textscaled.py
tests/test_textscaled_stroke.py
tests/test_tools.py
tests/test_view.py
tests/test_viewport_frame.py
tests/test_visual_gallery.py